Index: src/interpreter/bytecode-array-iterator.cc |
diff --git a/src/interpreter/bytecode-array-iterator.cc b/src/interpreter/bytecode-array-iterator.cc |
index 319d2a07bb7b66a87578d372cf5e8048b15b747d..a4a8f799a3019bbacb28b6ea24913f87ac5aced2 100644 |
--- a/src/interpreter/bytecode-array-iterator.cc |
+++ b/src/interpreter/bytecode-array-iterator.cc |
@@ -4,6 +4,7 @@ |
#include "src/interpreter/bytecode-array-iterator.h" |
+#include "src/interpreter/interpreter-intrinsics.h" |
#include "src/objects-inl.h" |
namespace v8 { |
@@ -140,11 +141,23 @@ int BytecodeArrayIterator::GetRegisterOperandRange(int operand_index) const { |
} |
} |
-uint32_t BytecodeArrayIterator::GetRuntimeIdOperand(int operand_index) const { |
+Runtime::FunctionId BytecodeArrayIterator::GetRuntimeIdOperand( |
+ int operand_index) const { |
OperandType operand_type = |
Bytecodes::GetOperandType(current_bytecode(), operand_index); |
DCHECK(operand_type == OperandType::kRuntimeId); |
- return GetUnsignedOperand(operand_index, operand_type); |
+ uint32_t raw_id = GetUnsignedOperand(operand_index, operand_type); |
+ return static_cast<Runtime::FunctionId>(raw_id); |
+} |
+ |
+Runtime::FunctionId BytecodeArrayIterator::GetIntrinsicIdOperand( |
+ int operand_index) const { |
+ OperandType operand_type = |
+ Bytecodes::GetOperandType(current_bytecode(), operand_index); |
+ DCHECK(operand_type == OperandType::kIntrinsicId); |
+ uint32_t raw_id = GetUnsignedOperand(operand_index, operand_type); |
+ return IntrinsicsHelper::ToRuntimeId( |
+ static_cast<IntrinsicsHelper::IntrinsicId>(raw_id)); |
} |
Handle<Object> BytecodeArrayIterator::GetConstantForIndexOperand( |