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 |