Commit 50ddb12d authored by Victor Gomes's avatar Victor Gomes Committed by Commit Bot

[cleanup] Remove V8_REVERSE_JSARGS flag

Change-Id: I2f262f4545de9e421310094d0dfab2f6147869b5
Bug: v8:10201
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2466116Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#70502}
parent d2d7f476
...@@ -112,9 +112,6 @@ declare_args() { ...@@ -112,9 +112,6 @@ declare_args() {
# Disable arguments adaptor frame (sets -dV8_NO_ARGUMENTS_ADAPTOR). # Disable arguments adaptor frame (sets -dV8_NO_ARGUMENTS_ADAPTOR).
v8_disable_arguments_adaptor = v8_current_cpu == "x64" v8_disable_arguments_adaptor = v8_current_cpu == "x64"
# Reverse JS arguments order in the stack (sets -dV8_REVERSE_JSARGS).
v8_enable_reverse_jsargs = true
# Sets -dOBJECT_PRINT. # Sets -dOBJECT_PRINT.
v8_enable_object_print = "" v8_enable_object_print = ""
...@@ -373,10 +370,6 @@ assert(!v8_use_multi_snapshots || !v8_control_flow_integrity, ...@@ -373,10 +370,6 @@ assert(!v8_use_multi_snapshots || !v8_control_flow_integrity,
assert(!v8_enable_heap_sandbox || v8_enable_pointer_compression, assert(!v8_enable_heap_sandbox || v8_enable_pointer_compression,
"V8 Heap Sandbox requires pointer compression") "V8 Heap Sandbox requires pointer compression")
assert(
!v8_disable_arguments_adaptor || v8_enable_reverse_jsargs,
"Disabling the arguments adaptor frame requires reversing the JS arguments stack")
assert(!v8_enable_unconditional_write_barriers || !v8_disable_write_barriers, assert(!v8_enable_unconditional_write_barriers || !v8_disable_write_barriers,
"Write barriers can't be both enabled and disabled") "Write barriers can't be both enabled and disabled")
...@@ -535,9 +528,6 @@ config("v8_header_features") { ...@@ -535,9 +528,6 @@ config("v8_header_features") {
if (v8_disable_arguments_adaptor) { if (v8_disable_arguments_adaptor) {
defines += [ "V8_NO_ARGUMENTS_ADAPTOR" ] defines += [ "V8_NO_ARGUMENTS_ADAPTOR" ]
} }
if (v8_enable_reverse_jsargs) {
defines += [ "V8_REVERSE_JSARGS" ]
}
} }
# Put defines here that are only used in our internal files and NEVER in # Put defines here that are only used in our internal files and NEVER in
......
...@@ -11246,22 +11246,14 @@ template<typename T> ...@@ -11246,22 +11246,14 @@ template<typename T>
Local<Value> FunctionCallbackInfo<T>::operator[](int i) const { Local<Value> FunctionCallbackInfo<T>::operator[](int i) const {
// values_ points to the first argument (not the receiver). // values_ points to the first argument (not the receiver).
if (i < 0 || length_ <= i) return Local<Value>(*Undefined(GetIsolate())); if (i < 0 || length_ <= i) return Local<Value>(*Undefined(GetIsolate()));
#ifdef V8_REVERSE_JSARGS
return Local<Value>(reinterpret_cast<Value*>(values_ + i)); return Local<Value>(reinterpret_cast<Value*>(values_ + i));
#else
return Local<Value>(reinterpret_cast<Value*>(values_ - i));
#endif
} }
template<typename T> template<typename T>
Local<Object> FunctionCallbackInfo<T>::This() const { Local<Object> FunctionCallbackInfo<T>::This() const {
// values_ points to the first argument (not the receiver). // values_ points to the first argument (not the receiver).
#ifdef V8_REVERSE_JSARGS
return Local<Object>(reinterpret_cast<Object*>(values_ - 1)); return Local<Object>(reinterpret_cast<Object*>(values_ - 1));
#else
return Local<Object>(reinterpret_cast<Object*>(values_ + 1));
#endif
} }
......
...@@ -539,7 +539,7 @@ ...@@ -539,7 +539,7 @@
'debug_x64_trybot': [ 'debug_x64_trybot': [
'debug_trybot', 'x64'], 'debug_trybot', 'x64'],
'debug_x64_reverse_jsargs': [ 'debug_x64_reverse_jsargs': [
'debug_bot', 'x64', 'reverse_jsargs'], 'debug_bot', 'x64'],
'debug_x64_trybot_custom': [ 'debug_x64_trybot_custom': [
'debug_trybot', 'x64', 'v8_snapshot_custom'], 'debug_trybot', 'x64', 'v8_snapshot_custom'],
'full_debug_x64': [ 'full_debug_x64': [
...@@ -758,10 +758,6 @@ ...@@ -758,10 +758,6 @@
'mixins': ['release_bot', 'minimal_symbols', 'dcheck_always_on'], 'mixins': ['release_bot', 'minimal_symbols', 'dcheck_always_on'],
}, },
'reverse_jsargs': {
'gn_args': 'v8_enable_reverse_jsargs=true',
},
'official': { 'official': {
'gn_args': 'is_official_build=true', 'gn_args': 'is_official_build=true',
}, },
......
This diff is collapsed.
This diff is collapsed.
...@@ -206,7 +206,6 @@ MaybeHandle<Object> Builtins::InvokeApiFunction(Isolate* isolate, ...@@ -206,7 +206,6 @@ MaybeHandle<Object> Builtins::InvokeApiFunction(Isolate* isolate,
} else { } else {
argv = new Address[frame_argc]; argv = new Address[frame_argc];
} }
#ifdef V8_REVERSE_JSARGS
argv[BuiltinArguments::kNewTargetOffset] = new_target->ptr(); argv[BuiltinArguments::kNewTargetOffset] = new_target->ptr();
argv[BuiltinArguments::kTargetOffset] = function->ptr(); argv[BuiltinArguments::kTargetOffset] = function->ptr();
argv[BuiltinArguments::kArgcOffset] = Smi::FromInt(frame_argc).ptr(); argv[BuiltinArguments::kArgcOffset] = Smi::FromInt(frame_argc).ptr();
...@@ -217,19 +216,6 @@ MaybeHandle<Object> Builtins::InvokeApiFunction(Isolate* isolate, ...@@ -217,19 +216,6 @@ MaybeHandle<Object> Builtins::InvokeApiFunction(Isolate* isolate,
for (int i = 0; i < argc; ++i) { for (int i = 0; i < argc; ++i) {
argv[cursor++] = args[i]->ptr(); argv[cursor++] = args[i]->ptr();
} }
#else
int cursor = frame_argc - 1;
argv[cursor--] = receiver->ptr();
for (int i = 0; i < argc; ++i) {
argv[cursor--] = args[i]->ptr();
}
DCHECK_EQ(cursor, BuiltinArguments::kPaddingOffset);
argv[BuiltinArguments::kPaddingOffset] =
ReadOnlyRoots(isolate).the_hole_value().ptr();
argv[BuiltinArguments::kArgcOffset] = Smi::FromInt(frame_argc).ptr();
argv[BuiltinArguments::kTargetOffset] = function->ptr();
argv[BuiltinArguments::kNewTargetOffset] = new_target->ptr();
#endif
MaybeHandle<Object> result; MaybeHandle<Object> result;
{ {
RelocatableArguments arguments(isolate, frame_argc, &argv[frame_argc - 1]); RelocatableArguments arguments(isolate, frame_argc, &argv[frame_argc - 1]);
......
...@@ -23,20 +23,12 @@ Handle<Object> BuiltinArguments::atOrUndefined(Isolate* isolate, ...@@ -23,20 +23,12 @@ Handle<Object> BuiltinArguments::atOrUndefined(Isolate* isolate,
Handle<Object> BuiltinArguments::receiver() const { return at<Object>(0); } Handle<Object> BuiltinArguments::receiver() const { return at<Object>(0); }
Handle<JSFunction> BuiltinArguments::target() const { Handle<JSFunction> BuiltinArguments::target() const {
#ifdef V8_REVERSE_JSARGS
int index = kTargetOffset; int index = kTargetOffset;
#else
int index = Arguments::length() - 1 - kTargetOffset;
#endif
return Handle<JSFunction>(address_of_arg_at(index)); return Handle<JSFunction>(address_of_arg_at(index));
} }
Handle<HeapObject> BuiltinArguments::new_target() const { Handle<HeapObject> BuiltinArguments::new_target() const {
#ifdef V8_REVERSE_JSARGS
int index = kNewTargetOffset; int index = kNewTargetOffset;
#else
int index = Arguments::length() - 1 - kNewTargetOffset;
#endif
return Handle<JSFunction>(address_of_arg_at(index)); return Handle<JSFunction>(address_of_arg_at(index));
} }
......
...@@ -52,12 +52,7 @@ class BuiltinArguments : public JavaScriptArguments { ...@@ -52,12 +52,7 @@ class BuiltinArguments : public JavaScriptArguments {
static constexpr int kNumExtraArgs = 4; static constexpr int kNumExtraArgs = 4;
static constexpr int kNumExtraArgsWithReceiver = 5; static constexpr int kNumExtraArgsWithReceiver = 5;
#ifdef V8_REVERSE_JSARGS
static constexpr int kArgsOffset = 4; static constexpr int kArgsOffset = 4;
#else
static constexpr int kArgsOffset = 0;
#endif
inline Handle<Object> atOrUndefined(Isolate* isolate, int index) const; inline Handle<Object> atOrUndefined(Isolate* isolate, int index) const;
inline Handle<Object> receiver() const; inline Handle<Object> receiver() const;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -731,11 +731,7 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler { ...@@ -731,11 +731,7 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler {
// TODO(victorgomes): Remove this function once we stick with the reversed // TODO(victorgomes): Remove this function once we stick with the reversed
// arguments order. // arguments order.
MemOperand ReceiverOperand(Register argc) { MemOperand ReceiverOperand(Register argc) {
#ifdef V8_REVERSE_JSARGS
return MemOperand(sp, 0); return MemOperand(sp, 0);
#else
return MemOperand(sp, argc, LSL, kSystemPointerSizeLog2);
#endif
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
......
...@@ -2186,11 +2186,7 @@ void MacroAssembler::InvokeFunctionCode(Register function, Register new_target, ...@@ -2186,11 +2186,7 @@ void MacroAssembler::InvokeFunctionCode(Register function, Register new_target,
} }
Operand MacroAssembler::ReceiverOperand(Register arg_count) { Operand MacroAssembler::ReceiverOperand(Register arg_count) {
#ifdef V8_REVERSE_JSARGS
return Operand(0); return Operand(0);
#else
return Operand(arg_count, LSL, kXRegSizeLog2);
#endif
} }
void MacroAssembler::InvokeFunctionWithNewTarget( void MacroAssembler::InvokeFunctionWithNewTarget(
......
...@@ -1781,8 +1781,6 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler { ...@@ -1781,8 +1781,6 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler {
DecodeField<Field>(reg, reg); DecodeField<Field>(reg, reg);
} }
// TODO(victorgomes): inline this function once we remove V8_REVERSE_JSARGS
// flag.
Operand ReceiverOperand(const Register arg_count); Operand ReceiverOperand(const Register arg_count);
// ---- SMI and Number Utilities ---- // ---- SMI and Number Utilities ----
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -913,21 +913,11 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler { ...@@ -913,21 +913,11 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler {
// TODO(victorgomes): Remove this function once we stick with the reversed // TODO(victorgomes): Remove this function once we stick with the reversed
// arguments order. // arguments order.
void LoadReceiver(Register dest, Register argc) { void LoadReceiver(Register dest, Register argc) {
#ifdef V8_REVERSE_JSARGS
Lw(dest, MemOperand(sp, 0)); Lw(dest, MemOperand(sp, 0));
#else
Lsa(dest, sp, argc, kPointerSizeLog2);
Lw(dest, MemOperand(dest, 0));
#endif
} }
void StoreReceiver(Register rec, Register argc, Register scratch) { void StoreReceiver(Register rec, Register argc, Register scratch) {
#ifdef V8_REVERSE_JSARGS
Sw(rec, MemOperand(sp, 0)); Sw(rec, MemOperand(sp, 0));
#else
Lsa(scratch, sp, argc, kPointerSizeLog2);
Sw(rec, MemOperand(scratch, 0));
#endif
} }
// Swap two registers. If the scratch register is omitted then a slightly // Swap two registers. If the scratch register is omitted then a slightly
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment