Chromium Code Reviews| 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_X87 | 5 #if V8_TARGET_ARCH_X87 |
| 6 | 6 |
| 7 #include "src/crankshaft/x87/lithium-codegen-x87.h" | 7 #include "src/crankshaft/x87/lithium-codegen-x87.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 5967 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5978 | 5978 |
| 5979 GenerateOsrPrologue(); | 5979 GenerateOsrPrologue(); |
| 5980 } | 5980 } |
| 5981 | 5981 |
| 5982 | 5982 |
| 5983 void LCodeGen::DoForInPrepareMap(LForInPrepareMap* instr) { | 5983 void LCodeGen::DoForInPrepareMap(LForInPrepareMap* instr) { |
| 5984 DCHECK(ToRegister(instr->context()).is(esi)); | 5984 DCHECK(ToRegister(instr->context()).is(esi)); |
| 5985 __ test(eax, Immediate(kSmiTagMask)); | 5985 __ test(eax, Immediate(kSmiTagMask)); |
| 5986 DeoptimizeIf(zero, instr, Deoptimizer::kSmi); | 5986 DeoptimizeIf(zero, instr, Deoptimizer::kSmi); |
| 5987 | 5987 |
| 5988 STATIC_ASSERT(FIRST_JS_PROXY_TYPE == FIRST_JS_RECEIVER_TYPE); | 5988 STATIC_ASSERT(JS_PROXY_TYPE == FIRST_JS_RECEIVER_TYPE); |
| 5989 __ CmpObjectType(eax, LAST_JS_PROXY_TYPE, ecx); | 5989 __ CmpObjectType(eax, JS_PROXY_TYPE, ecx); |
| 5990 DeoptimizeIf(below_equal, instr, Deoptimizer::kWrongInstanceType); | 5990 DeoptimizeIf(below_equal, instr, Deoptimizer::kWrongInstanceType); |
|
Toon Verwaest
2015/12/03 11:48:42
equal
| |
| 5991 | 5991 |
| 5992 Label use_cache, call_runtime; | 5992 Label use_cache, call_runtime; |
| 5993 __ CheckEnumCache(&call_runtime); | 5993 __ CheckEnumCache(&call_runtime); |
| 5994 | 5994 |
| 5995 __ mov(eax, FieldOperand(eax, HeapObject::kMapOffset)); | 5995 __ mov(eax, FieldOperand(eax, HeapObject::kMapOffset)); |
| 5996 __ jmp(&use_cache, Label::kNear); | 5996 __ jmp(&use_cache, Label::kNear); |
| 5997 | 5997 |
| 5998 // Get the set of properties to enumerate. | 5998 // Get the set of properties to enumerate. |
| 5999 __ bind(&call_runtime); | 5999 __ bind(&call_runtime); |
| 6000 __ push(eax); | 6000 __ push(eax); |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6123 RecordSafepoint(Safepoint::kNoLazyDeopt); | 6123 RecordSafepoint(Safepoint::kNoLazyDeopt); |
| 6124 } | 6124 } |
| 6125 | 6125 |
| 6126 | 6126 |
| 6127 #undef __ | 6127 #undef __ |
| 6128 | 6128 |
| 6129 } // namespace internal | 6129 } // namespace internal |
| 6130 } // namespace v8 | 6130 } // namespace v8 |
| 6131 | 6131 |
| 6132 #endif // V8_TARGET_ARCH_X87 | 6132 #endif // V8_TARGET_ARCH_X87 |
| OLD | NEW |