diff options
author | Michaël Zasso <targos@protonmail.com> | 2017-12-05 16:41:55 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2017-12-06 12:52:07 +0100 |
commit | 1854ba04e9a68f062beb299dd6e1479279b26363 (patch) | |
tree | d5b2df9b8c1deb6388f7a728fca8e1c98c779abe /deps/v8/src/compiler/raw-machine-assembler.cc | |
parent | b52c23b75f96e1c9d2c7b3a7e5619170d0a0d8e1 (diff) | |
download | android-node-v8-1854ba04e9a68f062beb299dd6e1479279b26363.tar.gz android-node-v8-1854ba04e9a68f062beb299dd6e1479279b26363.tar.bz2 android-node-v8-1854ba04e9a68f062beb299dd6e1479279b26363.zip |
deps: update V8 to 6.3.292.46
PR-URL: https://github.com/nodejs/node/pull/16271
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Diffstat (limited to 'deps/v8/src/compiler/raw-machine-assembler.cc')
-rw-r--r-- | deps/v8/src/compiler/raw-machine-assembler.cc | 62 |
1 files changed, 55 insertions, 7 deletions
diff --git a/deps/v8/src/compiler/raw-machine-assembler.cc b/deps/v8/src/compiler/raw-machine-assembler.cc index 8a8be06fa5..b685fc5d66 100644 --- a/deps/v8/src/compiler/raw-machine-assembler.cc +++ b/deps/v8/src/compiler/raw-machine-assembler.cc @@ -7,7 +7,7 @@ #include "src/compiler/node-properties.h" #include "src/compiler/pipeline.h" #include "src/compiler/scheduler.h" -#include "src/objects-inl.h" +#include "src/factory-inl.h" namespace v8 { namespace internal { @@ -35,6 +35,14 @@ RawMachineAssembler::RawMachineAssembler( graph->SetEnd(graph->NewNode(common_.End(0))); } +Node* RawMachineAssembler::NullConstant() { + return HeapConstant(isolate()->factory()->null_value()); +} + +Node* RawMachineAssembler::UndefinedConstant() { + return HeapConstant(isolate()->factory()->undefined_value()); +} + Node* RawMachineAssembler::RelocatableIntPtrConstant(intptr_t value, RelocInfo::Mode rmode) { return kPointerSize == 8 @@ -231,14 +239,16 @@ Node* RawMachineAssembler::CallCFunction1(MachineType return_type, } Node* RawMachineAssembler::CallCFunction1WithCallerSavedRegisters( - MachineType return_type, MachineType arg0_type, Node* function, - Node* arg0) { + MachineType return_type, MachineType arg0_type, Node* function, Node* arg0, + SaveFPRegsMode mode) { MachineSignature::Builder builder(zone(), 1, 1); builder.AddReturn(return_type); builder.AddParam(arg0_type); - const CallDescriptor* descriptor = + CallDescriptor* descriptor = Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); + descriptor->set_save_fp_mode(mode); + return AddNode(common()->CallWithCallerSavedRegisters(descriptor), function, arg0); } @@ -275,19 +285,57 @@ Node* RawMachineAssembler::CallCFunction3(MachineType return_type, Node* RawMachineAssembler::CallCFunction3WithCallerSavedRegisters( MachineType return_type, MachineType arg0_type, MachineType arg1_type, - MachineType arg2_type, Node* function, Node* arg0, Node* arg1, Node* arg2) { + MachineType arg2_type, Node* function, Node* arg0, Node* arg1, Node* arg2, + SaveFPRegsMode mode) { MachineSignature::Builder builder(zone(), 1, 3); builder.AddReturn(return_type); builder.AddParam(arg0_type); builder.AddParam(arg1_type); builder.AddParam(arg2_type); - const CallDescriptor* descriptor = + CallDescriptor* descriptor = Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); + descriptor->set_save_fp_mode(mode); + return AddNode(common()->CallWithCallerSavedRegisters(descriptor), function, arg0, arg1, arg2); } +Node* RawMachineAssembler::CallCFunction4( + MachineType return_type, MachineType arg0_type, MachineType arg1_type, + MachineType arg2_type, MachineType arg3_type, Node* function, Node* arg0, + Node* arg1, Node* arg2, Node* arg3) { + MachineSignature::Builder builder(zone(), 1, 4); + builder.AddReturn(return_type); + builder.AddParam(arg0_type); + builder.AddParam(arg1_type); + builder.AddParam(arg2_type); + builder.AddParam(arg3_type); + const CallDescriptor* descriptor = + Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); + + return AddNode(common()->Call(descriptor), function, arg0, arg1, arg2, arg3); +} + +Node* RawMachineAssembler::CallCFunction5( + MachineType return_type, MachineType arg0_type, MachineType arg1_type, + MachineType arg2_type, MachineType arg3_type, MachineType arg4_type, + Node* function, Node* arg0, Node* arg1, Node* arg2, Node* arg3, + Node* arg4) { + MachineSignature::Builder builder(zone(), 1, 5); + builder.AddReturn(return_type); + builder.AddParam(arg0_type); + builder.AddParam(arg1_type); + builder.AddParam(arg2_type); + builder.AddParam(arg3_type); + builder.AddParam(arg4_type); + const CallDescriptor* descriptor = + Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); + + return AddNode(common()->Call(descriptor), function, arg0, arg1, arg2, arg3, + arg4); +} + Node* RawMachineAssembler::CallCFunction6( MachineType return_type, MachineType arg0_type, MachineType arg1_type, MachineType arg2_type, MachineType arg3_type, MachineType arg4_type, @@ -367,7 +415,7 @@ BasicBlock* RawMachineAssembler::EnsureBlock(RawMachineLabel* label) { } void RawMachineAssembler::Bind(RawMachineLabel* label) { - DCHECK(current_block_ == nullptr); + DCHECK_NULL(current_block_); DCHECK(!label->bound_); label->bound_ = true; current_block_ = EnsureBlock(label); |