diff options
author | Trevor Norris <trev.norris@gmail.com> | 2014-09-09 14:03:08 -0700 |
---|---|---|
committer | Trevor Norris <trev.norris@gmail.com> | 2014-09-09 16:52:10 -0700 |
commit | f9ce97084cbaf90d0669c7cd829da34232b75bdb (patch) | |
tree | e9705d703811c1fd6a0133a66ad11deec148b631 /deps/v8/src/accessors.cc | |
parent | bf5e2f246eff55dfc33318f0ffb4572a56f7645a (diff) | |
download | node-new-f9ce97084cbaf90d0669c7cd829da34232b75bdb.tar.gz |
v8: Upgrade 3.26.33 with 14 patches
V8 3.26.31 has received 14 patches since the upgrade to 3.26.33. Since
3.26.33 is technically a tag on the 3.27 branch, reverting back to
3.26.31 would remove now default functionality like WeakMaps. Because of
that the patches have simply been cherry-picked and squashed.
Here is a summary of all patches:
* Fix index register assignment in LoadFieldByIndex for arm, arm64, and
mips.
* Fix invalid attributes when generalizing because of incompatible map
change.
* Skip write barriers when updating the weak hash table.
* MIPS: Avoid HeapObject check in HStoreNamedField.
* Do GC if CodeRange fails to allocate a block.
* Array.concat: properly go to dictionary mode when required.
* Keep CodeRange::current_allocation_block_index_ in range.
* Grow heap slower if GC freed many global handles.
* Do not eliminate bounds checks for "<const> - x".
* Add missing map check to optimized f.apply(...).
* In GrowMode, force the value to the right representation to avoid
deopts between storing the length and storing the value.
* Reduce max executable size limit.
* Fix invalid condition in check elimination effects.
* Fix off-by-one error in Array.concat slow mode check.
For more information see: https://github.com/v8/v8/commits/3.26
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Diffstat (limited to 'deps/v8/src/accessors.cc')
-rw-r--r-- | deps/v8/src/accessors.cc | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/deps/v8/src/accessors.cc b/deps/v8/src/accessors.cc index f219bed3b3..8c8fcdd999 100644 --- a/deps/v8/src/accessors.cc +++ b/deps/v8/src/accessors.cc @@ -20,16 +20,6 @@ namespace v8 { namespace internal { -// We have a slight impedance mismatch between the external API and the way we -// use callbacks internally: Externally, callbacks can only be used with -// v8::Object, but internally we even have callbacks on entities which are -// higher in the hierarchy, so we can only return i::Object here, not -// i::JSObject. -Handle<Object> GetThisFrom(const v8::PropertyCallbackInfo<v8::Value>& info) { - return Utils::OpenHandle(*v8::Local<v8::Value>(info.This())); -} - - Handle<AccessorInfo> Accessors::MakeAccessor( Isolate* isolate, Handle<String> name, @@ -156,7 +146,7 @@ void Accessors::ArrayLengthGetter( i::Isolate* isolate = reinterpret_cast<i::Isolate*>(info.GetIsolate()); DisallowHeapAllocation no_allocation; HandleScope scope(isolate); - Object* object = *GetThisFrom(info); + Object* object = *Utils::OpenHandle(*info.This()); // Traverse the prototype chain until we reach an array. JSArray* holder = FindInstanceOf<JSArray>(isolate, object); Object* result; @@ -239,7 +229,7 @@ void Accessors::StringLengthGetter( i::Isolate* isolate = reinterpret_cast<i::Isolate*>(info.GetIsolate()); DisallowHeapAllocation no_allocation; HandleScope scope(isolate); - Object* value = *GetThisFrom(info); + Object* value = *Utils::OpenHandle(*info.This()); Object* result; if (value->IsJSValue()) value = JSValue::cast(value)->value(); if (value->IsString()) { @@ -834,7 +824,7 @@ void Accessors::FunctionPrototypeGetter( const v8::PropertyCallbackInfo<v8::Value>& info) { i::Isolate* isolate = reinterpret_cast<i::Isolate*>(info.GetIsolate()); HandleScope scope(isolate); - Handle<Object> object = GetThisFrom(info); + Handle<Object> object = Utils::OpenHandle(*info.This()); Handle<Object> result = GetFunctionPrototype(isolate, object); info.GetReturnValue().Set(Utils::ToLocal(result)); } @@ -874,7 +864,7 @@ void Accessors::FunctionLengthGetter( const v8::PropertyCallbackInfo<v8::Value>& info) { i::Isolate* isolate = reinterpret_cast<i::Isolate*>(info.GetIsolate()); HandleScope scope(isolate); - Handle<Object> object = GetThisFrom(info); + Handle<Object> object = Utils::OpenHandle(*info.This()); MaybeHandle<JSFunction> maybe_function; { @@ -932,7 +922,7 @@ void Accessors::FunctionNameGetter( const v8::PropertyCallbackInfo<v8::Value>& info) { i::Isolate* isolate = reinterpret_cast<i::Isolate*>(info.GetIsolate()); HandleScope scope(isolate); - Handle<Object> object = GetThisFrom(info); + Handle<Object> object = Utils::OpenHandle(*info.This()); MaybeHandle<JSFunction> maybe_function; { @@ -1081,7 +1071,7 @@ void Accessors::FunctionArgumentsGetter( const v8::PropertyCallbackInfo<v8::Value>& info) { i::Isolate* isolate = reinterpret_cast<i::Isolate*>(info.GetIsolate()); HandleScope scope(isolate); - Handle<Object> object = GetThisFrom(info); + Handle<Object> object = Utils::OpenHandle(*info.This()); MaybeHandle<JSFunction> maybe_function; { @@ -1220,7 +1210,7 @@ void Accessors::FunctionCallerGetter( const v8::PropertyCallbackInfo<v8::Value>& info) { i::Isolate* isolate = reinterpret_cast<i::Isolate*>(info.GetIsolate()); HandleScope scope(isolate); - Handle<Object> object = GetThisFrom(info); + Handle<Object> object = Utils::OpenHandle(*info.This()); MaybeHandle<JSFunction> maybe_function; { DisallowHeapAllocation no_allocation; |