Optimize Function.prototype.call
authorverwaest@chromium.org <verwaest@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 13 Jun 2014 12:52:23 +0000 (12:52 +0000)
committerverwaest@chromium.org <verwaest@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 13 Jun 2014 12:52:23 +0000 (12:52 +0000)
commit7005abf03b4f330cd217e425328f1cddd162bf44
tree8691619afe8eb3d400e6c69efd6b616a9d96d15c
parent6e29768eb60fa060360a4cd0afaae337465a5064
Optimize Function.prototype.call

- May inline the function, or call it directly, instead of going through call
- Supports arguments object escaping when it escapes to builtins (preparation for slice.call(arguments, ...) optimization)
- Both .call and .apply now support inlining when calling builtins indirectly

BUG=
R=verwaest@chromium.org, rossberg@chromium.org

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

Patch from Petka Antonov <p.antonov@partner.samsung.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/hydrogen.cc
src/hydrogen.h
src/objects.h
test/mjsunit/compiler/inlined-call.js [new file with mode: 0644]