• yangguo's avatar
    Do not use js builtins object to determine whether a function is a builtin. · 371ad73a
    yangguo authored
    We can use the script type to determine that instead. Script of type
    TYPE_NATIVE are considered builtins, TYPE_NORMAL are not. The only exception
    to this rule is the empty function, for which the script is TYPE_NATIVE
    (observable by the debugger), but should be stringified to "function () {}"
    instead of "function () { [native code] }". For this, I introduce a
    hide_source flag on the script object.
    
    We also use IsBuiltin and IsSubjectToDebugging interchangeably. For debugger,
    we now use the latter, hiding the detail that only non-builtins are debuggable.
    
    R=mstarzinger@chromium.org
    
    Review URL: https://codereview.chromium.org/1292283004
    
    Cr-Commit-Position: refs/heads/master@{#30285}
    371ad73a
isolate.cc 93.6 KB