• wingo@igalia.com's avatar
    Remove separate maps for function instances · 3f09e0a3
    wingo@igalia.com authored
    ES3 specified that functions created via Function() would have
    enumerable prototypes, unlike function literals.  For this reason, V8
    has always had two prototypes for functions: "function_map" for
    literals, and "function_instance_map" for "function instances": those
    functions created by Function().
    
    However, since 2009 or so, both maps have been the same!  Both have had
    writable, non-enumerable prototypes.  Moreover, ES5 changed to specify
    that function instances would have non-enumerable prototypes.
    
    This patch removes the separate maps for function instances in sloppy
    and strict mode.
    
    R=mstarzinger@chromium.org
    TEST=mjsunit/function-prototype
    BUG=
    
    Review URL: https://codereview.chromium.org/14829005
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    3f09e0a3
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
preparser Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...