- 25 Feb, 2016 1 commit
-
-
bmeurer authored
Migrate Math.imul, Math.fround, Math.acos, Math.asin and Math.atan to C++ builtins, as these ones call into C++ anyway and so there's no need to have this extra wrapper around it. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1731543004 Cr-Commit-Position: refs/heads/master@{#34274}
-
- 10 Dec, 2015 2 commits
-
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1512903002 Cr-Commit-Position: refs/heads/master@{#32746}
-
balazs.kilvady authored
BUG= TEST=mjsunit/regress/regress-undefined-nan, mjsunit/regress/regress-undefined-nan3, mjsunit/regress/regress-2596 Review URL: https://codereview.chromium.org/1507363002 Cr-Commit-Position: refs/heads/master@{#32741}
-
- 01 Oct, 2015 1 commit
-
-
bmeurer authored
Introduce %_ToNumber intrinsic, which just calls to the existing ToNumberStub, and remove all uses of our custom JavaScript plus intrinsics based ToNumber and friends. Also replace the TO_NUMBER_INLINE macro with TO_NUMBER, which is currently a wrapper for %_ToNumber. Newly written JS code should use TO_NUMBER (similar to TO_STRING, TO_INT32, and friends). Also finally remove the DefaultString/DefaultNumber builtins, which are basically the ES5 version of ToPrimitive. Now all code uses the ES6 version, which is implemented in Object::ToPrimitive and JSReceiver::ToPrimitive in C++. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=jarin@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1384443002 Cr-Commit-Position: refs/heads/master@{#31054}
-
- 29 Sep, 2015 1 commit
-
-
bmeurer authored
This adds ES6 compliant Object::ToInteger, Object::ToInt32, Object::ToUint32 and Object::ToLength, and replaces the old Execution wrappers of those abstract operations (which were not using the correct ToPrimitive). This also introduces proper %ToInteger and %ToLength runtime entries, with a fast path %_ToInteger supported in fullcodegen and Crankshaft (for now). Internal JavaScript code should use TO_INTEGER and TO_LENGTH respectively. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1378533002 Cr-Commit-Position: refs/heads/master@{#30993}
-
- 18 Sep, 2015 1 commit
-
-
bmeurer authored
This removes the weird COMPARE and COMPARE_STRONG JavaScript builtins and replaces them with a proper C++ implementation in Object::Compare and appropriate wrappers Object::LessThan, Object::GreaterThan, and friends that are intended to be used by a true/false returning CompareIC in the future, as well as the interpreter. As a short-term solution we provide %Compare and %Compare_Strong entry points for the current CompareIC that return the appropriate integer values expected by fullcodegen currently. Now the Abstract Relational Comparison is also using the correct ToPrimitive implementation, which properly supports @@toPrimitive. BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1350113002 Cr-Commit-Position: refs/heads/master@{#30816}
-
- 15 Sep, 2015 1 commit
-
-
bmeurer authored
Move the implementation of the Abstract Equality Comparison to the runtime and thereby remove the EQUALS dispatcher builtin. Also remove the various runtime entry points that were only used to support the EQUALS builtin. Now the Abstract Equality Comparison is also using the correct ToPrimitive implementation, which properly supports @@toPrimitive. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=mstarzinger@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1337993005 Cr-Commit-Position: refs/heads/master@{#30747}
-
- 10 Sep, 2015 1 commit
-
-
bmeurer authored
Replace the ADD, SUB, etc. builtins with proper runtime implementations, and expose them as runtime calls that can be used by the code stubs and the interpreter (for now). Also remove all the support runtime functions for ADD, SUB and friends, namely %NumberAdd, %NumberSub, and so on. R=mstarzinger@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg Review URL: https://codereview.chromium.org/1333843002 Cr-Commit-Position: refs/heads/master@{#30680}
-
- 09 Sep, 2015 1 commit
-
-
bmeurer authored
This has been dead code for quite a while now. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1314353006 Cr-Commit-Position: refs/heads/master@{#30652}
-
- 04 Sep, 2015 1 commit
-
-
bmeurer authored
Similar to DELETE, the IN builtin is just a thin wrapper for %HasElement and %HasProperty anyway, and cannot be optimized, plus it had a weird special fast case (which also involved at least one LOAD_IC plus some intrinsic magic). R=yangguo@chromium.org,jarin@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_win_nosnap_shared_rel Committed: https://crrev.com/72d60a1e80e81e2e68ca402665e2acbc46c5e471 Cr-Commit-Position: refs/heads/master@{#30154} Review URL: https://codereview.chromium.org/1295433002 Cr-Commit-Position: refs/heads/master@{#30582}
-
- 28 Aug, 2015 1 commit
-
-
bmeurer authored
This is the first step towards a spec compliant ToPrimitive implementation (and therefore spec compliant ToNumber, ToString, ToName, and friends). It adds support for the @@toPrimitive symbol that was introduced with ES2015, and also adds the new Symbol.prototype[@@toPrimitive] and Date.prototype[@@toPrimitive] initial properties. There are now runtime functions for %ToPrimitive, %ToNumber and %ToString, which do the right thing and should be used as fallbacks instead of the hairy runtime.js implementations. I will do the same for the other conversion operations mentioned by the spec in follow up CLs. Once everything is in place we can look into optimizing things further, so that we don't always call into the runtime. Also fixed Date.prototype.toJSON to be spec compliant. R=mstarzinger@chromium.org, yangguo@chromium.org BUG=v8:4307 LOG=y Review URL: https://codereview.chromium.org/1306303003 Cr-Commit-Position: refs/heads/master@{#30434}
-
- 18 Aug, 2015 1 commit
-
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1293053004 Cr-Commit-Position: refs/heads/master@{#30232}
-
- 13 Aug, 2015 2 commits
-
-
bmeurer authored
Revert of [runtime] Remove useless IN builtin. (patchset #2 id:20001 of https://codereview.chromium.org/1295433002/ ) Reason for revert: Breaks win32 nosnap Original issue's description: > [runtime] Remove useless IN builtin. > > Similar to DELETE, the IN builtin is just a thin wrapper for %HasElement > and %HasProperty anyway, and cannot be optimized, plus it had a weird > special fast case (which also involved at least one LOAD_IC plus some > intrinsic magic). > > R=yangguo@chromium.org,jarin@chromium.org > > Committed: https://crrev.com/72d60a1e80e81e2e68ca402665e2acbc46c5e471 > Cr-Commit-Position: refs/heads/master@{#30154} TBR=yangguo@chromium.org,jarin@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1288923002 Cr-Commit-Position: refs/heads/master@{#30155}
-
bmeurer authored
Similar to DELETE, the IN builtin is just a thin wrapper for %HasElement and %HasProperty anyway, and cannot be optimized, plus it had a weird special fast case (which also involved at least one LOAD_IC plus some intrinsic magic). R=yangguo@chromium.org,jarin@chromium.org Review URL: https://codereview.chromium.org/1295433002 Cr-Commit-Position: refs/heads/master@{#30154}
-
- 10 Aug, 2015 1 commit
-
-
bmeurer authored
No need to provide TO_INT32/TO_UINT32 functions for every native context, as they can be implemented in terms of TO_NUMBER more easily and efficiently. Also remove the obsolete TO_BOOLEAN_FUN_INDEX from the native contexts. Review URL: https://codereview.chromium.org/1275013004 Cr-Commit-Position: refs/heads/master@{#30080}
-
- 05 Aug, 2015 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1269323003 Cr-Commit-Position: refs/heads/master@{#30023}
-
- 20 May, 2015 1 commit
-
-
erikcorry authored
R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/1143133002 Cr-Commit-Position: refs/heads/master@{#28502}
-
- 21 Apr, 2015 1 commit
-
-
yangguo authored
R=dusan.milosavljevic@imgtec.com Review URL: https://codereview.chromium.org/1101503003 Cr-Commit-Position: refs/heads/master@{#27967}
-
- 20 Apr, 2015 1 commit
-
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1096763003 Cr-Commit-Position: refs/heads/master@{#27949}
-
- 31 Mar, 2015 1 commit
-
-
arv authored
We have been shipping harmony numeric literals since M41 R=rossberg@chromium.org LOG=Y Review URL: https://codereview.chromium.org/1024603002 Cr-Commit-Position: refs/heads/master@{#27545}
-
- 05 Mar, 2015 1 commit
-
-
svenpanne authored
This way, every function in those lists has one C++ implementation called Runtime_##name. The previous distinction was confusing. Review URL: https://codereview.chromium.org/983623002 Cr-Commit-Position: refs/heads/master@{#27010}
-
- 21 Jan, 2015 1 commit
-
-
bmeurer authored
Use std::numeric_limits<double>::quiet_NaN() and std::numeric_limits<float>::quiet_NaN() instead. Review URL: https://codereview.chromium.org/864803002 Cr-Commit-Position: refs/heads/master@{#26195}
-
- 22 Oct, 2014 1 commit
-
-
dslomov@chromium.org authored
R=yangguo@chromium.org BUG=chromium:425551 LOG=N Review URL: https://codereview.chromium.org/654763003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Oct, 2014 2 commits
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/648643003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/662413002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Oct, 2014 1 commit
-
-
yangguo@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/638423003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Sep, 2014 1 commit
-
-
yangguo@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/612383002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Sep, 2014 1 commit
-
-
yangguo@chromium.org authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/598913004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-