diff options
Diffstat (limited to 'deps/v8/src/ic/x64/handler-compiler-x64.cc')
-rw-r--r-- | deps/v8/src/ic/x64/handler-compiler-x64.cc | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/deps/v8/src/ic/x64/handler-compiler-x64.cc b/deps/v8/src/ic/x64/handler-compiler-x64.cc index eeddd55a7b..51bb791712 100644 --- a/deps/v8/src/ic/x64/handler-compiler-x64.cc +++ b/deps/v8/src/ic/x64/handler-compiler-x64.cc @@ -69,7 +69,8 @@ void PropertyHandlerCompiler::GenerateDictionaryNegativeLookup( // Load properties array. Register properties = scratch0; - __ movp(properties, FieldOperand(receiver, JSObject::kPropertiesOffset)); + __ movp(properties, + FieldOperand(receiver, JSObject::kPropertiesOrHashOffset)); // Check that the properties array is a dictionary. __ CompareRoot(FieldOperand(properties, HeapObject::kMapOffset), @@ -117,9 +118,7 @@ void PropertyHandlerCompiler::GenerateApiAccessorCall( // Put holder in place. CallOptimization::HolderLookup holder_lookup; - int holder_depth = 0; - optimization.LookupHolderOfExpectedType(receiver_map, &holder_lookup, - &holder_depth); + optimization.LookupHolderOfExpectedType(receiver_map, &holder_lookup); switch (holder_lookup) { case CallOptimization::kHolderIsReceiver: __ Move(holder, receiver); @@ -127,10 +126,6 @@ void PropertyHandlerCompiler::GenerateApiAccessorCall( case CallOptimization::kHolderFound: __ movp(holder, FieldOperand(receiver, HeapObject::kMapOffset)); __ movp(holder, FieldOperand(holder, Map::kPrototypeOffset)); - for (int i = 1; i < holder_depth; i++) { - __ movp(holder, FieldOperand(holder, HeapObject::kMapOffset)); - __ movp(holder, FieldOperand(holder, Map::kPrototypeOffset)); - } break; case CallOptimization::kHolderNotFound: UNREACHABLE(); |