Commit e794a9e7 authored by Dan Elphick's avatar Dan Elphick Committed by Commit Bot

[wasm] Make Wasm builtin calls skip trampolines

Change builtin calls in wasm-compiler.cc to use CallBuiltinPointer
rather than CallCodeObject which means they bypass the trampoline.

Since the Code objects are no longer being called, remove them from the
executable Code object allow-list in builtins.cc.

Bug: v8:9338
Change-Id: I9835bab859c4d5e45dbfb4c7a339ccf74e719237
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893337
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64744}
parent fcbe7498
...@@ -452,12 +452,8 @@ bool Builtins::CodeObjectIsExecutable(int builtin_index) { ...@@ -452,12 +452,8 @@ bool Builtins::CodeObjectIsExecutable(int builtin_index) {
// pared down as much as possible. // pared down as much as possible.
switch (builtin_index) { switch (builtin_index) {
case Builtins::kInterpreterEntryTrampoline: case Builtins::kInterpreterEntryTrampoline:
case Builtins::kToNumber:
case Builtins::kI64ToBigInt:
case Builtins::kBigIntToI64:
case Builtins::kCompileLazy: case Builtins::kCompileLazy:
case Builtins::kCompileLazyDeoptimizedCode: case Builtins::kCompileLazyDeoptimizedCode:
case Builtins::kAllocateHeapNumber:
case Builtins::kCEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit: case Builtins::kCEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit:
case Builtins::kCEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit: case Builtins::kCEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit:
case Builtins::kCEntry_Return1_DontSaveFPRegs_ArgvInRegister_NoBuiltinExit: case Builtins::kCEntry_Return1_DontSaveFPRegs_ArgvInRegister_NoBuiltinExit:
...@@ -478,11 +474,6 @@ bool Builtins::CodeObjectIsExecutable(int builtin_index) { ...@@ -478,11 +474,6 @@ bool Builtins::CodeObjectIsExecutable(int builtin_index) {
case Builtins::kArgumentsAdaptorTrampoline: case Builtins::kArgumentsAdaptorTrampoline:
case Builtins::kHandleApiCall: case Builtins::kHandleApiCall:
case Builtins::kInstantiateAsmJs: case Builtins::kInstantiateAsmJs:
case Builtins::kIterableToFixedArrayForWasm:
// required for ia32
case Builtins::kI32PairToBigInt:
case Builtins::kBigIntToI32Pair:
return true; return true;
default: default:
return false; return false;
......
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