| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_X64 | 7 #if V8_TARGET_ARCH_X64 |
| 8 | 8 |
| 9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 3575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3586 if (FLAG_debug_code) { | 3586 if (FLAG_debug_code) { |
| 3587 __ testb(rcx, Immediate(kSmiTagMask)); | 3587 __ testb(rcx, Immediate(kSmiTagMask)); |
| 3588 __ Assert(not_equal, kExpectedAllocationSite); | 3588 __ Assert(not_equal, kExpectedAllocationSite); |
| 3589 __ Cmp(FieldOperand(rcx, HeapObject::kMapOffset), | 3589 __ Cmp(FieldOperand(rcx, HeapObject::kMapOffset), |
| 3590 isolate()->factory()->allocation_site_map()); | 3590 isolate()->factory()->allocation_site_map()); |
| 3591 __ Assert(equal, kExpectedAllocationSite); | 3591 __ Assert(equal, kExpectedAllocationSite); |
| 3592 } | 3592 } |
| 3593 | 3593 |
| 3594 // Tail call into the stub that handles binary operations with allocation | 3594 // Tail call into the stub that handles binary operations with allocation |
| 3595 // sites. | 3595 // sites. |
| 3596 BinaryOpWithAllocationSiteStub stub(isolate(), state_); | 3596 BinaryOpWithAllocationSiteStub stub(isolate(), state()); |
| 3597 __ TailCallStub(&stub); | 3597 __ TailCallStub(&stub); |
| 3598 } | 3598 } |
| 3599 | 3599 |
| 3600 | 3600 |
| 3601 void ICCompareStub::GenerateSmis(MacroAssembler* masm) { | 3601 void ICCompareStub::GenerateSmis(MacroAssembler* masm) { |
| 3602 DCHECK(state_ == CompareIC::SMI); | 3602 DCHECK(state_ == CompareIC::SMI); |
| 3603 Label miss; | 3603 Label miss; |
| 3604 __ JumpIfNotBothSmi(rdx, rax, &miss, Label::kNear); | 3604 __ JumpIfNotBothSmi(rdx, rax, &miss, Label::kNear); |
| 3605 | 3605 |
| 3606 if (GetCondition() == equal) { | 3606 if (GetCondition() == equal) { |
| (...skipping 1368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4975 return_value_operand, | 4975 return_value_operand, |
| 4976 NULL); | 4976 NULL); |
| 4977 } | 4977 } |
| 4978 | 4978 |
| 4979 | 4979 |
| 4980 #undef __ | 4980 #undef __ |
| 4981 | 4981 |
| 4982 } } // namespace v8::internal | 4982 } } // namespace v8::internal |
| 4983 | 4983 |
| 4984 #endif // V8_TARGET_ARCH_X64 | 4984 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |