summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/raw-machine-assembler.cc
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2017-05-02 10:50:00 +0200
committerMichaël Zasso <targos@protonmail.com>2017-05-06 20:02:35 +0200
commit60d1aac8d225e844e68ae48e8f3d58802e635fbe (patch)
tree922f347dd054db18d88666fad7181e5a777f4022 /deps/v8/src/compiler/raw-machine-assembler.cc
parent73d9c0f903ae371cd5011af64c3a6f69a1bda978 (diff)
downloadandroid-node-v8-60d1aac8d225e844e68ae48e8f3d58802e635fbe.tar.gz
android-node-v8-60d1aac8d225e844e68ae48e8f3d58802e635fbe.tar.bz2
android-node-v8-60d1aac8d225e844e68ae48e8f3d58802e635fbe.zip
deps: update V8 to 5.8.283.38
PR-URL: https://github.com/nodejs/node/pull/12784 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Diffstat (limited to 'deps/v8/src/compiler/raw-machine-assembler.cc')
-rw-r--r--deps/v8/src/compiler/raw-machine-assembler.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/deps/v8/src/compiler/raw-machine-assembler.cc b/deps/v8/src/compiler/raw-machine-assembler.cc
index a318dd02ae..0e101770c3 100644
--- a/deps/v8/src/compiler/raw-machine-assembler.cc
+++ b/deps/v8/src/compiler/raw-machine-assembler.cc
@@ -166,6 +166,13 @@ 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);
+ schedule()->AddThrow(CurrentBlock(), ret);
+ current_block_ = nullptr;
+}
+
void RawMachineAssembler::Comment(const char* msg) {
AddNode(machine()->Comment(msg));
}
@@ -332,7 +339,11 @@ Node* RawMachineAssembler::MakeNode(const Operator* op, int input_count,
return graph()->NewNodeUnchecked(op, input_count, inputs);
}
-RawMachineLabel::~RawMachineLabel() { DCHECK(bound_ || !used_); }
+RawMachineLabel::~RawMachineLabel() {
+ // If this DCHECK fails, it means that the label has been bound but it's not
+ // used, or the opposite. This would cause the register allocator to crash.
+ DCHECK_EQ(bound_, used_);
+}
} // namespace compiler
} // namespace internal