1. 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
  2. 26 Apr, 2017 1 commit
  3. 15 Dec, 2016 1 commit
  4. 08 Dec, 2016 1 commit
  5. 05 Dec, 2016 1 commit
  6. 29 Nov, 2016 3 commits
  7. 22 Nov, 2016 1 commit
    • leszeks's avatar
      [ignition] Replace branch+loop analysis with a single pass · 292c4a0a
      leszeks authored
      Now that we have a JumpLoop bytecode, we can heavily simplify the
      branch/loop analysis by assuming that only JumpLoop bytecodes are
      backwards edges, and performing the loop analysis as a single
      (backwards) pass.
      
      This allows us to get rid of the branch analysis entirely, and builds a
      framework to do liveness analysis in the same pass.
      
      Review-Url: https://codereview.chromium.org/2519983002
      Cr-Commit-Position: refs/heads/master@{#41194}
      292c4a0a