Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(148)

Side by Side Diff: src/arm64/code-stubs-arm64.cc

Issue 2838143003: [stubs] Drop CallApiCallbackStub::call_data_undefined optimization. (Closed)
Patch Set: Fix handler-compiler for remaining archs. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/arm/code-stubs-arm.cc ('k') | src/code-stubs.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #if V8_TARGET_ARCH_ARM64 5 #if V8_TARGET_ARCH_ARM64
6 6
7 #include "src/api-arguments.h" 7 #include "src/api-arguments.h"
8 #include "src/arm64/assembler-arm64-inl.h" 8 #include "src/arm64/assembler-arm64-inl.h"
9 #include "src/arm64/frames-arm64.h" 9 #include "src/arm64/frames-arm64.h"
10 #include "src/arm64/macro-assembler-arm64-inl.h" 10 #include "src/arm64/macro-assembler-arm64-inl.h"
(...skipping 3013 matching lines...) Expand 10 before | Expand all | Expand 10 after
3024 __ PushRoot(Heap::kUndefinedValueRootIndex); 3024 __ PushRoot(Heap::kUndefinedValueRootIndex);
3025 3025
3026 // context, callee and call data. 3026 // context, callee and call data.
3027 __ Push(context, callee, call_data); 3027 __ Push(context, callee, call_data);
3028 3028
3029 if (!is_lazy()) { 3029 if (!is_lazy()) {
3030 // Load context from callee 3030 // Load context from callee
3031 __ Ldr(context, FieldMemOperand(callee, JSFunction::kContextOffset)); 3031 __ Ldr(context, FieldMemOperand(callee, JSFunction::kContextOffset));
3032 } 3032 }
3033 3033
3034 if (!call_data_undefined()) { 3034 __ LoadRoot(call_data, Heap::kUndefinedValueRootIndex);
3035 __ LoadRoot(call_data, Heap::kUndefinedValueRootIndex);
3036 }
3037 Register isolate_reg = x5; 3035 Register isolate_reg = x5;
3038 __ Mov(isolate_reg, ExternalReference::isolate_address(masm->isolate())); 3036 __ Mov(isolate_reg, ExternalReference::isolate_address(masm->isolate()));
3039 3037
3040 // FunctionCallbackArguments: 3038 // FunctionCallbackArguments:
3041 // return value, return value default, isolate, holder. 3039 // return value, return value default, isolate, holder.
3042 __ Push(call_data, call_data, isolate_reg, holder); 3040 __ Push(call_data, call_data, isolate_reg, holder);
3043 3041
3044 // Prepare arguments. 3042 // Prepare arguments.
3045 Register args = x6; 3043 Register args = x6;
3046 __ Mov(args, masm->StackPointer()); 3044 __ Mov(args, masm->StackPointer());
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
3163 kStackUnwindSpace, NULL, spill_offset, 3161 kStackUnwindSpace, NULL, spill_offset,
3164 return_value_operand, NULL); 3162 return_value_operand, NULL);
3165 } 3163 }
3166 3164
3167 #undef __ 3165 #undef __
3168 3166
3169 } // namespace internal 3167 } // namespace internal
3170 } // namespace v8 3168 } // namespace v8
3171 3169
3172 #endif // V8_TARGET_ARCH_ARM64 3170 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm/code-stubs-arm.cc ('k') | src/code-stubs.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698