summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/raw-machine-assembler.cc
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2017-06-06 10:28:14 +0200
committerMichaël Zasso <targos@protonmail.com>2017-06-07 10:33:31 +0200
commit3dc8c3bed4cf3a77607edbb0b015e33f8b60fc09 (patch)
tree9dee56e142638b34f1eccbd0ad88c3bce5377c29 /deps/v8/src/compiler/raw-machine-assembler.cc
parent91a1bbe3055a660194ca4d403795aa0c03e9d056 (diff)
downloadandroid-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.cc40
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_);