- 10 Mar, 2015 1 commit
-
-
bmeurer authored
Context specialization enables inlining (at least currently it is the only enabler for inlining), but inlining enables more possibilities for context specialization. So we really need to run them together. This is especially important with the "module based builtins" that we're working towards. BUG=v8:3952 LOG=n Review URL: https://codereview.chromium.org/988423004 Cr-Commit-Position: refs/heads/master@{#27085}
-
- 09 Mar, 2015 1 commit
-
-
Benedikt Meurer authored
We mark certain builtins for inlining, and those should always be inlined into optimized code (CrankShaft already handles it this way), so we should support that in TurboFan as well. Currently this mainly affects a certain set of Math functions, but once have the basics in place we can extend this to any kind of builtin/code stub/accessor. This adds a new flag --turbo_builtin_inlining (enabled by default), that forces the inliner to always inline builtins marked for inlining, but does not affect inlining of other functions (this is still controlled by the --turbo-inlining flag). BUG=v8:3952 LOG=n R=jarin@chromium.org Review URL: https://codereview.chromium.org/993473002 Cr-Commit-Position: refs/heads/master@{#27059}
-
- 03 Mar, 2015 1 commit
-
-
bmeurer authored
Also allow inlining of native functions. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/962963006 Cr-Commit-Position: refs/heads/master@{#26959}
-
- 24 Nov, 2014 1 commit
-
-
dcarney authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/725293003 Cr-Commit-Position: refs/heads/master@{#25473}
-
- 12 Nov, 2014 1 commit
-
-
mstarzinger@chromium.org authored
R=titzer@chromium.org TEST=cctest/test-run-inlining/InlineLoop Review URL: https://codereview.chromium.org/712403003 Cr-Commit-Position: refs/heads/master@{#25285} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Oct, 2014 1 commit
-
-
sigurds@chromium.org authored
This issue is for discussion on how to proceed. I think the implementation of ValueOf shows that directly creating the IR does not scale. BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/612043003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Sep, 2014 1 commit
-
-
sigurds@chromium.org authored
Original: https://codereview.chromium.org/573703002/ Reland Fixes: - Add deopt framestate to CollectStackTrace runtime call R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/544953006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Sep, 2014 2 commits
-
-
sigurds@chromium.org authored
This reverts commit r24008. TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/581673002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sigurds@chromium.org authored
- Lazy deopt from inlined calls - Lazy deopt from inlined calls with parameter mismatch R=jarin@chromium.org, mstarzinger@chromium.org, mstarzinger@chromium Review URL: https://codereview.chromium.org/573703002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Sep, 2014 2 commits
-
-
mstarzinger@chromium.org authored
R=sigurds@chromium.org TBR=bmeurer@chromium.org TEST=cctest/test-run-inlining --turbo-types Review URL: https://codereview.chromium.org/557253004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Revert "Switch inlining to use simplified instead of machine loads.", "Fix size_t to int conversion compile error." and "Add copy support in inliner.". This reverts commits r23813, r23805 and r23804 for Windows breakage. TBR=mstarzinger@chromium.org,sigurds@chromium.org Review URL: https://codereview.chromium.org/562543002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Sep, 2014 1 commit
-
-
mstarzinger@chromium.org authored
R=sigurds@chromium.org TEST=cctest/test-run-inlining --turbo-types Review URL: https://codereview.chromium.org/551413002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Aug, 2014 1 commit
-
-
sigurds@chromium.org authored
- Scheduler can inline a function with a loop. - Inlining strict into non-strict works correctly. - Inlining non-strict into strict works correctly. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/515103002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Aug, 2014 2 commits
-
-
sigurds@chromium.org authored
* Only control adjustment is to move everything from the inlinee's start block to the block the call was in. * Add a unit test to ensure that the scheduler actually picks the right order when placing the code. R=mstarzinger@chromium.org, titzer@chromium.org Review URL: https://codereview.chromium.org/508953002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sigurds@chromium.org authored
Remove dependency from generic lowering on compilation info for determining strictness and builtins. This makes the graphs compositional for inlining (i.e. we can now inline a strict function into a non-strict function, or vice versa). 1) Store strict mode as parameter in StoreNamed/StoreProperty. R=mstarzinger@chromium.org, titzer@chromium.org Review URL: https://codereview.chromium.org/473263004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Aug, 2014 1 commit
-
-
mstarzinger@chromium.org authored
TBR=vogelheim@chromium.org TEST=cctest/test-run-inlining Review URL: https://codereview.chromium.org/505753002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Aug, 2014 1 commit
-
-
sigurds@chromium.org authored
Reland Fixes: * Remove usage of C++11 vector members. * Guard tests by V8_TURBO_TARGET. Changes: * Make context specialization clean up after itself. * Add UpdateToAndIncrement to Inputs::iterator. Uses:iterator already provides this member function. * Allow next node id in graph to be set. R=titzer@chromium.org, mstarzinger@chromium.org Review URL: https://codereview.chromium.org/484083003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Aug, 2014 2 commits
-
-
sigurds@chromium.org authored
This reverts commit r23197. TBR=titzer@chromium.org Review URL: https://codereview.chromium.org/481413002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sigurds@chromium.org authored
* Add stack depth checking to function tester. * Make context specialization clean up after itself. * Add UpdateToAndIncrement to Inputs::iterator. Uses:iterator already provides this member function. * Allow next node id in graph to be set. R=mstarzinger@chromium.org, titzer@chromium.org Review URL: https://codereview.chromium.org/453833003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-