Commit c39111fd authored by Mike Stanton's avatar Mike Stanton Committed by Commit Bot

[Turbofan] JSStackCheck operation missing an effect

A machine load is an effectful operation, but we didn't include
it in the effect chain.

Bug: v8:6929
Change-Id: I08a09c71dafd9dd7e5e40440a24751f2c5bcfae9
Reviewed-on: https://chromium-review.googlesource.com/718456
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48548}
parent 57ea01af
......@@ -745,7 +745,7 @@ void JSGenericLowering::LowerJSStackCheck(Node* node) {
Node* effect = NodeProperties::GetEffectInput(node);
Node* control = NodeProperties::GetControlInput(node);
Node* limit = graph()->NewNode(
Node* limit = effect = graph()->NewNode(
machine()->Load(MachineType::Pointer()),
jsgraph()->ExternalConstant(
ExternalReference::address_of_stack_limit(isolate())),
......@@ -761,6 +761,7 @@ void JSGenericLowering::LowerJSStackCheck(Node* node) {
Node* if_false = graph()->NewNode(common()->IfFalse(), branch);
NodeProperties::ReplaceControlInput(node, if_false);
NodeProperties::ReplaceEffectInput(node, effect);
Node* efalse = if_false = node;
Node* merge = graph()->NewNode(common()->Merge(2), if_true, if_false);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment