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 |