| 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 #if V8_TARGET_ARCH_IA32 | 5 #if V8_TARGET_ARCH_IA32 | 
| 6 | 6 | 
| 7 #include "src/crankshaft/ia32/lithium-codegen-ia32.h" | 7 #include "src/crankshaft/ia32/lithium-codegen-ia32.h" | 
| 8 | 8 | 
| 9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" | 
| 10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" | 
| (...skipping 2406 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2417 | 2417 | 
| 2418 void LCodeGen::DoLoadGlobalGeneric(LLoadGlobalGeneric* instr) { | 2418 void LCodeGen::DoLoadGlobalGeneric(LLoadGlobalGeneric* instr) { | 
| 2419   DCHECK(ToRegister(instr->context()).is(esi)); | 2419   DCHECK(ToRegister(instr->context()).is(esi)); | 
| 2420   DCHECK(ToRegister(instr->global_object()) | 2420   DCHECK(ToRegister(instr->global_object()) | 
| 2421              .is(LoadDescriptor::ReceiverRegister())); | 2421              .is(LoadDescriptor::ReceiverRegister())); | 
| 2422   DCHECK(ToRegister(instr->result()).is(eax)); | 2422   DCHECK(ToRegister(instr->result()).is(eax)); | 
| 2423 | 2423 | 
| 2424   __ mov(LoadDescriptor::NameRegister(), instr->name()); | 2424   __ mov(LoadDescriptor::NameRegister(), instr->name()); | 
| 2425   EmitVectorLoadICRegisters<LLoadGlobalGeneric>(instr); | 2425   EmitVectorLoadICRegisters<LLoadGlobalGeneric>(instr); | 
| 2426   Handle<Code> ic = | 2426   Handle<Code> ic = | 
| 2427       CodeFactory::LoadICInOptimizedCode(isolate(), instr->typeof_mode()) | 2427       CodeFactory::LoadGlobalICInOptimizedCode(isolate(), instr->typeof_mode()) | 
| 2428           .code(); | 2428           .code(); | 
| 2429   CallCode(ic, RelocInfo::CODE_TARGET, instr); | 2429   CallCode(ic, RelocInfo::CODE_TARGET, instr); | 
| 2430 } | 2430 } | 
| 2431 | 2431 | 
| 2432 | 2432 | 
| 2433 void LCodeGen::DoLoadContextSlot(LLoadContextSlot* instr) { | 2433 void LCodeGen::DoLoadContextSlot(LLoadContextSlot* instr) { | 
| 2434   Register context = ToRegister(instr->context()); | 2434   Register context = ToRegister(instr->context()); | 
| 2435   Register result = ToRegister(instr->result()); | 2435   Register result = ToRegister(instr->result()); | 
| 2436   __ mov(result, ContextOperand(context, instr->slot_index())); | 2436   __ mov(result, ContextOperand(context, instr->slot_index())); | 
| 2437 | 2437 | 
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2533 } | 2533 } | 
| 2534 | 2534 | 
| 2535 | 2535 | 
| 2536 void LCodeGen::DoLoadNamedGeneric(LLoadNamedGeneric* instr) { | 2536 void LCodeGen::DoLoadNamedGeneric(LLoadNamedGeneric* instr) { | 
| 2537   DCHECK(ToRegister(instr->context()).is(esi)); | 2537   DCHECK(ToRegister(instr->context()).is(esi)); | 
| 2538   DCHECK(ToRegister(instr->object()).is(LoadDescriptor::ReceiverRegister())); | 2538   DCHECK(ToRegister(instr->object()).is(LoadDescriptor::ReceiverRegister())); | 
| 2539   DCHECK(ToRegister(instr->result()).is(eax)); | 2539   DCHECK(ToRegister(instr->result()).is(eax)); | 
| 2540 | 2540 | 
| 2541   __ mov(LoadDescriptor::NameRegister(), instr->name()); | 2541   __ mov(LoadDescriptor::NameRegister(), instr->name()); | 
| 2542   EmitVectorLoadICRegisters<LLoadNamedGeneric>(instr); | 2542   EmitVectorLoadICRegisters<LLoadNamedGeneric>(instr); | 
| 2543   Handle<Code> ic = | 2543   Handle<Code> ic = CodeFactory::LoadICInOptimizedCode(isolate()).code(); | 
| 2544       CodeFactory::LoadICInOptimizedCode(isolate(), NOT_INSIDE_TYPEOF).code(); |  | 
| 2545   CallCode(ic, RelocInfo::CODE_TARGET, instr); | 2544   CallCode(ic, RelocInfo::CODE_TARGET, instr); | 
| 2546 } | 2545 } | 
| 2547 | 2546 | 
| 2548 | 2547 | 
| 2549 void LCodeGen::DoLoadFunctionPrototype(LLoadFunctionPrototype* instr) { | 2548 void LCodeGen::DoLoadFunctionPrototype(LLoadFunctionPrototype* instr) { | 
| 2550   Register function = ToRegister(instr->function()); | 2549   Register function = ToRegister(instr->function()); | 
| 2551   Register temp = ToRegister(instr->temp()); | 2550   Register temp = ToRegister(instr->temp()); | 
| 2552   Register result = ToRegister(instr->result()); | 2551   Register result = ToRegister(instr->result()); | 
| 2553 | 2552 | 
| 2554   // Get the prototype or initial map from the function. | 2553   // Get the prototype or initial map from the function. | 
| (...skipping 2744 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5299   __ bind(deferred->exit()); | 5298   __ bind(deferred->exit()); | 
| 5300   __ bind(&done); | 5299   __ bind(&done); | 
| 5301 } | 5300 } | 
| 5302 | 5301 | 
| 5303 #undef __ | 5302 #undef __ | 
| 5304 | 5303 | 
| 5305 }  // namespace internal | 5304 }  // namespace internal | 
| 5306 }  // namespace v8 | 5305 }  // namespace v8 | 
| 5307 | 5306 | 
| 5308 #endif  // V8_TARGET_ARCH_IA32 | 5307 #endif  // V8_TARGET_ARCH_IA32 | 
| OLD | NEW | 
|---|