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..82b8245609d8e4b25420875df3a9f843be78a2ac 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, |
Michael Starzinger
2017/01/26 12:24:52
suggestion: Could we map these to the existing con
Igor Sheludko
2017/01/26 14:12:31
Given that this file already uses stuff from mjsun
|
+ kNeverOptimize: 1 << 1, |
+ kAlwaysOptimize: 1 << 2, |
+ kMaybeDeopted: 1 << 3, |
+ kOptimized: 1 << 4, |
+ kTurboFanned: 1 << 5, |
+ kInterpreted: 1 << 6 |
}; |
/** |
@@ -94,12 +97,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 +121,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 +132,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.) |