Index: src/interpreter/interpreter-assembler.h |
diff --git a/src/interpreter/interpreter-assembler.h b/src/interpreter/interpreter-assembler.h |
index bca3e034b3c4b4a02ca79685b0193efed054665b..86ecea54dd08517a1cd87890d6dd7f0f010bd46f 100644 |
--- a/src/interpreter/interpreter-assembler.h |
+++ b/src/interpreter/interpreter-assembler.h |
@@ -150,6 +150,7 @@ class InterpreterAssembler : public compiler::CodeStubAssembler { |
void Abort(BailoutReason bailout_reason); |
protected: |
+ Bytecode bytecode() const { return bytecode_; } |
static bool TargetSupportsUnalignedAccess(); |
private: |
@@ -162,6 +163,11 @@ class InterpreterAssembler : public compiler::CodeStubAssembler { |
// Returns a raw pointer to first entry in the interpreter dispatch table. |
compiler::Node* DispatchTableRawPointer(); |
+ // Returns the accumulator value without checking whether bytecode |
+ // uses it. This is intended to be used only in dispatch and in |
+ // tracing as these need to bypass accumulator use validity checks. |
+ compiler::Node* GetAccumulatorUnchecked(); |
+ |
// Saves and restores interpreter bytecode offset to the interpreter stack |
// frame when performing a call. |
void CallPrologue() override; |
@@ -217,6 +223,7 @@ class InterpreterAssembler : public compiler::CodeStubAssembler { |
Bytecode bytecode_; |
OperandScale operand_scale_; |
CodeStubAssembler::Variable accumulator_; |
+ AccumulatorUse accumulator_use_; |
CodeStubAssembler::Variable context_; |
CodeStubAssembler::Variable bytecode_array_; |