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

Unified Diff: src/compiler/interpreter-assembler.h

Issue 1294793002: [Interpreter] Add implementations for load immediate bytecodes. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@interpreter_accum
Patch Set: Rebased Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/compiler/interpreter-assembler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/interpreter-assembler.h
diff --git a/src/compiler/interpreter-assembler.h b/src/compiler/interpreter-assembler.h
index 7d095c9be49d8de0d2f7cad45c827a506d491ead..4662fc8042519c6ce81a9d50b0489042a1c866d9 100644
--- a/src/compiler/interpreter-assembler.h
+++ b/src/compiler/interpreter-assembler.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef V8_COMPILER_INTERPRETER_CODEGEN_H_
-#define V8_COMPILER_INTERPRETER_CODEGEN_H_
+#ifndef V8_COMPILER_INTERPRETER_ASSEMBLER_H_
+#define V8_COMPILER_INTERPRETER_ASSEMBLER_H_
// Clients of this interface shouldn't depend on lots of compiler internals.
// Do not include anything from src/compiler here!
@@ -36,6 +36,13 @@ class InterpreterAssembler {
Handle<Code> GenerateCode();
+ // Returns the Imm8 immediate for bytecode operand |operand_index| in the
+ // current bytecode.
+ Node* BytecodeOperandImm8(int operand_index);
+ // Returns the register index for bytecode operand |operand_index| in the
+ // current bytecode.
+ Node* BytecodeOperandReg(int operand_index);
+
// Accumulator.
Node* GetAccumulator();
void SetAccumulator(Node* value);
@@ -49,15 +56,16 @@ class InterpreterAssembler {
Node* NumberConstant(double value);
Node* HeapConstant(Unique<HeapObject> object);
+ // Tag and untag Smi values.
+ Node* SmiTag(Node* value);
+ Node* SmiUntag(Node* value);
+
// Returns from the function.
void Return();
// Dispatch to the bytecode.
void Dispatch();
- Node* BytecodeOperand(int index);
- Node* BytecodeOperandSignExtended(int index);
-
protected:
// Close the graph.
void End();
@@ -79,6 +87,10 @@ class InterpreterAssembler {
// Returns the offset of register |index| relative to RegisterFilePointer().
Node* RegisterFrameOffset(Node* index);
+ Node* SmiShiftBitsConstant();
+ Node* BytecodeOperand(int operand_index);
+ Node* BytecodeOperandSignExtended(int operand_index);
+
// Returns BytecodeOffset() advanced by delta bytecodes. Note: this does not
// update BytecodeOffset() itself.
Node* Advance(int delta);
@@ -103,4 +115,4 @@ class InterpreterAssembler {
} // namespace internal
} // namespace v8
-#endif // V8_COMPILER_INTERPRETER_CODEGEN_H_
+#endif // V8_COMPILER_INTERPRETER_ASSEMBLER_H_
« no previous file with comments | « no previous file | src/compiler/interpreter-assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698