diff options
author | Michaël Zasso <targos@protonmail.com> | 2017-06-06 10:28:14 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2017-06-07 10:33:31 +0200 |
commit | 3dc8c3bed4cf3a77607edbb0b015e33f8b60fc09 (patch) | |
tree | 9dee56e142638b34f1eccbd0ad88c3bce5377c29 /deps/v8/src/compiler/raw-machine-assembler.cc | |
parent | 91a1bbe3055a660194ca4d403795aa0c03e9d056 (diff) | |
download | android-node-v8-3dc8c3bed4cf3a77607edbb0b015e33f8b60fc09.tar.gz android-node-v8-3dc8c3bed4cf3a77607edbb0b015e33f8b60fc09.tar.bz2 android-node-v8-3dc8c3bed4cf3a77607edbb0b015e33f8b60fc09.zip |
deps: update V8 to 5.9.211.32
PR-URL: https://github.com/nodejs/node/pull/13263
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
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 | 40 |
1 files changed, 30 insertions, 10 deletions
diff --git a/deps/v8/src/compiler/raw-machine-assembler.cc b/deps/v8/src/compiler/raw-machine-assembler.cc index 0e101770c3..a2cf562115 100644 --- a/deps/v8/src/compiler/raw-machine-assembler.cc +++ b/deps/v8/src/compiler/raw-machine-assembler.cc @@ -167,8 +167,7 @@ void RawMachineAssembler::PopAndReturn(Node* pop, Node* v1, Node* v2, void RawMachineAssembler::DebugBreak() { AddNode(machine()->DebugBreak()); } void RawMachineAssembler::Unreachable() { - Node* values[] = {UndefinedConstant()}; // Unused. - Node* ret = MakeNode(common()->Throw(), 1, values); + Node* ret = MakeNode(common()->Throw(), 0, nullptr); schedule()->AddThrow(CurrentBlock(), ret); current_block_ = nullptr; } @@ -279,7 +278,17 @@ Node* RawMachineAssembler::CallCFunction8( Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); return AddNode(common()->Call(descriptor), arraysize(args), args); } +BasicBlock* RawMachineAssembler::Use(RawMachineLabel* label) { + label->used_ = true; + return EnsureBlock(label); +} +BasicBlock* RawMachineAssembler::EnsureBlock(RawMachineLabel* label) { + if (label->block_ == nullptr) { + label->block_ = schedule()->NewBasicBlock(); + } + return label->block_; +} void RawMachineAssembler::Bind(RawMachineLabel* label) { DCHECK(current_block_ == nullptr); @@ -289,18 +298,29 @@ void RawMachineAssembler::Bind(RawMachineLabel* label) { current_block_->set_deferred(label->deferred_); } - -BasicBlock* RawMachineAssembler::Use(RawMachineLabel* label) { - label->used_ = true; - return EnsureBlock(label); +#if DEBUG +void RawMachineAssembler::Bind(RawMachineLabel* label, + AssemblerDebugInfo info) { + if (current_block_ != nullptr) { + std::stringstream str; + str << "Binding label without closing previous block:" + << "\n# label: " << info + << "\n# previous block: " << *current_block_; + FATAL(str.str().c_str()); + } + Bind(label); + current_block_->set_debug_info(info); } - -BasicBlock* RawMachineAssembler::EnsureBlock(RawMachineLabel* label) { - if (label->block_ == nullptr) label->block_ = schedule()->NewBasicBlock(); - return label->block_; +void RawMachineAssembler::PrintCurrentBlock(std::ostream& os) { + os << CurrentBlock(); } +void RawMachineAssembler::SetInitialDebugInformation( + AssemblerDebugInfo debug_info) { + CurrentBlock()->set_debug_info(debug_info); +} +#endif // DEBUG BasicBlock* RawMachineAssembler::CurrentBlock() { DCHECK(current_block_); |