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

Unified Diff: src/frames.h

Issue 1699013002: [Interpreter] Push BytecodeArray onto interpreted stack frames. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Modify EnterBytecodeDispatch too Created 4 years, 10 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 | « src/deoptimizer.cc ('k') | src/frames.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/frames.h
diff --git a/src/frames.h b/src/frames.h
index cd66277b178a23d3fe9d0b61153707cf89c7c690..fa55d15d5f6a0ed5bbf91755d018883b2e31e25a 100644
--- a/src/frames.h
+++ b/src/frames.h
@@ -185,7 +185,7 @@ class InterpreterFrameConstants : public AllStatic {
// FP-relative.
static const int kNewTargetFromFp =
-StandardFrameConstants::kFixedFrameSizeFromFp - 1 * kPointerSize;
- static const int kDispatchTableFromFp =
+ static const int kBytecodeArrayFromFp =
-StandardFrameConstants::kFixedFrameSizeFromFp - 2 * kPointerSize;
static const int kBytecodeOffsetFromFp =
-StandardFrameConstants::kFixedFrameSizeFromFp - 3 * kPointerSize;
@@ -193,6 +193,7 @@ class InterpreterFrameConstants : public AllStatic {
-StandardFrameConstants::kFixedFrameSizeFromFp - 4 * kPointerSize;
// Expression index for {StandardFrame::GetExpressionAddress}.
+ static const int kBytecodeArrayExpressionIndex = 1;
static const int kBytecodeOffsetExpressionIndex = 2;
static const int kRegisterFileExpressionIndex = 3;
@@ -201,7 +202,7 @@ class InterpreterFrameConstants : public AllStatic {
StandardFrameConstants::kFixedFrameSize + 4 * kPointerSize;
static const int kBytecodeOffsetFromRegisterPointer = 1 * kPointerSize;
- static const int kDispatchTableFromRegisterPointer = 2 * kPointerSize;
+ static const int kBytecodeArrayFromRegisterPointer = 2 * kPointerSize;
static const int kNewTargetFromRegisterPointer = 3 * kPointerSize;
static const int kFunctionFromRegisterPointer = 4 * kPointerSize;
static const int kContextFromRegisterPointer = 5 * kPointerSize;
@@ -728,9 +729,6 @@ class InterpretedFrame : public JavaScriptFrame {
public:
Type type() const override { return INTERPRETED; }
- // GC support.
- void Iterate(ObjectVisitor* v) const override;
-
// Lookup exception handler for current {pc}, returns -1 if none found.
int LookupExceptionHandlerInTable(
int* data, HandlerTable::CatchPrediction* prediction) override;
@@ -742,12 +740,12 @@ class InterpretedFrame : public JavaScriptFrame {
// unwinding to continue execution at a different bytecode offset.
void PatchBytecodeOffset(int new_offset);
- // Returns the current dispatch table pointer.
- Address GetDispatchTable() const;
+ // Returns the frame's current bytecode array.
+ Object* GetBytecodeArray() const;
- // Updates the current dispatch table pointer with |dispatch_table|. Used by
- // the debugger to swap execution onto the debugger dispatch table.
- void PatchDispatchTable(Address dispatch_table);
+ // Updates the frame's BytecodeArray with |bytecode_array|. Used by the
+ // debugger to swap execution onto a BytecodeArray patched with breakpoints.
+ void PatchBytecodeArray(Object* bytecode_array);
// Access to the interpreter register file for this frame.
Object* GetInterpreterRegister(int register_index) const;
« no previous file with comments | « src/deoptimizer.cc ('k') | src/frames.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698