Commit 23a7dda9 authored by bmeurer's avatar bmeurer Committed by Commit bot

[turbofan] Remove atomic regions during effect/control linearization.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/1941373002
Cr-Commit-Position: refs/heads/master@{#35971}
parent 5aa1d9c3
...@@ -290,12 +290,7 @@ void EffectControlLinearizer::ProcessNode(Node* node, Node** effect, ...@@ -290,12 +290,7 @@ void EffectControlLinearizer::ProcessNode(Node* node, Node** effect,
node->opcode() == IrOpcode::kBeginRegion) { node->opcode() == IrOpcode::kBeginRegion) {
// Update the value uses to the value input of the finish node and // Update the value uses to the value input of the finish node and
// the effect uses to the effect input. // the effect uses to the effect input.
return RemoveRegionNode(node);
// TODO(jarin) Enable this once we make sure everything with side effects
// is marked as effectful.
if (false) {
return RemoveRegionNode(node);
}
} }
if (node->opcode() == IrOpcode::kIfSuccess) { if (node->opcode() == IrOpcode::kIfSuccess) {
...@@ -906,7 +901,6 @@ EffectControlLinearizer::LowerObjectIsUndetectable(Node* node, Node* effect, ...@@ -906,7 +901,6 @@ EffectControlLinearizer::LowerObjectIsUndetectable(Node* node, Node* effect,
EffectControlLinearizer::ValueEffectControl EffectControlLinearizer::ValueEffectControl
EffectControlLinearizer::AllocateHeapNumberWithValue(Node* value, Node* effect, EffectControlLinearizer::AllocateHeapNumberWithValue(Node* value, Node* effect,
Node* control) { Node* control) {
effect = graph()->NewNode(common()->BeginRegion(), effect);
Node* result = effect = graph()->NewNode( Node* result = effect = graph()->NewNode(
simplified()->Allocate(NOT_TENURED), simplified()->Allocate(NOT_TENURED),
jsgraph()->Int32Constant(HeapNumber::kSize), effect, control); jsgraph()->Int32Constant(HeapNumber::kSize), effect, control);
...@@ -916,7 +910,6 @@ EffectControlLinearizer::AllocateHeapNumberWithValue(Node* value, Node* effect, ...@@ -916,7 +910,6 @@ EffectControlLinearizer::AllocateHeapNumberWithValue(Node* value, Node* effect,
effect = graph()->NewNode( effect = graph()->NewNode(
simplified()->StoreField(AccessBuilder::ForHeapNumberValue()), result, simplified()->StoreField(AccessBuilder::ForHeapNumberValue()), result,
value, effect, control); value, effect, control);
result = effect = graph()->NewNode(common()->FinishRegion(), result, effect);
return ValueEffectControl(result, effect, control); return ValueEffectControl(result, effect, control);
} }
......
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