| 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/builtins/builtins-constructor.h" |    10 #include "src/builtins/builtins-constructor.h" | 
| (...skipping 4801 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  4812  |  4812  | 
|  4813 void LCodeGen::DoTypeof(LTypeof* instr) { |  4813 void LCodeGen::DoTypeof(LTypeof* instr) { | 
|  4814   DCHECK(ToRegister(instr->context()).is(esi)); |  4814   DCHECK(ToRegister(instr->context()).is(esi)); | 
|  4815   DCHECK(ToRegister(instr->value()).is(ebx)); |  4815   DCHECK(ToRegister(instr->value()).is(ebx)); | 
|  4816   Label end, do_call; |  4816   Label end, do_call; | 
|  4817   Register value_register = ToRegister(instr->value()); |  4817   Register value_register = ToRegister(instr->value()); | 
|  4818   __ JumpIfNotSmi(value_register, &do_call); |  4818   __ JumpIfNotSmi(value_register, &do_call); | 
|  4819   __ mov(eax, Immediate(isolate()->factory()->number_string())); |  4819   __ mov(eax, Immediate(isolate()->factory()->number_string())); | 
|  4820   __ jmp(&end); |  4820   __ jmp(&end); | 
|  4821   __ bind(&do_call); |  4821   __ bind(&do_call); | 
|  4822   Callable callable = CodeFactory::Typeof(isolate()); |  4822   Callable callable = Builtins::CallableFor(isolate(), Builtins::kTypeof); | 
|  4823   CallCode(callable.code(), RelocInfo::CODE_TARGET, instr); |  4823   CallCode(callable.code(), RelocInfo::CODE_TARGET, instr); | 
|  4824   __ bind(&end); |  4824   __ bind(&end); | 
|  4825 } |  4825 } | 
|  4826  |  4826  | 
|  4827  |  4827  | 
|  4828 void LCodeGen::DoTypeofIsAndBranch(LTypeofIsAndBranch* instr) { |  4828 void LCodeGen::DoTypeofIsAndBranch(LTypeofIsAndBranch* instr) { | 
|  4829   Register input = ToRegister(instr->value()); |  4829   Register input = ToRegister(instr->value()); | 
|  4830   Condition final_branch_condition = EmitTypeofIs(instr, input); |  4830   Condition final_branch_condition = EmitTypeofIs(instr, input); | 
|  4831   if (final_branch_condition != no_condition) { |  4831   if (final_branch_condition != no_condition) { | 
|  4832     EmitBranch(instr, final_branch_condition); |  4832     EmitBranch(instr, final_branch_condition); | 
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  5144   __ bind(deferred->exit()); |  5144   __ bind(deferred->exit()); | 
|  5145   __ bind(&done); |  5145   __ bind(&done); | 
|  5146 } |  5146 } | 
|  5147  |  5147  | 
|  5148 #undef __ |  5148 #undef __ | 
|  5149  |  5149  | 
|  5150 }  // namespace internal |  5150 }  // namespace internal | 
|  5151 }  // namespace v8 |  5151 }  // namespace v8 | 
|  5152  |  5152  | 
|  5153 #endif  // V8_TARGET_ARCH_IA32 |  5153 #endif  // V8_TARGET_ARCH_IA32 | 
| OLD | NEW |