OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_X64 | 5 #if V8_TARGET_ARCH_X64 |
6 | 6 |
7 #include "src/ic/handler-compiler.h" | 7 #include "src/ic/handler-compiler.h" |
8 | 8 |
9 #include "src/api-arguments.h" | 9 #include "src/api-arguments.h" |
10 #include "src/field-type.h" | 10 #include "src/field-type.h" |
(...skipping 26 matching lines...) Expand all Loading... |
37 __ Pop(slot); | 37 __ Pop(slot); |
38 } | 38 } |
39 | 39 |
40 | 40 |
41 void PropertyHandlerCompiler::DiscardVectorAndSlot() { | 41 void PropertyHandlerCompiler::DiscardVectorAndSlot() { |
42 MacroAssembler* masm = this->masm(); | 42 MacroAssembler* masm = this->masm(); |
43 // Remove vector and slot. | 43 // Remove vector and slot. |
44 __ addp(rsp, Immediate(2 * kPointerSize)); | 44 __ addp(rsp, Immediate(2 * kPointerSize)); |
45 } | 45 } |
46 | 46 |
47 void PropertyHandlerCompiler::PushReturnAddress(Register tmp) { UNREACHABLE(); } | 47 void PropertyHandlerCompiler::PushReturnAddress(Register tmp) { |
| 48 MacroAssembler* masm = this->masm(); |
| 49 __ Push(tmp); |
| 50 } |
48 | 51 |
49 void PropertyHandlerCompiler::PopReturnAddress(Register tmp) { UNREACHABLE(); } | 52 void PropertyHandlerCompiler::PopReturnAddress(Register tmp) { |
| 53 MacroAssembler* masm = this->masm(); |
| 54 __ Pop(tmp); |
| 55 } |
50 | 56 |
51 void PropertyHandlerCompiler::GenerateDictionaryNegativeLookup( | 57 void PropertyHandlerCompiler::GenerateDictionaryNegativeLookup( |
52 MacroAssembler* masm, Label* miss_label, Register receiver, | 58 MacroAssembler* masm, Label* miss_label, Register receiver, |
53 Handle<Name> name, Register scratch0, Register scratch1) { | 59 Handle<Name> name, Register scratch0, Register scratch1) { |
54 DCHECK(name->IsUniqueName()); | 60 DCHECK(name->IsUniqueName()); |
55 DCHECK(!receiver.is(scratch0)); | 61 DCHECK(!receiver.is(scratch0)); |
56 Counters* counters = masm->isolate()->counters(); | 62 Counters* counters = masm->isolate()->counters(); |
57 __ IncrementCounter(counters->negative_lookups(), 1); | 63 __ IncrementCounter(counters->negative_lookups(), 1); |
58 __ IncrementCounter(counters->negative_lookups_miss(), 1); | 64 __ IncrementCounter(counters->negative_lookups_miss(), 1); |
59 | 65 |
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
686 // Return the generated code. | 692 // Return the generated code. |
687 return GetCode(kind(), name); | 693 return GetCode(kind(), name); |
688 } | 694 } |
689 | 695 |
690 | 696 |
691 #undef __ | 697 #undef __ |
692 } // namespace internal | 698 } // namespace internal |
693 } // namespace v8 | 699 } // namespace v8 |
694 | 700 |
695 #endif // V8_TARGET_ARCH_X64 | 701 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |