Update V8 to r4588
We're using WebKit r58033, as used by
http://src.chromium.org/svn/releases/5.0.387.0/DEPS
This requires http://v8.googlecode.com/svn/trunk@4465 but this version has a
crashing bug for ARM. Instead we use http://v8.googlecode.com/svn/trunk@4588,
which is used by http://src.chromium.org/svn/releases/6.0.399.0/DEPS
Note that a trivial bug fix was required in arm/codegen-arm.cc. This is guarded
with ANDROID. See http://code.google.com/p/v8/issues/detail?id=703
Change-Id: I459647a8286c4f8c7405f0c5581ecbf051a6f1e8
diff --git a/src/factory.h b/src/factory.h
index 2a347cd..8a190fa 100644
--- a/src/factory.h
+++ b/src/factory.h
@@ -30,11 +30,12 @@
#include "globals.h"
#include "heap.h"
-#include "zone-inl.h"
namespace v8 {
namespace internal {
+// Forward declarations.
+class ZoneScopeInfo;
// Interface for handle based allocation.
@@ -46,7 +47,9 @@
PretenureFlag pretenure = NOT_TENURED);
// Allocate a new fixed array with non-existing entries (the hole).
- static Handle<FixedArray> NewFixedArrayWithHoles(int size);
+ static Handle<FixedArray> NewFixedArrayWithHoles(
+ int size,
+ PretenureFlag pretenure = NOT_TENURED);
static Handle<NumberDictionary> NewNumberDictionary(int at_least_space_for);
@@ -215,10 +218,17 @@
static Handle<JSFunction> NewFunction(Handle<String> name,
Handle<Object> prototype);
+ static Handle<JSFunction> NewFunctionWithoutPrototype(Handle<String> name);
+
static Handle<JSFunction> NewFunction(Handle<Object> super, bool is_global);
- static Handle<JSFunction> NewFunctionFromBoilerplate(
- Handle<JSFunction> boilerplate,
+ static Handle<JSFunction> BaseNewFunctionFromSharedFunctionInfo(
+ Handle<SharedFunctionInfo> function_info,
+ Handle<Map> function_map,
+ PretenureFlag pretenure);
+
+ static Handle<JSFunction> NewFunctionFromSharedFunctionInfo(
+ Handle<SharedFunctionInfo> function_info,
Handle<Context> context,
PretenureFlag pretenure = TENURED);
@@ -229,6 +239,8 @@
static Handle<Code> CopyCode(Handle<Code> code);
+ static Handle<Code> CopyCode(Handle<Code> code, Vector<byte> reloc_info);
+
static Handle<Object> ToObject(Handle<Object> object);
static Handle<Object> ToObject(Handle<Object> object,
Handle<Context> global_context);
@@ -270,12 +282,6 @@
Handle<Code> code,
bool force_initial_map);
- static Handle<JSFunction> NewFunctionBoilerplate(Handle<String> name,
- int number_of_literals,
- Handle<Code> code);
-
- static Handle<JSFunction> NewFunctionBoilerplate(Handle<String> name);
-
static Handle<JSFunction> NewFunction(Handle<Map> function_map,
Handle<SharedFunctionInfo> shared, Handle<Object> prototype);
@@ -287,6 +293,9 @@
Handle<Code> code,
bool force_initial_map);
+ static Handle<JSFunction> NewFunctionWithoutPrototype(Handle<String> name,
+ Handle<Code> code);
+
static Handle<DescriptorArray> CopyAppendProxyDescriptor(
Handle<DescriptorArray> array,
Handle<String> key,
@@ -316,7 +325,7 @@
#define ROOT_ACCESSOR(type, name, camel_name) \
static inline Handle<type> name() { \
- return Handle<type>(bit_cast<type**, Object**>( \
+ return Handle<type>(BitCast<type**, Object**>( \
&Heap::roots_[Heap::k##camel_name##RootIndex])); \
}
ROOT_LIST(ROOT_ACCESSOR)
@@ -324,7 +333,7 @@
#define SYMBOL_ACCESSOR(name, str) \
static inline Handle<String> name() { \
- return Handle<String>(bit_cast<String**, Object**>( \
+ return Handle<String>(BitCast<String**, Object**>( \
&Heap::roots_[Heap::k##name##RootIndex])); \
}
SYMBOL_LIST(SYMBOL_ACCESSOR)
@@ -334,6 +343,8 @@
return Handle<String>(&Heap::hidden_symbol_);
}
+ static Handle<SharedFunctionInfo> NewSharedFunctionInfo(
+ Handle<String> name, int number_of_literals, Handle<Code> code);
static Handle<SharedFunctionInfo> NewSharedFunctionInfo(Handle<String> name);
static Handle<NumberDictionary> DictionaryAtNumberPut(
@@ -370,15 +381,13 @@
static Handle<JSFunction> NewFunctionHelper(Handle<String> name,
Handle<Object> prototype);
+ static Handle<JSFunction> NewFunctionWithoutPrototypeHelper(
+ Handle<String> name);
+
static Handle<DescriptorArray> CopyAppendCallbackDescriptors(
Handle<DescriptorArray> array,
Handle<Object> descriptors);
- static Handle<JSFunction> BaseNewFunctionFromBoilerplate(
- Handle<JSFunction> boilerplate,
- Handle<Map> function_map,
- PretenureFlag pretenure);
-
// Create a new map cache.
static Handle<MapCache> NewMapCache(int at_least_space_for);