1. 24 Apr, 2017 1 commit
    • bmeurer's avatar
      [turbofan] Also constant-fold Object.getPrototypeOf if possible. · 359b5f93
      bmeurer authored
      We already have an optimization to constant-fold access to an object's
      prototype via the special __proto__ accessor (specified in appendix B).
      We can use the same optimization to also constant-fold accesses to an
      object's prototype via the official Object.getPrototypeOf function.
      
      Also add the optimization for Reflect.getPrototypeOf, which is
      equivalent for object inputs.
      
      This is commonly used by Babel to implement various new language
      features, for example subclassing and certain property lookups.
      
      R=yangguo@chromium.org
      BUG=v8:6292
      
      Review-Url: https://codereview.chromium.org/2841463002
      Cr-Commit-Position: refs/heads/master@{#44788}
      359b5f93
  2. 08 Mar, 2017 1 commit
  3. 27 Jan, 2017 1 commit
  4. 16 Jan, 2017 1 commit
  5. 02 Jan, 2017 1 commit
    • bmeurer's avatar
      [crankshaft] Don't bailout on uninitialized access to arguments object. · 380a0207
      bmeurer authored
      When Crankshaft compiles a keyed load to arguments, it disabled
      optimization unless the KEYED_LOAD_IC for the access was monomorphic.
      But that's too restrictive, since it will also disable optimization
      for this function when the access is on a path that was never executed
      so far.
      
      This was spotted in the Node.js core function EventEmitter.prototype.emit,
      which was no longer optimizable with Crankshaft using latest V8.
      
      R=jarin@chromium.org
      BUG=v8:5790
      
      Review-Url: https://codereview.chromium.org/2607303002
      Cr-Commit-Position: refs/heads/master@{#42005}
      380a0207