--- /dev/null
+load("./driver/driver.js");
+
+function tierUpToBaseline(func, arg)
+{
+ for (var i = 0; i < 50; i++)
+ func(arg);
+}
+
+function tierUpToDFG(func, arg)
+{
+ for (var i = 0; i < 50; i++)
+ func(arg);
+}
+
+function baselineTest(arg) {
+ if (arg > 20) {
+ return 20;
+ } else {
+ return 30;
+ }
+}
+
+function dfgTest(arg) {
+ if (arg > 20) {
+ return 20;
+ } else {
+ return 30;
+ }
+}
+
+noInline(baselineTest);
+noInline(dfgTest);
+
+tierUpToBaseline(baselineTest, 10);
+tierUpToDFG(dfgTest, 10);
+
+assert(!hasBasicBlockExecuted(baselineTest, "return 20"), "should not have executed yet.");
+assert(hasBasicBlockExecuted(baselineTest, "return 30"), "should have executed.");
+baselineTest(25);
+assert(hasBasicBlockExecuted(baselineTest, "return 20"), "should have executed.");
+
+assert(!hasBasicBlockExecuted(dfgTest, "return 20"), "should not have executed yet.");
+assert(hasBasicBlockExecuted(dfgTest, "return 30"), "should have executed.");
+dfgTest(25);
+assert(hasBasicBlockExecuted(dfgTest, "return 20"), "should have executed.");
+