| OLD | NEW | 
|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "src/v8.h" | 5 #include "src/v8.h" | 
| 6 | 6 | 
| 7 #if V8_TARGET_ARCH_ARM | 7 #if V8_TARGET_ARCH_ARM | 
| 8 | 8 | 
| 9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" | 
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" | 
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 235         } else if (FLAG_debug_code) { | 235         } else if (FLAG_debug_code) { | 
| 236           Label done; | 236           Label done; | 
| 237           __ JumpIfInNewSpace(cp, r0, &done); | 237           __ JumpIfInNewSpace(cp, r0, &done); | 
| 238           __ Abort(kExpectedNewSpaceObject); | 238           __ Abort(kExpectedNewSpaceObject); | 
| 239           __ bind(&done); | 239           __ bind(&done); | 
| 240         } | 240         } | 
| 241       } | 241       } | 
| 242     } | 242     } | 
| 243   } | 243   } | 
| 244 | 244 | 
| 245   Variable* home_object_var = scope()->home_object_var(); |  | 
| 246   if (home_object_var != nullptr) { |  | 
| 247     __ Push(r1); |  | 
| 248   } |  | 
| 249 |  | 
| 250   // Possibly set up a local binding to the this function which is used in | 245   // Possibly set up a local binding to the this function which is used in | 
| 251   // derived constructors with super calls. | 246   // derived constructors with super calls. | 
| 252   Variable* this_function_var = scope()->this_function_var(); | 247   Variable* this_function_var = scope()->this_function_var(); | 
| 253   if (this_function_var != nullptr) { | 248   if (this_function_var != nullptr) { | 
| 254     Comment cmnt(masm_, "[ This function"); | 249     Comment cmnt(masm_, "[ This function"); | 
| 255     SetVar(this_function_var, r1, r0, r2); | 250     SetVar(this_function_var, r1, r0, r2); | 
| 256   } | 251   } | 
| 257 | 252 | 
| 258   Variable* new_target_var = scope()->new_target_var(); | 253   Variable* new_target_var = scope()->new_target_var(); | 
| 259   if (new_target_var != nullptr) { | 254   if (new_target_var != nullptr) { | 
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 324       type = ArgumentsAccessStub::NEW_SLOPPY_SLOW; | 319       type = ArgumentsAccessStub::NEW_SLOPPY_SLOW; | 
| 325     } else { | 320     } else { | 
| 326       type = ArgumentsAccessStub::NEW_SLOPPY_FAST; | 321       type = ArgumentsAccessStub::NEW_SLOPPY_FAST; | 
| 327     } | 322     } | 
| 328     ArgumentsAccessStub stub(isolate(), type, has_new_target); | 323     ArgumentsAccessStub stub(isolate(), type, has_new_target); | 
| 329     __ CallStub(&stub); | 324     __ CallStub(&stub); | 
| 330 | 325 | 
| 331     SetVar(arguments, r0, r1, r2); | 326     SetVar(arguments, r0, r1, r2); | 
| 332   } | 327   } | 
| 333 | 328 | 
| 334   // Possibly set up a local binding to the [[HomeObject]]. |  | 
| 335   if (home_object_var != nullptr) { |  | 
| 336     Comment cmnt(masm_, "[ Home object"); |  | 
| 337     __ Pop(LoadDescriptor::ReceiverRegister()); |  | 
| 338     Handle<Symbol> home_object_symbol(isolate()->heap()->home_object_symbol()); |  | 
| 339     __ Move(LoadDescriptor::NameRegister(), home_object_symbol); |  | 
| 340     __ Move(LoadDescriptor::SlotRegister(), |  | 
| 341             Operand(SmiFromSlot(function()->HomeObjectFeedbackSlot()))); |  | 
| 342     CallLoadIC(NOT_CONTEXTUAL); |  | 
| 343 |  | 
| 344     SetVar(home_object_var, r0, r1, r2); |  | 
| 345   } |  | 
| 346 | 329 | 
| 347   if (FLAG_trace) { | 330   if (FLAG_trace) { | 
| 348     __ CallRuntime(Runtime::kTraceEnter, 0); | 331     __ CallRuntime(Runtime::kTraceEnter, 0); | 
| 349   } | 332   } | 
| 350 | 333 | 
| 351   // Visit the declarations and body unless there is an illegal | 334   // Visit the declarations and body unless there is an illegal | 
| 352   // redeclaration. | 335   // redeclaration. | 
| 353   if (scope()->HasIllegalRedeclaration()) { | 336   if (scope()->HasIllegalRedeclaration()) { | 
| 354     Comment cmnt(masm_, "[ Declarations"); | 337     Comment cmnt(masm_, "[ Declarations"); | 
| 355     scope()->VisitIllegalRedeclaration(this); | 338     scope()->VisitIllegalRedeclaration(this); | 
| (...skipping 1660 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2016         VisitForStackValue(property->obj()); | 1999         VisitForStackValue(property->obj()); | 
| 2017         __ ldr(LoadDescriptor::ReceiverRegister(), MemOperand(sp, 0)); | 2000         __ ldr(LoadDescriptor::ReceiverRegister(), MemOperand(sp, 0)); | 
| 2018       } else { | 2001       } else { | 
| 2019         VisitForStackValue(property->obj()); | 2002         VisitForStackValue(property->obj()); | 
| 2020       } | 2003       } | 
| 2021       break; | 2004       break; | 
| 2022     case NAMED_SUPER_PROPERTY: | 2005     case NAMED_SUPER_PROPERTY: | 
| 2023       VisitForStackValue( | 2006       VisitForStackValue( | 
| 2024           property->obj()->AsSuperPropertyReference()->this_var()); | 2007           property->obj()->AsSuperPropertyReference()->this_var()); | 
| 2025       VisitForAccumulatorValue( | 2008       VisitForAccumulatorValue( | 
| 2026           property->obj()->AsSuperPropertyReference()->home_object_var()); | 2009           property->obj()->AsSuperPropertyReference()->home_object()); | 
| 2027       __ Push(result_register()); | 2010       __ Push(result_register()); | 
| 2028       if (expr->is_compound()) { | 2011       if (expr->is_compound()) { | 
| 2029         const Register scratch = r1; | 2012         const Register scratch = r1; | 
| 2030         __ ldr(scratch, MemOperand(sp, kPointerSize)); | 2013         __ ldr(scratch, MemOperand(sp, kPointerSize)); | 
| 2031         __ Push(scratch); | 2014         __ Push(scratch); | 
| 2032         __ Push(result_register()); | 2015         __ Push(result_register()); | 
| 2033       } | 2016       } | 
| 2034       break; | 2017       break; | 
| 2035     case KEYED_SUPER_PROPERTY: | 2018     case KEYED_SUPER_PROPERTY: | 
| 2036       VisitForStackValue( | 2019       VisitForStackValue( | 
| 2037           property->obj()->AsSuperPropertyReference()->this_var()); | 2020           property->obj()->AsSuperPropertyReference()->this_var()); | 
| 2038       VisitForStackValue( | 2021       VisitForStackValue( | 
| 2039           property->obj()->AsSuperPropertyReference()->home_object_var()); | 2022           property->obj()->AsSuperPropertyReference()->home_object()); | 
| 2040       VisitForAccumulatorValue(property->key()); | 2023       VisitForAccumulatorValue(property->key()); | 
| 2041       __ Push(result_register()); | 2024       __ Push(result_register()); | 
| 2042       if (expr->is_compound()) { | 2025       if (expr->is_compound()) { | 
| 2043         const Register scratch = r1; | 2026         const Register scratch = r1; | 
| 2044         __ ldr(scratch, MemOperand(sp, 2 * kPointerSize)); | 2027         __ ldr(scratch, MemOperand(sp, 2 * kPointerSize)); | 
| 2045         __ Push(scratch); | 2028         __ Push(scratch); | 
| 2046         __ ldr(scratch, MemOperand(sp, 2 * kPointerSize)); | 2029         __ ldr(scratch, MemOperand(sp, 2 * kPointerSize)); | 
| 2047         __ Push(scratch); | 2030         __ Push(scratch); | 
| 2048         __ Push(result_register()); | 2031         __ Push(result_register()); | 
| 2049       } | 2032       } | 
| (...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2674       __ mov(StoreDescriptor::NameRegister(), | 2657       __ mov(StoreDescriptor::NameRegister(), | 
| 2675              Operand(prop->key()->AsLiteral()->value())); | 2658              Operand(prop->key()->AsLiteral()->value())); | 
| 2676       if (FLAG_vector_stores) EmitLoadStoreICSlot(slot); | 2659       if (FLAG_vector_stores) EmitLoadStoreICSlot(slot); | 
| 2677       CallStoreIC(); | 2660       CallStoreIC(); | 
| 2678       break; | 2661       break; | 
| 2679     } | 2662     } | 
| 2680     case NAMED_SUPER_PROPERTY: { | 2663     case NAMED_SUPER_PROPERTY: { | 
| 2681       __ Push(r0); | 2664       __ Push(r0); | 
| 2682       VisitForStackValue(prop->obj()->AsSuperPropertyReference()->this_var()); | 2665       VisitForStackValue(prop->obj()->AsSuperPropertyReference()->this_var()); | 
| 2683       VisitForAccumulatorValue( | 2666       VisitForAccumulatorValue( | 
| 2684           prop->obj()->AsSuperPropertyReference()->home_object_var()); | 2667           prop->obj()->AsSuperPropertyReference()->home_object()); | 
| 2685       // stack: value, this; r0: home_object | 2668       // stack: value, this; r0: home_object | 
| 2686       Register scratch = r2; | 2669       Register scratch = r2; | 
| 2687       Register scratch2 = r3; | 2670       Register scratch2 = r3; | 
| 2688       __ mov(scratch, result_register());              // home_object | 2671       __ mov(scratch, result_register());              // home_object | 
| 2689       __ ldr(r0, MemOperand(sp, kPointerSize));        // value | 2672       __ ldr(r0, MemOperand(sp, kPointerSize));        // value | 
| 2690       __ ldr(scratch2, MemOperand(sp, 0));             // this | 2673       __ ldr(scratch2, MemOperand(sp, 0));             // this | 
| 2691       __ str(scratch2, MemOperand(sp, kPointerSize));  // this | 2674       __ str(scratch2, MemOperand(sp, kPointerSize));  // this | 
| 2692       __ str(scratch, MemOperand(sp, 0));              // home_object | 2675       __ str(scratch, MemOperand(sp, 0));              // home_object | 
| 2693       // stack: this, home_object; r0: value | 2676       // stack: this, home_object; r0: value | 
| 2694       EmitNamedSuperPropertyStore(prop); | 2677       EmitNamedSuperPropertyStore(prop); | 
| 2695       break; | 2678       break; | 
| 2696     } | 2679     } | 
| 2697     case KEYED_SUPER_PROPERTY: { | 2680     case KEYED_SUPER_PROPERTY: { | 
| 2698       __ Push(r0); | 2681       __ Push(r0); | 
| 2699       VisitForStackValue(prop->obj()->AsSuperPropertyReference()->this_var()); | 2682       VisitForStackValue(prop->obj()->AsSuperPropertyReference()->this_var()); | 
| 2700       VisitForStackValue( | 2683       VisitForStackValue( | 
| 2701           prop->obj()->AsSuperPropertyReference()->home_object_var()); | 2684           prop->obj()->AsSuperPropertyReference()->home_object()); | 
| 2702       VisitForAccumulatorValue(prop->key()); | 2685       VisitForAccumulatorValue(prop->key()); | 
| 2703       Register scratch = r2; | 2686       Register scratch = r2; | 
| 2704       Register scratch2 = r3; | 2687       Register scratch2 = r3; | 
| 2705       __ ldr(scratch2, MemOperand(sp, 2 * kPointerSize));  // value | 2688       __ ldr(scratch2, MemOperand(sp, 2 * kPointerSize));  // value | 
| 2706       // stack: value, this, home_object; r0: key, r3: value | 2689       // stack: value, this, home_object; r0: key, r3: value | 
| 2707       __ ldr(scratch, MemOperand(sp, kPointerSize));  // this | 2690       __ ldr(scratch, MemOperand(sp, kPointerSize));  // this | 
| 2708       __ str(scratch, MemOperand(sp, 2 * kPointerSize)); | 2691       __ str(scratch, MemOperand(sp, 2 * kPointerSize)); | 
| 2709       __ ldr(scratch, MemOperand(sp, 0));  // home_object | 2692       __ ldr(scratch, MemOperand(sp, 0));  // home_object | 
| 2710       __ str(scratch, MemOperand(sp, kPointerSize)); | 2693       __ str(scratch, MemOperand(sp, kPointerSize)); | 
| 2711       __ str(r0, MemOperand(sp, 0)); | 2694       __ str(r0, MemOperand(sp, 0)); | 
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2917   Expression* key = expr->key(); | 2900   Expression* key = expr->key(); | 
| 2918 | 2901 | 
| 2919   if (key->IsPropertyName()) { | 2902   if (key->IsPropertyName()) { | 
| 2920     if (!expr->IsSuperAccess()) { | 2903     if (!expr->IsSuperAccess()) { | 
| 2921       VisitForAccumulatorValue(expr->obj()); | 2904       VisitForAccumulatorValue(expr->obj()); | 
| 2922       __ Move(LoadDescriptor::ReceiverRegister(), r0); | 2905       __ Move(LoadDescriptor::ReceiverRegister(), r0); | 
| 2923       EmitNamedPropertyLoad(expr); | 2906       EmitNamedPropertyLoad(expr); | 
| 2924     } else { | 2907     } else { | 
| 2925       VisitForStackValue(expr->obj()->AsSuperPropertyReference()->this_var()); | 2908       VisitForStackValue(expr->obj()->AsSuperPropertyReference()->this_var()); | 
| 2926       VisitForStackValue( | 2909       VisitForStackValue( | 
| 2927           expr->obj()->AsSuperPropertyReference()->home_object_var()); | 2910           expr->obj()->AsSuperPropertyReference()->home_object()); | 
| 2928       EmitNamedSuperPropertyLoad(expr); | 2911       EmitNamedSuperPropertyLoad(expr); | 
| 2929     } | 2912     } | 
| 2930   } else { | 2913   } else { | 
| 2931     if (!expr->IsSuperAccess()) { | 2914     if (!expr->IsSuperAccess()) { | 
| 2932       VisitForStackValue(expr->obj()); | 2915       VisitForStackValue(expr->obj()); | 
| 2933       VisitForAccumulatorValue(expr->key()); | 2916       VisitForAccumulatorValue(expr->key()); | 
| 2934       __ Move(LoadDescriptor::NameRegister(), r0); | 2917       __ Move(LoadDescriptor::NameRegister(), r0); | 
| 2935       __ pop(LoadDescriptor::ReceiverRegister()); | 2918       __ pop(LoadDescriptor::ReceiverRegister()); | 
| 2936       EmitKeyedPropertyLoad(expr); | 2919       EmitKeyedPropertyLoad(expr); | 
| 2937     } else { | 2920     } else { | 
| 2938       VisitForStackValue(expr->obj()->AsSuperPropertyReference()->this_var()); | 2921       VisitForStackValue(expr->obj()->AsSuperPropertyReference()->this_var()); | 
| 2939       VisitForStackValue( | 2922       VisitForStackValue( | 
| 2940           expr->obj()->AsSuperPropertyReference()->home_object_var()); | 2923           expr->obj()->AsSuperPropertyReference()->home_object()); | 
| 2941       VisitForStackValue(expr->key()); | 2924       VisitForStackValue(expr->key()); | 
| 2942       EmitKeyedSuperPropertyLoad(expr); | 2925       EmitKeyedSuperPropertyLoad(expr); | 
| 2943     } | 2926     } | 
| 2944   } | 2927   } | 
| 2945   PrepareForBailoutForId(expr->LoadId(), TOS_REG); | 2928   PrepareForBailoutForId(expr->LoadId(), TOS_REG); | 
| 2946   context()->Plug(r0); | 2929   context()->Plug(r0); | 
| 2947 } | 2930 } | 
| 2948 | 2931 | 
| 2949 | 2932 | 
| 2950 void FullCodeGenerator::CallIC(Handle<Code> code, | 2933 void FullCodeGenerator::CallIC(Handle<Code> code, | 
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2996   DCHECK(callee->IsProperty()); | 2979   DCHECK(callee->IsProperty()); | 
| 2997   Property* prop = callee->AsProperty(); | 2980   Property* prop = callee->AsProperty(); | 
| 2998   DCHECK(prop->IsSuperAccess()); | 2981   DCHECK(prop->IsSuperAccess()); | 
| 2999 | 2982 | 
| 3000   SetSourcePosition(prop->position()); | 2983   SetSourcePosition(prop->position()); | 
| 3001   Literal* key = prop->key()->AsLiteral(); | 2984   Literal* key = prop->key()->AsLiteral(); | 
| 3002   DCHECK(!key->value()->IsSmi()); | 2985   DCHECK(!key->value()->IsSmi()); | 
| 3003   // Load the function from the receiver. | 2986   // Load the function from the receiver. | 
| 3004   const Register scratch = r1; | 2987   const Register scratch = r1; | 
| 3005   SuperPropertyReference* super_ref = prop->obj()->AsSuperPropertyReference(); | 2988   SuperPropertyReference* super_ref = prop->obj()->AsSuperPropertyReference(); | 
| 3006   VisitForStackValue(super_ref->home_object_var()); | 2989   VisitForStackValue(super_ref->home_object()); | 
| 3007   VisitForAccumulatorValue(super_ref->this_var()); | 2990   VisitForAccumulatorValue(super_ref->this_var()); | 
| 3008   __ Push(r0); | 2991   __ Push(r0); | 
| 3009   __ Push(r0); | 2992   __ Push(r0); | 
| 3010   __ ldr(scratch, MemOperand(sp, kPointerSize * 2)); | 2993   __ ldr(scratch, MemOperand(sp, kPointerSize * 2)); | 
| 3011   __ Push(scratch); | 2994   __ Push(scratch); | 
| 3012   __ Push(key->value()); | 2995   __ Push(key->value()); | 
| 3013 | 2996 | 
| 3014   // Stack here: | 2997   // Stack here: | 
| 3015   //  - home_object | 2998   //  - home_object | 
| 3016   //  - this (receiver) | 2999   //  - this (receiver) | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3056 void FullCodeGenerator::EmitKeyedSuperCallWithLoadIC(Call* expr) { | 3039 void FullCodeGenerator::EmitKeyedSuperCallWithLoadIC(Call* expr) { | 
| 3057   Expression* callee = expr->expression(); | 3040   Expression* callee = expr->expression(); | 
| 3058   DCHECK(callee->IsProperty()); | 3041   DCHECK(callee->IsProperty()); | 
| 3059   Property* prop = callee->AsProperty(); | 3042   Property* prop = callee->AsProperty(); | 
| 3060   DCHECK(prop->IsSuperAccess()); | 3043   DCHECK(prop->IsSuperAccess()); | 
| 3061 | 3044 | 
| 3062   SetSourcePosition(prop->position()); | 3045   SetSourcePosition(prop->position()); | 
| 3063   // Load the function from the receiver. | 3046   // Load the function from the receiver. | 
| 3064   const Register scratch = r1; | 3047   const Register scratch = r1; | 
| 3065   SuperPropertyReference* super_ref = prop->obj()->AsSuperPropertyReference(); | 3048   SuperPropertyReference* super_ref = prop->obj()->AsSuperPropertyReference(); | 
| 3066   VisitForStackValue(super_ref->home_object_var()); | 3049   VisitForStackValue(super_ref->home_object()); | 
| 3067   VisitForAccumulatorValue(super_ref->this_var()); | 3050   VisitForAccumulatorValue(super_ref->this_var()); | 
| 3068   __ Push(r0); | 3051   __ Push(r0); | 
| 3069   __ Push(r0); | 3052   __ Push(r0); | 
| 3070   __ ldr(scratch, MemOperand(sp, kPointerSize * 2)); | 3053   __ ldr(scratch, MemOperand(sp, kPointerSize * 2)); | 
| 3071   __ Push(scratch); | 3054   __ Push(scratch); | 
| 3072   VisitForStackValue(prop->key()); | 3055   VisitForStackValue(prop->key()); | 
| 3073 | 3056 | 
| 3074   // Stack here: | 3057   // Stack here: | 
| 3075   //  - home_object | 3058   //  - home_object | 
| 3076   //  - this (receiver) | 3059   //  - this (receiver) | 
| (...skipping 1840 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 4917         // Put the object both on the stack and in the register. | 4900         // Put the object both on the stack and in the register. | 
| 4918         VisitForStackValue(prop->obj()); | 4901         VisitForStackValue(prop->obj()); | 
| 4919         __ ldr(LoadDescriptor::ReceiverRegister(), MemOperand(sp, 0)); | 4902         __ ldr(LoadDescriptor::ReceiverRegister(), MemOperand(sp, 0)); | 
| 4920         EmitNamedPropertyLoad(prop); | 4903         EmitNamedPropertyLoad(prop); | 
| 4921         break; | 4904         break; | 
| 4922       } | 4905       } | 
| 4923 | 4906 | 
| 4924       case NAMED_SUPER_PROPERTY: { | 4907       case NAMED_SUPER_PROPERTY: { | 
| 4925         VisitForStackValue(prop->obj()->AsSuperPropertyReference()->this_var()); | 4908         VisitForStackValue(prop->obj()->AsSuperPropertyReference()->this_var()); | 
| 4926         VisitForAccumulatorValue( | 4909         VisitForAccumulatorValue( | 
| 4927             prop->obj()->AsSuperPropertyReference()->home_object_var()); | 4910             prop->obj()->AsSuperPropertyReference()->home_object()); | 
| 4928         __ Push(result_register()); | 4911         __ Push(result_register()); | 
| 4929         const Register scratch = r1; | 4912         const Register scratch = r1; | 
| 4930         __ ldr(scratch, MemOperand(sp, kPointerSize)); | 4913         __ ldr(scratch, MemOperand(sp, kPointerSize)); | 
| 4931         __ Push(scratch); | 4914         __ Push(scratch); | 
| 4932         __ Push(result_register()); | 4915         __ Push(result_register()); | 
| 4933         EmitNamedSuperPropertyLoad(prop); | 4916         EmitNamedSuperPropertyLoad(prop); | 
| 4934         break; | 4917         break; | 
| 4935       } | 4918       } | 
| 4936 | 4919 | 
| 4937       case KEYED_SUPER_PROPERTY: { | 4920       case KEYED_SUPER_PROPERTY: { | 
| 4938         VisitForStackValue(prop->obj()->AsSuperPropertyReference()->this_var()); | 4921         VisitForStackValue(prop->obj()->AsSuperPropertyReference()->this_var()); | 
| 4939         VisitForStackValue( | 4922         VisitForStackValue( | 
| 4940             prop->obj()->AsSuperPropertyReference()->home_object_var()); | 4923             prop->obj()->AsSuperPropertyReference()->home_object()); | 
| 4941         VisitForAccumulatorValue(prop->key()); | 4924         VisitForAccumulatorValue(prop->key()); | 
| 4942         __ Push(result_register()); | 4925         __ Push(result_register()); | 
| 4943         const Register scratch = r1; | 4926         const Register scratch = r1; | 
| 4944         __ ldr(scratch, MemOperand(sp, 2 * kPointerSize)); | 4927         __ ldr(scratch, MemOperand(sp, 2 * kPointerSize)); | 
| 4945         __ Push(scratch); | 4928         __ Push(scratch); | 
| 4946         __ ldr(scratch, MemOperand(sp, 2 * kPointerSize)); | 4929         __ ldr(scratch, MemOperand(sp, 2 * kPointerSize)); | 
| 4947         __ Push(scratch); | 4930         __ Push(scratch); | 
| 4948         __ Push(result_register()); | 4931         __ Push(result_register()); | 
| 4949         EmitKeyedSuperPropertyLoad(prop); | 4932         EmitKeyedSuperPropertyLoad(prop); | 
| 4950         break; | 4933         break; | 
| (...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5614   DCHECK(interrupt_address == | 5597   DCHECK(interrupt_address == | 
| 5615          isolate->builtins()->OsrAfterStackCheck()->entry()); | 5598          isolate->builtins()->OsrAfterStackCheck()->entry()); | 
| 5616   return OSR_AFTER_STACK_CHECK; | 5599   return OSR_AFTER_STACK_CHECK; | 
| 5617 } | 5600 } | 
| 5618 | 5601 | 
| 5619 | 5602 | 
| 5620 }  // namespace internal | 5603 }  // namespace internal | 
| 5621 }  // namespace v8 | 5604 }  // namespace v8 | 
| 5622 | 5605 | 
| 5623 #endif  // V8_TARGET_ARCH_ARM | 5606 #endif  // V8_TARGET_ARCH_ARM | 
| OLD | NEW | 
|---|