Chromium Code Reviews| Index: src/compiler/bytecode-graph-builder.cc |
| diff --git a/src/compiler/bytecode-graph-builder.cc b/src/compiler/bytecode-graph-builder.cc |
| index 4ac24027f32614f113054a3ca164c18246acc345..5cac112e188ff107daf969eecb2230d8c8e0e192 100644 |
| --- a/src/compiler/bytecode-graph-builder.cc |
| +++ b/src/compiler/bytecode-graph-builder.cc |
| @@ -2217,6 +2217,20 @@ void BytecodeGraphBuilder::VisitDebugger() { |
| DEBUG_BREAK_BYTECODE_LIST(DEBUG_BREAK); |
| #undef DEBUG_BREAK |
| +void BytecodeGraphBuilder::VisitIncBlockCounter() { |
| + DCHECK(FLAG_block_coverage); |
| + |
| + PrepareEagerCheckpoint(); |
|
rmcilroy
2017/05/18 14:17:59
I don't think you would need a Checkpoint for this
jgruber
2017/05/22 09:43:32
Done.
|
| + |
| + Node* slot = jsgraph()->Constant(bytecode_iterator().GetImmediateOperand(0)); |
| + Node* vector = jsgraph()->Constant(feedback_vector()); |
| + |
| + const Operator* op = javascript()->CallRuntime(Runtime::kIncBlockCounter); |
| + |
| + Node* node = NewNode(op, vector, slot); |
| + environment()->RecordAfterState(node, Environment::kAttachFrameState); |
| +} |
| + |
| void BytecodeGraphBuilder::VisitForInPrepare() { |
| PrepareEagerCheckpoint(); |
| Node* receiver = |