v8/test
svenpanne 4b122b7504 Detect simple tail calls
This CL contains the first steps towards tail call optimization:

  * Structurally detect tail calls during instruction selection,
    looking for special return/call combinations.

  * Added new architecture-specific instructions for tail calls which
    jump instead of call and take care of frame adjustment.

  * Moved some code around.

Currently we restrict tail calls to callees which only use registers
for arguments/return value and to call sites which are explicitly
marked as being OK for tail calls. This excludes, among other things,
call sites in sloppy JS functions and our IC machinery (both need in
general to be able to access the caller's frame).

All this is behind a flag --turbo-tail-calls, which is currently off
by default, so it can easily be toggled.

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

Cr-Commit-Position: refs/heads/master@{#28150}
2015-04-30 09:10:28 +00:00
..
benchmarks [turbofan] Add single --turbo flag. 2015-04-16 16:28:39 +00:00
cctest Revert of Remove the weak list of array buffers (patchset #8 id:140001 of https://codereview.chromium.org/1114563002/) 2015-04-30 08:38:24 +00:00
intl Allow identifier code points from supplementary multilingual planes. 2014-10-10 07:13:46 +00:00
js-perf-test [cleanup] fix SpreadCalls perf-test names in JSTests.json 2015-04-10 18:29:25 +00:00
memory Correctly name memory stat for context snapshot size. 2015-04-10 22:36:02 +00:00
message Factor formal argument parsing into ParserBase 2015-04-21 11:09:34 +00:00
mjsunit [test] Skip tests on msan. 2015-04-29 07:19:59 +00:00
mozilla Revert "ES6: Number and Boolean prototype should be ordinary objects" 2015-04-13 16:21:00 +00:00
preparser Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
promises-aplus Enable access check tests that no longer fail with TF. 2014-08-14 13:24:57 +00:00
test262 Revert of Revert of [es6] don't throw if argument is non-object (O.freeze, O.seal, O.preventExtensions) (patchset #1 id:1 of https://codereview.chromium.org/1103473003/) 2015-04-22 10:33:33 +00:00
test262-es6 Revert of Revert of [es6] don't throw if argument is non-object (O.freeze, O.seal, O.preventExtensions) (patchset #1 id:1 of https://codereview.chromium.org/1103473003/) 2015-04-22 10:33:33 +00:00
unittests Detect simple tail calls 2015-04-30 09:10:28 +00:00
webkit Import webkit class tests 2015-04-28 16:42:46 +00:00