Index: test/mjsunit/elements-transition-hoisting.js |
diff --git a/test/mjsunit/elements-transition-hoisting.js b/test/mjsunit/elements-transition-hoisting.js |
index 0295318f6a4f4dfb07048b31a77e6bb85d4fe162..76027b9ed18fdfe05a2443b4cd638e05f60c321e 100644 |
--- a/test/mjsunit/elements-transition-hoisting.js |
+++ b/test/mjsunit/elements-transition-hoisting.js |
@@ -25,10 +25,8 @@ |
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-// Flags: --allow-natives-syntax --smi-only-arrays --notrack-allocation-sites |
- |
-// No tracking of allocation sites because it interfers with the semantics |
-// the test is trying to ensure. |
+// Flags: --allow-natives-syntax --smi-only-arrays |
+// Flags: --nostress-opt |
// Ensure that ElementsKind transitions in various situations are hoisted (or |
// not hoisted) correctly, don't change the semantics programs and don't trigger |
@@ -42,7 +40,7 @@ if (support_smi_only_arrays) { |
print("Tests do NOT include smi-only arrays."); |
} |
-if (support_smi_only_arrays) { |
+function test_wrapper() { |
// Make sure that a simple elements array transitions inside a loop before |
// stores to an array gets hoisted in a way that doesn't generate a deopt in |
// simple cases.} |
@@ -239,3 +237,10 @@ if (support_smi_only_arrays) { |
assertOptimized(testStraightLineDupeElinination); |
%ClearFunctionTypeFeedback(testStraightLineDupeElinination); |
} |
+ |
+if (support_smi_only_arrays) { |
+ // The test is called in a test wrapper that has type feedback cleared to |
+ // prevent the influence of allocation-sites, which learn from transitions. |
+ test_wrapper(); |
+ %ClearFunctionTypeFeedback(test_wrapper); |
+} |