summaryrefslogtreecommitdiff
path: root/chromium/v8/src/baseline/baseline-compiler.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-09-03 13:32:17 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-10-01 14:31:55 +0200
commit21ba0c5d4bf8fba15dddd97cd693bad2358b77fd (patch)
tree91be119f694044dfc1ff9fdc054459e925de9df0 /chromium/v8/src/baseline/baseline-compiler.h
parent03c549e0392f92c02536d3f86d5e1d8dfa3435ac (diff)
downloadqtwebengine-chromium-21ba0c5d4bf8fba15dddd97cd693bad2358b77fd.tar.gz
BASELINE: Update Chromium to 92.0.4515.166
Change-Id: I42a050486714e9e54fc271f2a8939223a02ae364
Diffstat (limited to 'chromium/v8/src/baseline/baseline-compiler.h')
-rw-r--r--chromium/v8/src/baseline/baseline-compiler.h34
1 files changed, 13 insertions, 21 deletions
diff --git a/chromium/v8/src/baseline/baseline-compiler.h b/chromium/v8/src/baseline/baseline-compiler.h
index dbb2f64f6c5..c86d9417e8a 100644
--- a/chromium/v8/src/baseline/baseline-compiler.h
+++ b/chromium/v8/src/baseline/baseline-compiler.h
@@ -8,7 +8,7 @@
// TODO(v8:11421): Remove #if once baseline compiler is ported to other
// architectures.
#if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_ARM64 || \
- V8_TARGET_ARCH_ARM
+ V8_TARGET_ARCH_ARM || V8_TARGET_ARCH_RISCV64
#include "src/base/logging.h"
#include "src/base/threaded-list.h"
@@ -39,8 +39,10 @@ class BytecodeOffsetTableBuilder {
previous_pc_ = pc_offset;
}
- template <typename LocalIsolate>
- Handle<ByteArray> ToBytecodeOffsetTable(LocalIsolate* isolate);
+ template <typename IsolateT>
+ Handle<ByteArray> ToBytecodeOffsetTable(IsolateT* isolate);
+
+ void Reserve(size_t size) { bytes_.reserve(size); }
private:
size_t previous_pc_ = 0;
@@ -121,31 +123,21 @@ class BaselineCompiler {
void SelectBooleanConstant(
Register output, std::function<void(Label*, Label::Distance)> jump_func);
- // Returns ToBoolean result into kInterpreterAccumulatorRegister.
- void JumpIfToBoolean(bool do_jump_if_true, Register reg, Label* label,
+ // Jumps based on calling ToBoolean on kInterpreterAccumulatorRegister.
+ void JumpIfToBoolean(bool do_jump_if_true, Label* label,
Label::Distance distance = Label::kFar);
// Call helpers.
- template <typename... Args>
- void CallBuiltin(Builtins::Name builtin, Args... args);
+ template <Builtins::Name kBuiltin, typename... Args>
+ void CallBuiltin(Args... args);
template <typename... Args>
void CallRuntime(Runtime::FunctionId function, Args... args);
- template <typename... Args>
- void TailCallBuiltin(Builtins::Name builtin, Args... args);
+ template <Builtins::Name kBuiltin, typename... Args>
+ void TailCallBuiltin(Args... args);
- void BuildBinop(
- Builtins::Name builtin_name, bool fast_path = false,
- bool check_overflow = false,
- std::function<void(Register, Register)> instruction = [](Register,
- Register) {});
- void BuildUnop(Builtins::Name builtin_name);
- void BuildCompare(Builtins::Name builtin_name);
- void BuildBinopWithConstant(Builtins::Name builtin_name);
-
- template <typename... Args>
- void BuildCall(ConvertReceiverMode mode, uint32_t slot, uint32_t arg_count,
- Args... args);
+ template <ConvertReceiverMode kMode, typename... Args>
+ void BuildCall(uint32_t slot, uint32_t arg_count, Args... args);
#ifdef V8_TRACE_UNOPTIMIZED
void TraceBytecode(Runtime::FunctionId function_id);