| 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 |