| 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);
|
| })();
|
|
|