OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/interpreter/bytecode-generator.h" | 5 #include "src/interpreter/bytecode-generator.h" |
6 | 6 |
7 #include <stack> | 7 #include <stack> |
8 | 8 |
9 #include "src/compiler.h" | 9 #include "src/compiler.h" |
10 #include "src/interpreter/control-flow-builders.h" | 10 #include "src/interpreter/control-flow-builders.h" |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 do { | 126 do { |
127 if (current->Execute(command, statement)) return; | 127 if (current->Execute(command, statement)) return; |
128 current = current->outer(); | 128 current = current->outer(); |
129 } while (current != nullptr); | 129 } while (current != nullptr); |
130 UNREACHABLE(); | 130 UNREACHABLE(); |
131 } | 131 } |
132 | 132 |
133 | 133 |
134 BytecodeGenerator::BytecodeGenerator(Isolate* isolate, Zone* zone) | 134 BytecodeGenerator::BytecodeGenerator(Isolate* isolate, Zone* zone) |
135 : isolate_(isolate), | 135 : isolate_(isolate), |
| 136 zone_(zone), |
136 builder_(isolate, zone), | 137 builder_(isolate, zone), |
137 info_(nullptr), | 138 info_(nullptr), |
138 scope_(nullptr), | 139 scope_(nullptr), |
139 globals_(0, zone), | 140 globals_(0, zone), |
140 control_scope_(nullptr), | 141 control_scope_(nullptr), |
141 current_context_(Register::function_context()) { | 142 current_context_(Register::function_context()) { |
142 InitializeAstVisitor(isolate, zone); | 143 InitializeAstVisitor(isolate); |
143 } | 144 } |
144 | 145 |
145 | 146 |
146 BytecodeGenerator::~BytecodeGenerator() {} | 147 BytecodeGenerator::~BytecodeGenerator() {} |
147 | 148 |
148 | 149 |
149 Handle<BytecodeArray> BytecodeGenerator::MakeBytecode(CompilationInfo* info) { | 150 Handle<BytecodeArray> BytecodeGenerator::MakeBytecode(CompilationInfo* info) { |
150 set_info(info); | 151 set_info(info); |
151 set_scope(info->scope()); | 152 set_scope(info->scope()); |
152 | 153 |
(...skipping 1051 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1204 } | 1205 } |
1205 | 1206 |
1206 | 1207 |
1207 int BytecodeGenerator::feedback_index(FeedbackVectorSlot slot) const { | 1208 int BytecodeGenerator::feedback_index(FeedbackVectorSlot slot) const { |
1208 return info()->feedback_vector()->GetIndex(slot); | 1209 return info()->feedback_vector()->GetIndex(slot); |
1209 } | 1210 } |
1210 | 1211 |
1211 } // namespace interpreter | 1212 } // namespace interpreter |
1212 } // namespace internal | 1213 } // namespace internal |
1213 } // namespace v8 | 1214 } // namespace v8 |
OLD | NEW |