Closed Bug 682060 Opened 10 years ago Closed 10 years ago

IonMonkey: Implement LTestDAndBranch

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dvander, Assigned: dvander)

References

Details

Attachments

(1 file)

No description provided.
Assignee: general → dvander
Status: NEW → ASSIGNED
Attached patch patchSplinter Review
This patch implements LTestDAndBranch, LCompareD, and LCompareDAndBranch. It also refactors a lot of the comparison boilerplate.
Attachment #557401 - Flags: review?(sstangl)
Comment on attachment 557401 [details] [diff] [review]
patch

Review of attachment 557401 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/src/ion/Lowering.cpp
@@ -122,5 @@
>      MDefinition *opd = test->getOperand(0);
>      MBasicBlock *ifTrue = test->ifTrue();
>      MBasicBlock *ifFalse = test->ifFalse();
>  
> -    if (opd->isConstant()) {

I am unclear on why this block was removed. If it is because constant tests are now not generated, can we assert !opd->isConstant()?
Attachment #557401 - Flags: review?(sstangl) → review+
I removed it since it was premature optimization, and rather out of place. Ideally this folding should be done in MIR, but if that's too hard and there's a situation where this optimization is necessary, we can add it back.
http://hg.mozilla.org/projects/ionmonkey/rev/973bcd9f92eb
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.