Index: test/mjsunit/assert-opt-and-deopt.js |
diff --git a/test/mjsunit/assert-opt-and-deopt.js b/test/mjsunit/assert-opt-and-deopt.js |
index 19502f3354c5c5a2c85b1ca8cb93d64561693b31..6961375938d08cd9f7be296f4b130f6c2184be5d 100644 |
--- a/test/mjsunit/assert-opt-and-deopt.js |
+++ b/test/mjsunit/assert-opt-and-deopt.js |
@@ -49,10 +49,13 @@ function OptTracker() { |
* @enum {int} |
*/ |
OptTracker.OptimizationState = { |
- YES: 1, |
- NO: 2, |
- ALWAYS: 3, |
- NEVER: 4 |
+ kIsFunction: 1 << 0, |
+ kNeverOptimize: 1 << 1, |
+ kAlwaysOptimize: 1 << 2, |
+ kMaybeDeopted: 1 << 3, |
+ kOptimized: 1 << 4, |
+ kTurboFanned: 1 << 5, |
+ kInterpreted: 1 << 6 |
}; |
/** |
@@ -79,7 +82,8 @@ OptTracker.prototype.AssertDeoptCount = function(func, deopt_count) { |
assertEquals(deopt_count, this.GetDeoptCount_(func)); |
}; |
-OptTracker.prototype.AssertDeoptHappened = function(func, expect_deopt) { |
+OptTracker.prototype.AssertDeoptHappened = |
+ function(func, expect_deopt) { |
if (this.DisableAsserts_(func)) { |
return; |
} |
@@ -94,12 +98,11 @@ OptTracker.prototype.AssertIsOptimized = function(func, expect_optimized) { |
if (this.DisableAsserts_(func)) { |
return; |
} |
- var raw_optimized = %GetOptimizationStatus(func); |
- if (expect_optimized) { |
- assertEquals(OptTracker.OptimizationState.YES, raw_optimized); |
- } else { |
- assertEquals(OptTracker.OptimizationState.NO, raw_optimized); |
- } |
+ var opt_status = %GetOptimizationStatus(func); |
+ assertTrue((opt_status & OptTracker.OptimizationState.kIsFunction) !== 0); |
+ assertEquals( |
+ expect_optimized, |
+ (opt_status & OptTracker.OptimizationState.kOptimized) !== 0); |
} |
/** |
@@ -119,7 +122,8 @@ OptTracker.prototype.GetOptCount_ = function(func) { |
*/ |
OptTracker.prototype.GetDeoptCount_ = function(func) { |
var count = this.GetOptCount_(func); |
- if (%GetOptimizationStatus(func) == OptTracker.OptimizationState.YES) { |
+ var opt_status = %GetOptimizationStatus(func); |
+ if ((opt_status & OptTracker.OptimizationState.kOptimized) !== 0) { |
count -= 1; |
} |
return count; |
@@ -129,15 +133,9 @@ OptTracker.prototype.GetDeoptCount_ = function(func) { |
* @private |
*/ |
OptTracker.prototype.DisableAsserts_ = function(func) { |
- switch(%GetOptimizationStatus(func)) { |
- case OptTracker.OptimizationState.YES: |
- case OptTracker.OptimizationState.NO: |
- return false; |
- case OptTracker.OptimizationState.ALWAYS: |
- case OptTracker.OptimizationState.NEVER: |
- return true; |
- } |
- return true; |
+ var opt_status = %GetOptimizationStatus(func); |
+ return (opt_status & OptTracker.OptimizationState.kAlwaysOptimize) !== 0 || |
+ (opt_status & OptTracker.OptimizationState.kNeverOptimize) !== 0; |
} |
// (End of class OptTracker.) |