1. 08 Sep, 2017 1 commit
  2. 02 Jun, 2017 1 commit
    • jarin's avatar
      This is a first step towards reducing the number of stores/loads when... · f0645612
      jarin authored
      This is a first step towards reducing the number of stores/loads when suspending/resuming a generator.
      
      Unfortunately, even for an empty generator, we still use 8 register for various things (try-finally, copies of generator object, parser-introduced temporaries). I will try to get rid of these in separate CLs.
      
      Changes:
      
      - SuspendGenerator bytecode now takes register list to save.
      - ResumeGenerator was split into two bytecodes:
        * Resume generator reads the state out and marks the generator as
            'executing'.
        * RestoreGeneratorRegisters reloads the registers from
            the generator.
          + this required adding support for output register list.
      
      - Introduced generator_object_ register in the bytecode generator.
        * in subsequent CLs, I will make better use of it, the goal is
            to get rid if the .generator_object local variable.
      
      - Taught register optimizer to flush unassigned registers.
      
      BUG=v8:6379
      
      Review-Url: https://codereview.chromium.org/2894293003
      Cr-Commit-Position: refs/heads/master@{#45675}
      f0645612
  3. 03 Feb, 2017 1 commit
  4. 31 Jan, 2017 2 commits
  5. 27 Jan, 2017 1 commit
  6. 16 Jan, 2017 1 commit
  7. 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