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

Side by Side Diff: src/compiler/bytecode-graph-builder.h

Issue 1555713002: [Interpreter] Bytecodes for exchanging registers. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: One more test. Created 4 years, 11 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
OLDNEW
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 #ifndef V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ 5 #ifndef V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_
6 #define V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ 6 #define V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_
7 7
8 #include "src/compiler.h" 8 #include "src/compiler.h"
9 #include "src/compiler/bytecode-branch-analysis.h" 9 #include "src/compiler/bytecode-branch-analysis.h"
10 #include "src/compiler/js-graph.h" 10 #include "src/compiler/js-graph.h"
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 class BytecodeGraphBuilder::Environment : public ZoneObject { 256 class BytecodeGraphBuilder::Environment : public ZoneObject {
257 public: 257 public:
258 Environment(BytecodeGraphBuilder* builder, int register_count, 258 Environment(BytecodeGraphBuilder* builder, int register_count,
259 int parameter_count, Node* control_dependency, Node* context); 259 int parameter_count, Node* control_dependency, Node* context);
260 260
261 int parameter_count() const { return parameter_count_; } 261 int parameter_count() const { return parameter_count_; }
262 int register_count() const { return register_count_; } 262 int register_count() const { return register_count_; }
263 263
264 void BindRegister(interpreter::Register the_register, Node* node); 264 void BindRegister(interpreter::Register the_register, Node* node);
265 Node* LookupRegister(interpreter::Register the_register) const; 265 Node* LookupRegister(interpreter::Register the_register) const;
266 void ExchangeRegisters(interpreter::Register r0, interpreter::Register r1);
266 267
267 void BindAccumulator(Node* node, FrameStateBeforeAndAfter* states = nullptr); 268 void BindAccumulator(Node* node, FrameStateBeforeAndAfter* states = nullptr);
268 Node* LookupAccumulator() const; 269 Node* LookupAccumulator() const;
269 270
270 void RecordAfterState(Node* node, FrameStateBeforeAndAfter* states); 271 void RecordAfterState(Node* node, FrameStateBeforeAndAfter* states);
271 272
272 bool IsMarkedAsUnreachable() const; 273 bool IsMarkedAsUnreachable() const;
273 void MarkAsUnreachable(); 274 void MarkAsUnreachable();
274 275
275 // Effect dependency tracked by this environment. 276 // Effect dependency tracked by this environment.
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 Node* accumulator_state_values_; 330 Node* accumulator_state_values_;
330 int register_base_; 331 int register_base_;
331 int accumulator_base_; 332 int accumulator_base_;
332 }; 333 };
333 334
334 } // namespace compiler 335 } // namespace compiler
335 } // namespace internal 336 } // namespace internal
336 } // namespace v8 337 } // namespace v8
337 338
338 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ 339 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_
OLDNEW
« no previous file with comments | « no previous file | src/compiler/bytecode-graph-builder.cc » ('j') | src/compiler/bytecode-graph-builder.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698