• franzih's avatar
    [runtime] Intercept function declarations. · 8439401d
    franzih authored
    We used to intercept function definitions, but not declarations.
    GenericNamedPropertySetterCallback now also intercepts function declarations.
    
    For definitions, we call DeclareGlobal and then InitializeVarGlobal. For
    declarations, we never call InitializeVarGlobal, thus we must check for
    interceptors in DeclareGlobal.
    
    If the semantics of a redeclaration are wrong, e.g., redeclaring a read-only
    property, an exception is thrown independent of whether an interceptor is
    installed. Usually, i.e., not during a declaration, we only throw if
    the call is not successfully intercepted.
    
    BUG=v8:5375
    
    Review-Url: https://codereview.chromium.org/2334733002
    Cr-Commit-Position: refs/heads/master@{#39450}
    8439401d
test-api-interceptors.cc 167 KB