1. 03 Jan, 2017 1 commit
  2. 17 Oct, 2016 1 commit
  3. 03 Oct, 2016 1 commit
    • leszeks's avatar
      [base] Optimise hashmaps with simple key equality · 306f8311
      leszeks authored
      Hashmaps with a simple key equality method (comparing pointers) don't
      need to waste cycles (and branches) comparing hash values, as the key
      comparison is cheap.
      
      This patch modifies the hashmap's MatchFun to take the hashes as well as
      the keys, thus allowing the MatchFun to ignore the hashes. This allows
      slightly cleaner generated code, especially when the MatchFun is
      inlined.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2381303002
      Cr-Commit-Position: refs/heads/master@{#39932}
      306f8311
  4. 29 Sep, 2016 1 commit
    • leszeks's avatar
      [interpreter] Use hashmap for ConstantArrayBuilder's constant map · 0134ddae
      leszeks authored
      Uses the base hashmap to store the ConstantArrayBuilder's constant map,
      which slightly improves the performance of ConstantArrayBuilder::Insert.
      
      Includes a small overload of the hashmap LookupOrInsert method, which
      allows passing in a value creation function instead of just default
      initialising new values.
      
      On Octane's codeload, this gives (on my machine) a 0.27% improvement,
      which doesn't sound like a lot but I guess every little helps.
      
      Review-Url: https://codereview.chromium.org/2336553002
      Cr-Commit-Position: refs/heads/master@{#39883}
      0134ddae
  5. 20 Sep, 2016 1 commit
  6. 18 Aug, 2016 1 commit
  7. 10 Aug, 2016 1 commit
  8. 05 Aug, 2016 1 commit
  9. 25 Jul, 2016 1 commit
  10. 21 Mar, 2016 1 commit
    • oth's avatar
      [interpreter] Add support for scalable operands. · 48d082af
      oth authored
      This change introduces wide prefix bytecodes to support wide (16-bit)
      and extra-wide (32-bit) operands. It retires the previous
      wide-bytecodes and reduces the number of operand types.
      
      Operands are now either scalable or fixed size. Scalable operands
      increase in width when a bytecode is prefixed with wide or extra-wide.
      
      The bytecode handler table is extended to 256*3 entries. The
      first 256 entries are used for bytecodes with 8-bit operands,
      the second 256 entries are used for bytecodes with operands that
      scale to 16-bits, and the third group of 256 entries are used for
      bytecodes with operands that scale to 32-bits.
      
      LOG=N
      BUG=v8:4747,v8:4280
      
      Review URL: https://codereview.chromium.org/1783483002
      
      Cr-Commit-Position: refs/heads/master@{#34955}
      48d082af
  11. 26 Feb, 2016 1 commit
  12. 02 Feb, 2016 1 commit
    • oth's avatar
      [interpreter] Move temporary register allocator into own file. · ef93854a
      oth authored
      Moves the temporary register allocator out of the bytecode array
      builder into TemporaryRegisterAllocator class and adds unittests.
      Particular must be taken around the translation window boundary
      motivating the addition of tests.
      
      Also adds a Clear() method to IdentityMap() which is called by
      the destructor. This allows classes to hold an IdentityMap if
      they are zone allocated. Classes must call Clear() before the zone
      is re-cycled or face v8 heap corruption.
      
      BUG=v8:4280,v8:4675
      LOG=N
      
      Review URL: https://codereview.chromium.org/1651133002
      
      Cr-Commit-Position: refs/heads/master@{#33686}
      ef93854a
  13. 20 Jan, 2016 1 commit
  14. 05 Jan, 2016 1 commit
    • oth's avatar
      [Interpreter] Add support for jumps using constants with wide operands. · 8109f63f
      oth authored
      This increases the size of addressable constant pool entries for jumps
      to match other bytecodes using operands indexing the constant pool.
      
      This change also introduces reservations for constant pool entries.
      Reservations are used for forward jumps to ensure a constant pool entry
      will be available when the jump target (label) is bound and the jump is
      patched up in the bytecode array.
      
      BUG=v8:4280
      LOG=N
      
      Review URL: https://codereview.chromium.org/1546683002
      
      Cr-Commit-Position: refs/heads/master@{#33125}
      8109f63f