diff options
author | Ali Ijaz Sheikh <ofrobots@google.com> | 2015-08-23 06:09:40 -0700 |
---|---|---|
committer | Rod Vagg <rod@vagg.org> | 2015-09-06 21:38:01 +1000 |
commit | 9fddd83cf9adf505bce2e2373881df0c4d41b261 (patch) | |
tree | 4272ce14c10fea496af2e78fc6debb187d613451 /deps/v8/src/compiler/raw-machine-assembler.cc | |
parent | 46b7d151674d138e7ea4342d5f3ada1208b87ff2 (diff) | |
download | android-node-v8-9fddd83cf9adf505bce2e2373881df0c4d41b261.tar.gz android-node-v8-9fddd83cf9adf505bce2e2373881df0c4d41b261.tar.bz2 android-node-v8-9fddd83cf9adf505bce2e2373881df0c4d41b261.zip |
deps: upgrade V8 to 4.5.103.24
Upgrade to the latest branch-head for V8 4.5. For the full commit log see
https://github.com/v8/v8-git-mirror/commits/4.5.103.24
PR-URL: https://github.com/nodejs/node/pull/2509
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/compiler/raw-machine-assembler.cc')
-rw-r--r-- | deps/v8/src/compiler/raw-machine-assembler.cc | 79 |
1 files changed, 72 insertions, 7 deletions
diff --git a/deps/v8/src/compiler/raw-machine-assembler.cc b/deps/v8/src/compiler/raw-machine-assembler.cc index 6a339e7c91..3e87ef5d97 100644 --- a/deps/v8/src/compiler/raw-machine-assembler.cc +++ b/deps/v8/src/compiler/raw-machine-assembler.cc @@ -23,7 +23,6 @@ RawMachineAssembler::RawMachineAssembler(Isolate* isolate, Graph* graph, call_descriptor_( Linkage::GetSimplifiedCDescriptor(graph->zone(), machine_sig)), parameters_(NULL), - exit_label_(schedule()->end()), current_block_(schedule()->start()) { int param_count = static_cast<int>(parameter_count()); Node* s = graph->NewNode(common_.Start(param_count)); @@ -54,12 +53,6 @@ Node* RawMachineAssembler::Parameter(size_t index) { } -RawMachineAssembler::Label* RawMachineAssembler::Exit() { - exit_label_.used_ = true; - return &exit_label_; -} - - void RawMachineAssembler::Goto(Label* label) { DCHECK(current_block_ != schedule()->end()); schedule()->AddGoto(CurrentBlock(), Use(label)); @@ -151,6 +144,78 @@ Node* RawMachineAssembler::CallRuntime1(Runtime::FunctionId function, } +Node* RawMachineAssembler::CallCFunction0(MachineType return_type, + Node* function) { + MachineSignature::Builder builder(zone(), 1, 0); + builder.AddReturn(return_type); + const CallDescriptor* descriptor = + Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); + + Node* call = graph()->NewNode(common()->Call(descriptor), function); + schedule()->AddNode(CurrentBlock(), call); + return call; +} + + +Node* RawMachineAssembler::CallCFunction1(MachineType return_type, + MachineType arg0_type, Node* function, + Node* arg0) { + MachineSignature::Builder builder(zone(), 1, 1); + builder.AddReturn(return_type); + builder.AddParam(arg0_type); + const CallDescriptor* descriptor = + Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); + + Node* call = graph()->NewNode(common()->Call(descriptor), function, arg0); + schedule()->AddNode(CurrentBlock(), call); + return call; +} + + +Node* RawMachineAssembler::CallCFunction2(MachineType return_type, + MachineType arg0_type, + MachineType arg1_type, Node* function, + Node* arg0, Node* arg1) { + MachineSignature::Builder builder(zone(), 1, 2); + builder.AddReturn(return_type); + builder.AddParam(arg0_type); + builder.AddParam(arg1_type); + const CallDescriptor* descriptor = + Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); + + Node* call = + graph()->NewNode(common()->Call(descriptor), function, arg0, arg1); + schedule()->AddNode(CurrentBlock(), call); + return call; +} + + +Node* RawMachineAssembler::CallCFunction8( + MachineType return_type, MachineType arg0_type, MachineType arg1_type, + MachineType arg2_type, MachineType arg3_type, MachineType arg4_type, + MachineType arg5_type, MachineType arg6_type, MachineType arg7_type, + Node* function, Node* arg0, Node* arg1, Node* arg2, Node* arg3, Node* arg4, + Node* arg5, Node* arg6, Node* arg7) { + MachineSignature::Builder builder(zone(), 1, 8); + builder.AddReturn(return_type); + builder.AddParam(arg0_type); + builder.AddParam(arg1_type); + builder.AddParam(arg2_type); + builder.AddParam(arg3_type); + builder.AddParam(arg4_type); + builder.AddParam(arg5_type); + builder.AddParam(arg6_type); + builder.AddParam(arg7_type); + const CallDescriptor* descriptor = + Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); + + Node* call = graph()->NewNode(common()->Call(descriptor), function, arg0, + arg1, arg2, arg3, arg4, arg5, arg6, arg7); + schedule()->AddNode(CurrentBlock(), call); + return call; +} + + void RawMachineAssembler::Bind(Label* label) { DCHECK(current_block_ == NULL); DCHECK(!label->bound_); |