Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Side by Side Diff: src/interpreter/bytecode-register-optimizer.cc

Issue 2242193002: [Interpreter] Avoid accessing Isolate from during bytecode generation. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@offheap_sourceposition
Patch Set: Rebase Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/interpreter/bytecode-register-optimizer.h ('k') | src/interpreter/constant-array-builder.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 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-register-optimizer.h" 5 #include "src/interpreter/bytecode-register-optimizer.h"
6 6
7 namespace v8 { 7 namespace v8 {
8 namespace internal { 8 namespace internal {
9 namespace interpreter { 9 namespace interpreter {
10 10
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 RegisterFromRegisterInfoTableIndex(i), NextEquivalenceId(), true); 201 RegisterFromRegisterInfoTableIndex(i), NextEquivalenceId(), true);
202 DCHECK_EQ(register_info_table_[i]->register_value().index(), 202 DCHECK_EQ(register_info_table_[i]->register_value().index(),
203 RegisterFromRegisterInfoTableIndex(i).index()); 203 RegisterFromRegisterInfoTableIndex(i).index());
204 } 204 }
205 accumulator_info_ = GetRegisterInfo(accumulator_); 205 accumulator_info_ = GetRegisterInfo(accumulator_);
206 DCHECK(accumulator_info_->register_value() == accumulator_); 206 DCHECK(accumulator_info_->register_value() == accumulator_);
207 } 207 }
208 208
209 // override 209 // override
210 Handle<BytecodeArray> BytecodeRegisterOptimizer::ToBytecodeArray( 210 Handle<BytecodeArray> BytecodeRegisterOptimizer::ToBytecodeArray(
211 int fixed_register_count, int parameter_count, 211 Isolate* isolate, int fixed_register_count, int parameter_count,
212 Handle<FixedArray> handler_table) { 212 Handle<FixedArray> handler_table) {
213 FlushState(); 213 FlushState();
214 return next_stage_->ToBytecodeArray(fixed_register_count, parameter_count, 214 return next_stage_->ToBytecodeArray(isolate, fixed_register_count,
215 handler_table); 215 parameter_count, handler_table);
216 } 216 }
217 217
218 // override 218 // override
219 void BytecodeRegisterOptimizer::Write(BytecodeNode* node) { 219 void BytecodeRegisterOptimizer::Write(BytecodeNode* node) {
220 // 220 //
221 // Transfers with observable registers as the destination will be 221 // Transfers with observable registers as the destination will be
222 // immediately materialized so the source position information will 222 // immediately materialized so the source position information will
223 // be ordered correctly. 223 // be ordered correctly.
224 // 224 //
225 // Transfers without observable destination registers will initially 225 // Transfers without observable destination registers will initially
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after
618 if (info->materialized()) { 618 if (info->materialized()) {
619 CreateMaterializedEquivalent(info); 619 CreateMaterializedEquivalent(info);
620 } 620 }
621 info->MoveToNewEquivalenceSet(kInvalidEquivalenceId, false); 621 info->MoveToNewEquivalenceSet(kInvalidEquivalenceId, false);
622 } 622 }
623 } 623 }
624 624
625 } // namespace interpreter 625 } // namespace interpreter
626 } // namespace internal 626 } // namespace internal
627 } // namespace v8 627 } // namespace v8
OLDNEW
« no previous file with comments | « src/interpreter/bytecode-register-optimizer.h ('k') | src/interpreter/constant-array-builder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698