diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index 36ed4fcdbc..07859597bf 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,17 @@ +2010-10-27: Version 2.5.2 + + Improved sampler resolution on Linux. + + Allowed forcing the use of a simulator from the build script + independently of the host architecture. + + Fixed FreeBSD port (Issue 912). + + Made windows-tick-processor respect D8_PATH. + + Implemented --noinline-new flag fully on IA32, X64 and ARM platforms. + + 2010-10-20: Version 2.5.1 Fixed bug causing spurious out of memory exceptions diff --git a/deps/v8/SConstruct b/deps/v8/SConstruct index 05213fba7f..7107e917df 100644 --- a/deps/v8/SConstruct +++ b/deps/v8/SConstruct @@ -207,7 +207,6 @@ LIBRARY_FLAGS = { 'simulator:arm': { 'CCFLAGS': ['-m32'], 'LINKFLAGS': ['-m32'], - 'CPPDEFINES': ['USE_SIMULATOR'] }, 'arch:mips': { 'CPPDEFINES': ['V8_TARGET_ARCH_MIPS'], @@ -219,7 +218,6 @@ LIBRARY_FLAGS = { 'simulator:mips': { 'CCFLAGS': ['-m32'], 'LINKFLAGS': ['-m32'], - 'CPPDEFINES': ['USE_SIMULATOR'] }, 'arch:x64': { 'CPPDEFINES': ['V8_TARGET_ARCH_X64'], diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index ef9a41168c..89502cb915 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -467,16 +467,21 @@ class V8EXPORT HandleScope { // typedef in the ImplementationUtilities class. class V8EXPORT Data { public: - int extensions; internal::Object** next; internal::Object** limit; + int level; + inline void Initialize() { - extensions = -1; next = limit = NULL; + level = 0; } }; + + void Leave(); - Data previous_; + + internal::Object** prev_next_; + internal::Object** prev_limit_; // Allow for the active closing of HandleScopes which allows to pass a handle // from the HandleScope being closed to the next top most HandleScope. diff --git a/deps/v8/src/accessors.cc b/deps/v8/src/accessors.cc index 3c49846601..7c21659ebc 100644 --- a/deps/v8/src/accessors.cc +++ b/deps/v8/src/accessors.cc @@ -50,7 +50,7 @@ static C* FindInPrototypeChain(Object* obj, bool* found_it) { // Entry point that never should be called. -Object* Accessors::IllegalSetter(JSObject*, Object*, void*) { +MaybeObject* Accessors::IllegalSetter(JSObject*, Object*, void*) { UNREACHABLE(); return NULL; } @@ -62,7 +62,7 @@ Object* Accessors::IllegalGetAccessor(Object* object, void*) { } -Object* Accessors::ReadOnlySetAccessor(JSObject*, Object* value, void*) { +MaybeObject* Accessors::ReadOnlySetAccessor(JSObject*, Object* value, void*) { // According to ECMA-262, section 8.6.2.2, page 28, setting // read-only properties must be silently ignored. return value; @@ -74,7 +74,7 @@ Object* Accessors::ReadOnlySetAccessor(JSObject*, Object* value, void*) { // -Object* Accessors::ArrayGetLength(Object* object, void*) { +MaybeObject* Accessors::ArrayGetLength(Object* object, void*) { // Traverse the prototype chain until we reach an array. bool found_it = false; JSArray* holder = FindInPrototypeChain(object, &found_it); @@ -96,7 +96,7 @@ Object* Accessors::FlattenNumber(Object* value) { } -Object* Accessors::ArraySetLength(JSObject* object, Object* value, void*) { +MaybeObject* Accessors::ArraySetLength(JSObject* object, Object* value, void*) { value = FlattenNumber(value); // Need to call methods that may trigger GC. @@ -144,7 +144,7 @@ const AccessorDescriptor Accessors::ArrayLength = { // -Object* Accessors::StringGetLength(Object* object, void*) { +MaybeObject* Accessors::StringGetLength(Object* object, void*) { Object* value = object; if (object->IsJSValue()) value = JSValue::cast(object)->value(); if (value->IsString()) return Smi::FromInt(String::cast(value)->length()); @@ -166,7 +166,7 @@ const AccessorDescriptor Accessors::StringLength = { // -Object* Accessors::ScriptGetSource(Object* object, void*) { +MaybeObject* Accessors::ScriptGetSource(Object* object, void*) { Object* script = JSValue::cast(object)->value(); return Script::cast(script)->source(); } @@ -184,7 +184,7 @@ const AccessorDescriptor Accessors::ScriptSource = { // -Object* Accessors::ScriptGetName(Object* object, void*) { +MaybeObject* Accessors::ScriptGetName(Object* object, void*) { Object* script = JSValue::cast(object)->value(); return Script::cast(script)->name(); } @@ -202,7 +202,7 @@ const AccessorDescriptor Accessors::ScriptName = { // -Object* Accessors::ScriptGetId(Object* object, void*) { +MaybeObject* Accessors::ScriptGetId(Object* object, void*) { Object* script = JSValue::cast(object)->value(); return Script::cast(script)->id(); } @@ -220,7 +220,7 @@ const AccessorDescriptor Accessors::ScriptId = { // -Object* Accessors::ScriptGetLineOffset(Object* object, void*) { +MaybeObject* Accessors::ScriptGetLineOffset(Object* object, void*) { Object* script = JSValue::cast(object)->value(); return Script::cast(script)->line_offset(); } @@ -238,7 +238,7 @@ const AccessorDescriptor Accessors::ScriptLineOffset = { // -Object* Accessors::ScriptGetColumnOffset(Object* object, void*) { +MaybeObject* Accessors::ScriptGetColumnOffset(Object* object, void*) { Object* script = JSValue::cast(object)->value(); return Script::cast(script)->column_offset(); } @@ -256,7 +256,7 @@ const AccessorDescriptor Accessors::ScriptColumnOffset = { // -Object* Accessors::ScriptGetData(Object* object, void*) { +MaybeObject* Accessors::ScriptGetData(Object* object, void*) { Object* script = JSValue::cast(object)->value(); return Script::cast(script)->data(); } @@ -274,7 +274,7 @@ const AccessorDescriptor Accessors::ScriptData = { // -Object* Accessors::ScriptGetType(Object* object, void*) { +MaybeObject* Accessors::ScriptGetType(Object* object, void*) { Object* script = JSValue::cast(object)->value(); return Script::cast(script)->type(); } @@ -292,7 +292,7 @@ const AccessorDescriptor Accessors::ScriptType = { // -Object* Accessors::ScriptGetCompilationType(Object* object, void*) { +MaybeObject* Accessors::ScriptGetCompilationType(Object* object, void*) { Object* script = JSValue::cast(object)->value(); return Script::cast(script)->compilation_type(); } @@ -310,7 +310,7 @@ const AccessorDescriptor Accessors::ScriptCompilationType = { // -Object* Accessors::ScriptGetLineEnds(Object* object, void*) { +MaybeObject* Accessors::ScriptGetLineEnds(Object* object, void*) { HandleScope scope; Handle