v8/src/js
bmeurer 8d20f2fe37 [builtins] Make Math.ceil, Math.trunc and Math.round optimizable.
Migrate Math.ceil, Math.round and Math.trunc to TurboFan code stubs,
similar to what we did with Math.floor, and make these builtins properly
optimizable in TurboFan via appropriate simplified operators NumberCeil,
NumberRound and NumberTrunc, which are intended to be reusable for
ToInteger and ToLength optimizations that will be done in a followup CL.

Also allows us to kill the funky %RoundNumber runtime function, which
was quite heavy.

Improve test coverage for Math.ceil and Math.trunc a lot, especially
making sure that we also properly trigger the TurboFan builtin reducer
case.

R=jarin@chromium.org
BUG=v8:4059
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#35135}
2016-03-30 11:57:20 +00:00
..
array-iterator.js Minor library function fixes for TypedArray spec compliance 2016-03-10 23:38:16 +00:00
array.js [runtime] Don't call GetArrayKeys on proxies. 2016-03-29 12:36:04 +00:00
arraybuffer.js TypedArray and ArrayBuffer support for @@species 2016-01-12 06:07:59 +00:00
collection-iterator.js Move error message makers off js builtins object. 2015-10-22 11:30:07 +00:00
collection.js [proxies] Better print for proxies in d8 2015-12-22 13:50:17 +00:00
generator.js [generators] Implement Generator.prototype.return. 2016-02-04 17:14:15 +00:00
harmony-atomics.js [Atomics] Fix atomic access index validation 2016-03-25 21:52:52 +00:00
harmony-object-observe.js Native context: use import/export for Object observe related functions. 2015-10-15 08:32:47 +00:00
harmony-regexp-exec.js Add ES2015 RegExp full subclassing semantics behind a flag 2016-03-24 22:27:21 +00:00
harmony-sharedarraybuffer.js [es6] Unify ArrayBuffer and SharedArrayBuffer constructors. 2016-01-01 07:13:16 +00:00
harmony-simd.js Use new.target in favor of %_IsConstructCall intrinsic (1). 2015-11-30 10:48:32 +00:00
harmony-species.js Add a --harmony-species flag, defining @@species on constructors 2016-01-04 19:39:59 +00:00
harmony-string-padding.js [esnext] implement String padding proposal 2016-03-24 17:15:09 +00:00
harmony-unicode-regexps.js Add fast paths for native RegExps in ES2015 subclass-aware code 2016-03-29 20:42:54 +00:00
i18n.js [regexp, intl] Intl should not cause side effects to the RegExp object. 2016-03-29 11:57:03 +00:00
iterator-prototype.js Install iterator meta objects via utils object. 2015-10-16 11:27:33 +00:00
json.js Replace PushIfAbsent by a Stack object 2016-03-14 14:45:03 +00:00
macros.py [strong] Remove all remainders of strong mode 2016-03-10 12:45:42 +00:00
math.js [builtins] Make Math.ceil, Math.trunc and Math.round optimizable. 2016-03-30 11:57:20 +00:00
messages.js Check for proper types from error handling code 2016-03-25 02:10:02 +00:00
object-observe.js [builtins] Migrate a bunch of Object builtins to C++. 2016-01-04 08:11:07 +00:00
OWNERS Add littledan to src/js/OWNERS 2016-01-13 01:09:19 +00:00
prologue.js [Atomics] Fix atomic access index validation 2016-03-25 21:52:52 +00:00
promise-extra.js Unstage non-standard Promise functions 2015-12-10 23:58:26 +00:00
promise.js Check that Promise subclasses have callable resolve/reject 2016-03-10 23:22:31 +00:00
proxy.js Remove the Proxy enumerate trap 2016-02-22 21:11:36 +00:00
regexp.js Add fast paths for native RegExps in ES2015 subclass-aware code 2016-03-29 20:42:54 +00:00
runtime.js [builtins] Support SameValue and SameValueZero via runtime functions. 2016-02-17 10:54:25 +00:00
spread.js [builtins] Remove bunch of uses of %_Arguments and %_ArgumentsLength. 2016-02-11 07:13:15 +00:00
string-iterator.js String.prototype[Symbol.iterator] does RequireObjectCoercible(this) 2016-03-10 00:59:20 +00:00
string.js String.prototype.{match,search} should do only one RegExp brand check 2016-03-28 18:53:39 +00:00
symbol.js Remove --harmony-tostring runtime flag 2016-03-11 18:20:48 +00:00
templates.js [builtins] Migrate a bunch of Object builtins to C++. 2016-01-04 08:11:07 +00:00
typedarray.js Revert of Restore per-TypedArray-class length accessors as a perf workaround (patchset #2 id:20001 of https://codereview.chromium.org/1624383003/ ) 2016-03-18 18:29:37 +00:00
uri.js Move error message makers off js builtins object. 2015-10-22 11:30:07 +00:00
v8natives.js [Atomics] Fix atomic access index validation 2016-03-25 21:52:52 +00:00
weak-collection.js Rename IS_SPEC_OBJECT macro to IS_RECEIVER. 2015-12-17 09:44:02 +00:00