Index: src/compiler/raw-machine-assembler.cc |
diff --git a/src/compiler/raw-machine-assembler.cc b/src/compiler/raw-machine-assembler.cc |
index 395c96e875a2186002a1a7af23244fd670aec717..329d8deada710d926740db43f3eba3cba03bdac5 100644 |
--- a/src/compiler/raw-machine-assembler.cc |
+++ b/src/compiler/raw-machine-assembler.cc |
@@ -10,23 +10,27 @@ namespace v8 { |
namespace internal { |
namespace compiler { |
-RawMachineAssembler::RawMachineAssembler( |
- Graph* graph, MachineCallDescriptorBuilder* call_descriptor_builder, |
- MachineType word) |
+RawMachineAssembler::RawMachineAssembler(Graph* graph, |
+ MachineSignature* machine_sig, |
+ MachineType word) |
: GraphBuilder(graph), |
schedule_(new (zone()) Schedule(zone())), |
machine_(zone(), word), |
common_(zone()), |
- call_descriptor_builder_(call_descriptor_builder), |
+ machine_sig_(machine_sig), |
+ call_descriptor_( |
+ Linkage::GetSimplifiedCDescriptor(graph->zone(), machine_sig)), |
parameters_(NULL), |
exit_label_(schedule()->end()), |
current_block_(schedule()->start()) { |
- Node* s = graph->NewNode(common_.Start(parameter_count())); |
+ int param_count = static_cast<int>(parameter_count()); |
+ Node* s = graph->NewNode(common_.Start(param_count)); |
graph->SetStart(s); |
if (parameter_count() == 0) return; |
- parameters_ = zone()->NewArray<Node*>(parameter_count()); |
- for (int i = 0; i < parameter_count(); ++i) { |
- parameters_[i] = NewNode(common()->Parameter(i), graph->start()); |
+ parameters_ = zone()->NewArray<Node*>(param_count); |
+ for (size_t i = 0; i < parameter_count(); ++i) { |
+ parameters_[i] = |
+ NewNode(common()->Parameter(static_cast<int>(i)), graph->start()); |
} |
} |
@@ -42,8 +46,8 @@ Schedule* RawMachineAssembler::Export() { |
} |
-Node* RawMachineAssembler::Parameter(int index) { |
- DCHECK(0 <= index && index < parameter_count()); |
+Node* RawMachineAssembler::Parameter(size_t index) { |
+ DCHECK(index < parameter_count()); |
return parameters_[index]; |
} |
@@ -95,17 +99,18 @@ Node* RawMachineAssembler::CallFunctionStub0(Node* function, Node* receiver, |
Node* RawMachineAssembler::CallJS0(Node* function, Node* receiver, |
- Node* frame_state) { |
+ Node* context, Node* frame_state) { |
CallDescriptor* descriptor = Linkage::GetJSCallDescriptor(1, zone()); |
Node* call = graph()->NewNode(common()->Call(descriptor), function, receiver, |
- frame_state); |
+ context, frame_state); |
schedule()->AddNode(CurrentBlock(), call); |
return call; |
} |
Node* RawMachineAssembler::CallRuntime1(Runtime::FunctionId function, |
- Node* arg0, Node* frame_state) { |
+ Node* arg0, Node* context, |
+ Node* frame_state) { |
CallDescriptor* descriptor = Linkage::GetRuntimeCallDescriptor( |
function, 1, Operator::kNoProperties, zone()); |
@@ -113,7 +118,6 @@ Node* RawMachineAssembler::CallRuntime1(Runtime::FunctionId function, |
Node* ref = NewNode( |
common()->ExternalConstant(ExternalReference(function, isolate()))); |
Node* arity = Int32Constant(1); |
- Node* context = Parameter(1); |
Node* call = graph()->NewNode(common()->Call(descriptor), centry, arg0, ref, |
arity, context, frame_state); |