| 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_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
| 8 | 8 |
| 9 #include "src/codegen.h" | 9 #include "src/codegen.h" |
| 10 #include "src/ic-inl.h" | 10 #include "src/ic-inl.h" |
| (...skipping 779 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 790 __ B(&success); | 790 __ B(&success); |
| 791 | 791 |
| 792 GenerateRestoreName(miss, name); | 792 GenerateRestoreName(miss, name); |
| 793 TailCallBuiltin(masm(), MissBuiltin(kind())); | 793 TailCallBuiltin(masm(), MissBuiltin(kind())); |
| 794 | 794 |
| 795 __ Bind(&success); | 795 __ Bind(&success); |
| 796 } | 796 } |
| 797 } | 797 } |
| 798 | 798 |
| 799 | 799 |
| 800 void NamedLoadHandlerCompiler::GenerateLoadField( | |
| 801 Register reg, FieldIndex field, Representation representation) { | |
| 802 __ Mov(receiver(), reg); | |
| 803 LoadFieldStub stub(isolate(), field); | |
| 804 GenerateTailCall(masm(), stub.GetCode()); | |
| 805 } | |
| 806 | |
| 807 | |
| 808 void NamedLoadHandlerCompiler::GenerateLoadConstant(Handle<Object> value) { | |
| 809 // Return the constant value. | |
| 810 __ LoadObject(x0, value); | |
| 811 __ Ret(); | |
| 812 } | |
| 813 | |
| 814 | |
| 815 void NamedLoadHandlerCompiler::GenerateLoadCallback( | 800 void NamedLoadHandlerCompiler::GenerateLoadCallback( |
| 816 Register reg, Handle<ExecutableAccessorInfo> callback) { | 801 Register reg, Handle<ExecutableAccessorInfo> callback) { |
| 817 DCHECK(!AreAliased(scratch2(), scratch3(), scratch4(), reg)); | 802 DCHECK(!AreAliased(scratch2(), scratch3(), scratch4(), reg)); |
| 818 | 803 |
| 819 // Build ExecutableAccessorInfo::args_ list on the stack and push property | 804 // Build ExecutableAccessorInfo::args_ list on the stack and push property |
| 820 // name below the exit frame to make GC aware of them and store pointers to | 805 // name below the exit frame to make GC aware of them and store pointers to |
| 821 // them. | 806 // them. |
| 822 STATIC_ASSERT(PropertyCallbackArguments::kHolderIndex == 0); | 807 STATIC_ASSERT(PropertyCallbackArguments::kHolderIndex == 0); |
| 823 STATIC_ASSERT(PropertyCallbackArguments::kIsolateIndex == 1); | 808 STATIC_ASSERT(PropertyCallbackArguments::kIsolateIndex == 1); |
| 824 STATIC_ASSERT(PropertyCallbackArguments::kReturnValueDefaultValueIndex == 2); | 809 STATIC_ASSERT(PropertyCallbackArguments::kReturnValueDefaultValueIndex == 2); |
| (...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1256 | 1241 |
| 1257 // Miss case, call the runtime. | 1242 // Miss case, call the runtime. |
| 1258 __ Bind(&miss); | 1243 __ Bind(&miss); |
| 1259 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); | 1244 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); |
| 1260 } | 1245 } |
| 1261 | 1246 |
| 1262 | 1247 |
| 1263 } } // namespace v8::internal | 1248 } } // namespace v8::internal |
| 1264 | 1249 |
| 1265 #endif // V8_TARGET_ARCH_ARM64 | 1250 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |