Implement function proxies (except for their use as constructors).
authorrossberg@chromium.org <rossberg@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 13 Sep 2011 11:42:57 +0000 (11:42 +0000)
committerrossberg@chromium.org <rossberg@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 13 Sep 2011 11:42:57 +0000 (11:42 +0000)
commite645597aa7f5d4642fbf671a71945ff1684e6e12
treef9416fe1e19757d95cf29dd46c66895902dd6728
parent19b5f4471217f0708020978595654c89a693746a
Implement function proxies (except for their use as constructors).

Introduce new %Apply native.

Extend Execution::Call to optionally handle receiver rewriting (needed for %Apply).

Fix Function.prototype.bind for functions that have .apply modified.

R=kmillikin@chromium.org
BUG=v8:1543
TEST=

Review URL: http://codereview.chromium.org/7623011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
34 files changed:
src/arm/builtins-arm.cc
src/arm/code-stubs-arm.cc
src/arm/full-codegen-arm.cc
src/arm/macro-assembler-arm.h
src/array.js
src/builtins.h
src/execution.cc
src/execution.h
src/factory.cc
src/factory.h
src/heap.cc
src/heap.h
src/hydrogen.cc
src/ia32/builtins-ia32.cc
src/ia32/code-stubs-ia32.cc
src/json.js
src/macros.py
src/messages.js
src/objects-debug.cc
src/objects-inl.h
src/objects-printer.cc
src/objects-visiting.cc
src/objects.cc
src/objects.h
src/proxy.js
src/runtime.cc
src/runtime.h
src/runtime.js
src/string.js
src/v8natives.js
src/x64/builtins-x64.cc
src/x64/code-stubs-x64.cc
test/mjsunit/fuzz-natives.js
test/mjsunit/harmony/proxies.js