• lrn@chromium.org's avatar
    Stop using plain Arrays internally in built-in functions. · 4707d7ac
    lrn@chromium.org authored
    In built-in code we use arrays for internal computations.
    This makes it possible to affect the built-in code by putting getters
    or setters on the Array prototype chain.
    This adds a new internal Array constructor that creates Arrays with
    a very simplistic prototype chain that doesn't include any publicly
    visible objects. These Arrays shoudl ofcourse never leak outside the
    builtins, since that would expose the prototype object.
    The prototype object contains only the array functions that we use:
    push, pop and join (and not even a toString, so it doesn't stringify
    well).
    
    Also change uses of .call to %_CallFunction.
    
    BUG=1206
    
    Review URL: http://codereview.chromium.org/6602081
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    4707d7ac
builtins-ia32.cc 54.9 KB