Index: test/mjsunit/elements-transition-hoisting.js |
diff --git a/test/mjsunit/elements-transition-hoisting.js b/test/mjsunit/elements-transition-hoisting.js |
index 76f7b82b5ae4d15711364ccbf0e3db1c86ae6e36..4955c15f2527e4079f91034654e1ee45cf8d7113 100644 |
--- a/test/mjsunit/elements-transition-hoisting.js |
+++ b/test/mjsunit/elements-transition-hoisting.js |
@@ -170,4 +170,43 @@ if (support_smi_only_arrays) { |
testHoistingWithSideEffect(new Array(5)); |
testHoistingWithSideEffect(new Array(5)); |
assertTrue(2 != %GetOptimizationStatus(testHoistingWithSideEffect)); |
+ |
+ function testStraightLineDupeElinination(a,b,c,d,e,f) { |
+ var count = 3; |
+ do { |
+ assertTrue(true); |
+ a[0] = b; |
+ a[1] = c; |
+ a[2] = d; |
+ a[3] = e; |
+ a[4] = f; |
+ } while (--count > 3); |
+ } |
+ |
+ print("DUDE"); |
fschneider
2012/02/15 15:36:48
Printing can be removed.
danno
2012/02/16 13:08:52
Done.
|
+ testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),.5,0,0,0,0); |
+ testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),0,.5,0,0,0); |
+ testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),0,0,.5,0,0); |
+ testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),0,0,0,.5,0); |
+ testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),0,0,0,0,.5); |
+ testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),.5,0,0,0,0); |
+ testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),0,.5,0,0,0); |
+ testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),0,0,.5,0,0); |
+ testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),0,0,0,.5,0); |
+ testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),0,0,0,0,.5); |
+ print("DUDE2"); |
fschneider
2012/02/15 15:36:48
Printing can be removed.
danno
2012/02/16 13:08:52
Done.
|
+ testStraightLineDupeElinination(new Array(5),.5,0,0,0,0); |
+ testStraightLineDupeElinination(new Array(5),0,.5,0,0,0); |
+ testStraightLineDupeElinination(new Array(5),0,0,.5,0,0); |
+ testStraightLineDupeElinination(new Array(5),0,0,0,.5,0); |
+ testStraightLineDupeElinination(new Array(5),0,0,0,0,.5); |
+ testStraightLineDupeElinination(new Array(5),.5,0,0,0,0); |
+ testStraightLineDupeElinination(new Array(5),0,.5,0,0,0); |
+ testStraightLineDupeElinination(new Array(5),0,0,.5,0,0); |
+ testStraightLineDupeElinination(new Array(5),0,0,0,.5,0); |
+ testStraightLineDupeElinination(new Array(5),0,0,0,0,.5); |
+ %OptimizeFunctionOnNextCall(testStraightLineDupeElinination); |
+ testStraightLineDupeElinination(new Array(5)); |
+ testStraightLineDupeElinination(new Array(5)); |
+ assertTrue(2 != %GetOptimizationStatus(testStraightLineDupeElinination)); |
} |