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

Unified Diff: src/interpreter/bytecode-array-builder.cc

Issue 2384123002: [Interpreter] Use RegisterList for kRegTriple and kRegPair operands. (Closed)
Patch Set: Rebase Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/interpreter/bytecode-array-builder.h ('k') | src/interpreter/bytecode-generator.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/interpreter/bytecode-array-builder.cc
diff --git a/src/interpreter/bytecode-array-builder.cc b/src/interpreter/bytecode-array-builder.cc
index 281eb14d16f52f0b8b3b68772991f59d3661b207..dfa395095abaf72da5407a415b7af5edb58b1410 100644
--- a/src/interpreter/bytecode-array-builder.cc
+++ b/src/interpreter/bytecode-array-builder.cc
@@ -652,9 +652,10 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::Debugger() {
}
BytecodeArrayBuilder& BytecodeArrayBuilder::ForInPrepare(
- Register receiver, Register cache_info_triple) {
+ Register receiver, RegisterList cache_info_triple) {
+ DCHECK_EQ(3, cache_info_triple.register_count());
Output(Bytecode::kForInPrepare, RegisterOperand(receiver),
- RegisterOperand(cache_info_triple));
+ RegisterOperand(cache_info_triple.first_register()));
return *this;
}
@@ -666,10 +667,12 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::ForInContinue(
}
BytecodeArrayBuilder& BytecodeArrayBuilder::ForInNext(
- Register receiver, Register index, Register cache_type_array_pair,
+ Register receiver, Register index, RegisterList cache_type_array_pair,
int feedback_slot) {
+ DCHECK_EQ(2, cache_type_array_pair.register_count());
Output(Bytecode::kForInNext, RegisterOperand(receiver),
- RegisterOperand(index), RegisterOperand(cache_type_array_pair),
+ RegisterOperand(index),
+ RegisterOperand(cache_type_array_pair.first_register()),
UnsignedOperand(feedback_slot));
return *this;
}
@@ -774,19 +777,22 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::CallRuntime(
}
BytecodeArrayBuilder& BytecodeArrayBuilder::CallRuntimeForPair(
- Runtime::FunctionId function_id, RegisterList args, Register first_return) {
+ Runtime::FunctionId function_id, RegisterList args,
+ RegisterList return_pair) {
DCHECK_EQ(2, Runtime::FunctionForId(function_id)->result_size);
DCHECK(Bytecodes::SizeForUnsignedOperand(function_id) <= OperandSize::kShort);
+ DCHECK_EQ(2, return_pair.register_count());
Output(Bytecode::kCallRuntimeForPair, static_cast<uint16_t>(function_id),
RegisterOperand(args.first_register()),
- UnsignedOperand(args.register_count()), RegisterOperand(first_return));
+ UnsignedOperand(args.register_count()),
+ RegisterOperand(return_pair.first_register()));
return *this;
}
BytecodeArrayBuilder& BytecodeArrayBuilder::CallRuntimeForPair(
- Runtime::FunctionId function_id, Register arg, Register first_return) {
+ Runtime::FunctionId function_id, Register arg, RegisterList return_pair) {
return CallRuntimeForPair(function_id, RegisterList(arg.index(), 1),
- first_return);
+ return_pair);
}
BytecodeArrayBuilder& BytecodeArrayBuilder::CallJSRuntime(int context_index,
« no previous file with comments | « src/interpreter/bytecode-array-builder.h ('k') | src/interpreter/bytecode-generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698