Index: test/mjsunit/compiler/stubs/floor-stub.js |
diff --git a/test/mjsunit/compiler/stubs/floor-stub.js b/test/mjsunit/compiler/stubs/floor-stub.js |
index 08cbef72af1e769dc93109af8ab377a37a62ac2d..e3fc9b6003f6c1f8b59f565fe1a5b74f9f2c4d2a 100644 |
--- a/test/mjsunit/compiler/stubs/floor-stub.js |
+++ b/test/mjsunit/compiler/stubs/floor-stub.js |
@@ -25,35 +25,30 @@ |
// (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 --expose-natives-as=builtins --noalways-opt --turbo-filter=* |
+// Flags: --allow-natives-syntax --expose-natives-as=builtins --noalways-opt |
const kExtraTypeFeedbackMinusZeroSentinel = 1; |
-const kFirstJSFunctionTypeFeedbackIndex = 5; |
const kFirstSlotExtraTypeFeedbackIndex = 5; |
-(function() { |
- var stub1 = builtins.MathFloorStub("MathFloorStub", 1); |
- var tempForTypeVector = function(d) { |
- return Math.round(d); |
+(function(){ |
+ var floorFunc = function() { |
+ Math.floor(NaN); |
} |
- tempForTypeVector(5); |
- var tv = %GetTypeFeedbackVector(tempForTypeVector); |
- var floorFunc1 = function(v, first) { |
- if (first) return; |
- return stub1(stub1, kFirstSlotExtraTypeFeedbackIndex - 1, tv, undefined, v); |
- }; |
- %OptimizeFunctionOnNextCall(stub1); |
- floorFunc1(5, true); |
- %FixedArraySet(tv, kFirstSlotExtraTypeFeedbackIndex - 1, stub1); |
+ // Execute the function once to make sure it has a type feedback vector. |
+ floorFunc(5); |
+ var stub = builtins.MathFloorStub("MathFloorStub", 0); |
assertTrue(kExtraTypeFeedbackMinusZeroSentinel !== |
- %FixedArrayGet(tv, kFirstSlotExtraTypeFeedbackIndex)); |
- assertEquals(5.0, floorFunc1(5.5)); |
+ %FixedArrayGet(%GetTypeFeedbackVector(floorFunc), |
+ kFirstSlotExtraTypeFeedbackIndex)); |
+ assertEquals(5.0, stub(floorFunc, 4, 5.5)); |
assertTrue(kExtraTypeFeedbackMinusZeroSentinel !== |
- %FixedArrayGet(tv, kFirstSlotExtraTypeFeedbackIndex)); |
+ %FixedArrayGet(%GetTypeFeedbackVector(floorFunc), |
+ kFirstSlotExtraTypeFeedbackIndex)); |
// Executing floor such that it returns -0 should set the proper sentinel in |
// the feedback vector. |
- assertEquals(-Infinity, 1/floorFunc1(-0)); |
+ assertEquals(-Infinity, 1/stub(floorFunc, 4, -0)); |
assertEquals(kExtraTypeFeedbackMinusZeroSentinel, |
- %FixedArrayGet(tv, kFirstSlotExtraTypeFeedbackIndex)); |
- %ClearFunctionTypeFeedback(floorFunc1); |
+ %FixedArrayGet(%GetTypeFeedbackVector(floorFunc), |
+ kFirstSlotExtraTypeFeedbackIndex)); |
+ %ClearFunctionTypeFeedback(floorFunc); |
})(); |