| Index: src/compiler/bytecode-graph-builder.cc
|
| diff --git a/src/compiler/bytecode-graph-builder.cc b/src/compiler/bytecode-graph-builder.cc
|
| index c6dea858f572a9f7d5d96405fa01588abf6d6455..5e63b599424be223e6bb66b1b568f66113734473 100644
|
| --- a/src/compiler/bytecode-graph-builder.cc
|
| +++ b/src/compiler/bytecode-graph-builder.cc
|
| @@ -1096,6 +1096,25 @@ void BytecodeGraphBuilder::VisitCallRuntimeForPairWide() {
|
| BuildCallRuntimeForPair();
|
| }
|
|
|
| +void BytecodeGraphBuilder::BuildInvokeIntrinsic() {
|
| + FrameStateBeforeAndAfter states(this);
|
| + Runtime::FunctionId functionId =
|
| + static_cast<Runtime::FunctionId>(bytecode_iterator().GetIndexOperand(0));
|
| + interpreter::Register first_arg = bytecode_iterator().GetRegisterOperand(1);
|
| + int arg_count = bytecode_iterator().GetRegisterCountOperand(2);
|
| +
|
| + // Create node to perform the runtime call.
|
| + const Operator* call = javascript()->CallRuntime(functionId, arg_count);
|
| + Node* value = ProcessCallRuntimeArguments(call, first_arg, arg_count);
|
| + environment()->BindAccumulator(value, &states);
|
| +}
|
| +
|
| +void BytecodeGraphBuilder::VisitInvokeIntrinsic() { BuildInvokeIntrinsic(); }
|
| +
|
| +void BytecodeGraphBuilder::VisitInvokeIntrinsicWide() {
|
| + BuildInvokeIntrinsic();
|
| +}
|
| +
|
| Node* BytecodeGraphBuilder::ProcessCallNewArguments(
|
| const Operator* call_new_op, Node* callee, Node* new_target,
|
| interpreter::Register first_arg, size_t arity) {
|
|
|