Collect type feedback on result of Math.[round|ceil|floor]
authordanno <danno@chromium.org>
Tue, 5 May 2015 07:55:51 +0000 (00:55 -0700)
committerCommit bot <commit-bot@chromium.org>
Tue, 5 May 2015 07:55:58 +0000 (07:55 +0000)
commitf36ecaf3a4d61568ca50a20718acce7dd5da9a5f
tree26ea0e6c56d6c005ad3fce993015810b48637cbe
parent64d73404393f25e2ba3a2b80106bdca2dcb95fe9
Collect type feedback on result of Math.[round|ceil|floor]

By recording invocations of these builtins that can return -0, we now learn to not emit Crankshaft code that only handles integer results, avoiding deopt loops.

Review URL: https://codereview.chromium.org/1053143005

Cr-Commit-Position: refs/heads/master@{#28215}
36 files changed:
src/arm/code-stubs-arm.cc
src/arm/macro-assembler-arm.cc
src/arm/macro-assembler-arm.h
src/arm64/code-stubs-arm64.cc
src/arm64/macro-assembler-arm64.cc
src/arm64/macro-assembler-arm64.h
src/assembler.cc
src/assembler.h
src/ast.h
src/code-stubs.cc
src/code-stubs.h
src/hydrogen.cc
src/hydrogen.h
src/ia32/code-stubs-ia32.cc
src/ia32/macro-assembler-ia32.cc
src/ia32/macro-assembler-ia32.h
src/ic/ic.cc
src/math.js
src/mips/code-stubs-mips.cc
src/mips/macro-assembler-mips.cc
src/mips/macro-assembler-mips.h
src/mips64/code-stubs-mips64.cc
src/mips64/macro-assembler-mips64.cc
src/mips64/macro-assembler-mips64.h
src/snapshot/serialize.cc
src/type-feedback-vector.cc
src/type-feedback-vector.h
src/type-info.cc
src/type-info.h
src/typing.cc
src/x64/code-stubs-x64.cc
src/x64/macro-assembler-x64.cc
src/x64/macro-assembler-x64.h
test/mjsunit/math-ceil-minus-zero.js [new file with mode: 0644]
test/mjsunit/math-floor-minus-zero.js [new file with mode: 0644]
test/mjsunit/math-round-minus-zero.js [new file with mode: 0644]