Index: src/interpreter/bytecodes.cc |
diff --git a/src/interpreter/bytecodes.cc b/src/interpreter/bytecodes.cc |
index 5f43ea3370f46619c25f8ac3b065a46f5adb0207..a50e39cc2f3f97b12d6162105b7cfafffeba2b83 100644 |
--- a/src/interpreter/bytecodes.cc |
+++ b/src/interpreter/bytecodes.cc |
@@ -266,6 +266,8 @@ std::ostream& operator<<(std::ostream& os, const OperandSize& operand_size) { |
static const int kLastParamRegisterIndex = |
-InterpreterFrameConstants::kLastParamFromRegisterPointer / kPointerSize; |
+static const int kFunctionContextRegisterIndex = |
+ -InterpreterFrameConstants::kContextFromRegisterPointer / kPointerSize; |
// Registers occupy range 0-127 in 8-bit value leaving 128 unused values. |
@@ -291,6 +293,16 @@ int Register::ToParameterIndex(int parameter_count) const { |
} |
+Register Register::function_context() { |
+ return Register(kFunctionContextRegisterIndex); |
+} |
+ |
+ |
+bool Register::is_function_context() const { |
+ return index() == kFunctionContextRegisterIndex; |
+} |
+ |
+ |
int Register::MaxParameterIndex() { return kMaxParameterIndex; } |