1. 26 Jan, 2016 6 commits
    • pkotwicz's avatar
      [GN] Remove CAN_USE_VFP_INSTRUCTIONS define to match GYP · f53d530b
      pkotwicz authored
      CAN_USE_VFP_INSTRUCTIONS was removed in GYP in
      https://codereview.chromium.org/340373002
      
      BUG=None
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1635123003
      
      Cr-Commit-Position: refs/heads/master@{#33526}
      f53d530b
    • mlippautz's avatar
      [heap] Parallel newspace evacuation, semispace copy, and compaction \o/ · 8f0fd8c0
      mlippautz authored
      All parallelism can be turned off using --predictable, or --noparallel-compaction.
      
      This patch completely parallelizes
       - semispace copy: from space -> to space (within newspace)
       - newspace evacuation: newspace -> oldspace
       - oldspace compaction: oldspace -> oldspace
      
      Previously newspace has been handled sequentially (semispace copy, newspace
      evacuation) before compacting oldspace in parallel. However, on a high level
      there are no dependencies between those two actions, hence we parallelize them
      altogether. We base the number of evacuation tasks on the overall set of
      to-be-processed pages (newspace + oldspace compaction pages).
      
      Some low-level details:
       - The hard cap on number of tasks has been lifted
       - We cache store buffer entries locally before merging them back into the global
         StoreBuffer in a finalization phase.
       - We cache AllocationSite operations locally before merging them back into the
         global pretenuring storage in a finalization phase.
       - AllocationSite might be compacted while they would be needed for newspace
         evacuation. To mitigate any problems we defer checking allocation sites for
         newspace till merging locally buffered data.
      
      CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_asan_rel,v8_linux64_tsan_rel,v8_mac64_asan_rel
      BUG=chromium:524425
      LOG=N
      R=hpayer@chromium.org, ulan@chromium.org
      
      Review URL: https://codereview.chromium.org/1577853007
      
      Cr-Commit-Position: refs/heads/master@{#33523}
      8f0fd8c0
    • joransiu's avatar
      S390: Add platform specific atomic ops impl · 4cbd63c9
      joransiu authored
      Add S390 specific atomic ops implementation + associated build
      toolchain updates.
      
      R=danno@chromium.org,svenpanne@chromium.org,michael_dawson@ca.ibm.com,jyan@ca.ibm.com,mtbrandyberry@ca.ibm.com
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1601223003
      
      Cr-Commit-Position: refs/heads/master@{#33519}
      4cbd63c9
    • oth's avatar
      [interpreter] Wide register support. · 19df7a20
      oth authored
      This increases the size of register operands to be 16-bit.
      
      Not all bytecodes have wide register variants, so when they are
      needed a register translator will copy them into a small area
      reserved at the top of the 8-bit register range and these registers
      are supplied as arguments to the bytecode with 8-bit operands.
      
      This is non-intrusive for typical bytecode where the number of
      registers is less than 120. For bytecodes with wide register
      operands (above the window) their index needs to be translated
      to avoid the reserved translation window.
      
      Enables splay.js to run in Octane and a handful of mjsunit tests.
      
      BUG=v8:4280,v8:4675
      LOG=NO
      
      Review URL: https://codereview.chromium.org/1613163002
      
      Cr-Commit-Position: refs/heads/master@{#33516}
      19df7a20
    • jochen's avatar
      Add parser_fuzzer to BUILD.gn · 4e234f27
      jochen authored
      BUG=chromium:577261
      R=machenbach@chromium.org
      LOG=n
      
      Review URL: https://codereview.chromium.org/1635963003
      
      Cr-Commit-Position: refs/heads/master@{#33511}
      4e234f27
    • mlippautz's avatar
      [heap] Move symbols and internalized strings to global header · 51879692
      mlippautz authored
      BUG=
      R=hpayer@chromium.org
      
      Review URL: https://codereview.chromium.org/1634513002
      
      Cr-Commit-Position: refs/heads/master@{#33506}
      51879692
  2. 22 Jan, 2016 1 commit
  3. 21 Jan, 2016 2 commits
  4. 20 Jan, 2016 1 commit
    • mstarzinger's avatar
      [interpreter] Implement exception handler table building. · 82716f1c
      mstarzinger authored
      This implements a first version of exception handler table construction
      within the interpreter. Note that the local control flow for try-catch
      and try-finally statements is still off, and also stack unwinding does
      not yet respect interpreter frames. But generated handler tables should
      be populated correctly already.
      
      R=oth@chromium.org
      BUG=v8:4674
      LOG=n
      
      Review URL: https://codereview.chromium.org/1607433005
      
      Cr-Commit-Position: refs/heads/master@{#33400}
      82716f1c
  5. 15 Jan, 2016 1 commit
  6. 14 Jan, 2016 3 commits
    • joransiu's avatar
      S390: Makefile + Build Toolchain Updates · 1091c2f0
      joransiu authored
      This is the first of several commits to contribute Linux on z Systems
      (s390/s390x) port of V8.  We will be breaking up the changes into several
      (hopefully) logical commits.
      
      This commit contains the changes to V8 Makefile and build toolchains to
      introduce S390 macros and compiler options.  Just for awareness for reviewers
      is that s390 is 31-bit (not 32!) big-endian platform on Linux on z.  (MSB of address
      is used to distinguish between 24-bit vs 31-bit addressing!)  s390x is
      64-bit Linux on z.  Names follow the general linux convention on the platform.
      
      A quick roadmap on upcoming commits:
      - Add \#include of S390 header files in common files
      - S390 related tests + tooling changes
      - printf macro for printing size_t values.
      - S390 platform-specific code generation code (bulk of changes!)
      
      R=danno@chromium.org,svenpanne@chromium.org,michael_dawson@ca.ibm.com,jyan@ca.ibm.com,mtbrandyberry@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1585813002
      
      Cr-Commit-Position: refs/heads/master@{#33304}
      1091c2f0
    • rmcilroy's avatar
      [Interpreter] Ensure we always have an outer register allocation scope. · ef21fb2d
      rmcilroy authored
      Split RegisterAllocationScope out of ExpressionResult and allocate one
      for each statement. This ensures that we always have an outer register
      allocation scope for statement code (used in CountOperation and
      RegisterExecutionResult). Also refactored the register allocator code to
      move it to it's own file and rename from TemporaryRegisterScope to
      BytecodeRegisterAllocator.
      
      BUG=v8:4280
      LOG=N
      
      Review URL: https://codereview.chromium.org/1587033002
      
      Cr-Commit-Position: refs/heads/master@{#33296}
      ef21fb2d
    • rossberg's avatar
      Forgot adding new file to build files · 2d36bdff
      rossberg authored
      R=hablich@chromium.org
      BUG=v8:4664
      LOG=N
      
      Review URL: https://codereview.chromium.org/1581423003
      
      Cr-Commit-Position: refs/heads/master@{#33290}
      2d36bdff
  7. 12 Jan, 2016 3 commits
  8. 11 Jan, 2016 1 commit
  9. 08 Jan, 2016 1 commit
  10. 05 Jan, 2016 2 commits
  11. 04 Jan, 2016 1 commit
    • littledan's avatar
      Add a --harmony-species flag, defining @@species on constructors · fb5cbc2e
      littledan authored
      This patch adds the basis for subclassing TypedArrays, Arrays and
      ArrayBuffers through the @@species hook, added in ES2015. This is
      the first patch in a series. This patch simply defines the
      @@species Symbol and installs it on the appropriate constructors.
      The behavior is guarded behind the --harmony-species flag.
      
      R=cbruni
      BUG=v8:4093
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      TBR=hpayer@chromium.org
      
      Review URL: https://codereview.chromium.org/1558543002
      
      Cr-Commit-Position: refs/heads/master@{#33095}
      fb5cbc2e
  12. 28 Dec, 2015 1 commit
  13. 17 Dec, 2015 3 commits
  14. 16 Dec, 2015 1 commit
  15. 15 Dec, 2015 3 commits
  16. 12 Dec, 2015 1 commit
  17. 11 Dec, 2015 1 commit
  18. 10 Dec, 2015 5 commits
  19. 03 Dec, 2015 1 commit
  20. 02 Dec, 2015 2 commits
    • littledan's avatar
      Revert of Disable non-standard Promise functions in staging (patchset #1 id:1... · c6323632
      littledan authored
      Revert of Disable non-standard Promise functions in staging (patchset #1 id:1 of https://codereview.chromium.org/1478533002/ )
      
      Reason for revert:
      Will test better; there seems to be a bug related to this.
      
      Original issue's description:
      > Reland of Disable non-standard Promise functions in staging (patchset #1 id:1 of https://codereview.chromium.org/1473603002/ )
      >
      > Reason for revert:
      > Breakage in Ignition seems unrelated; relanding.
      >
      > Original issue's description:
      > > Revert of Disable non-standard Promise functions in staging (patchset #5 id:80001 of https://codereview.chromium.org/1469543003/ )
      > >
      > > Reason for revert:
      > > [Sheriff] This breaks ignition on arm sim debug:
      > > https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/5317
      > >
      > > Seems to not be caught by the cq bot that builds release with dchecks.
      > >
      > > Original issue's description:
      > > > Disable non-standard Promise functions in staging
      > > >
      > > > This patch removes Promise functions and methods which are absent
      > > > from the ES2015 specification when the --es-staging flag is on.
      > > >
      > > > BUG=v8:3237
      > > > R=rossberg
      > > > LOG=Y
      > > >
      > > > Committed: https://crrev.com/941251af7e04d50ac2243da2870249a42111221a
      > > > Cr-Commit-Position: refs/heads/master@{#32194}
      > >
      > > TBR=rossberg@chromium.org,littledan@chromium.org
      > > NOPRESUBMIT=true
      > > NOTREECHECKS=true
      > > NOTRY=true
      > > BUG=v8:3237
      > >
      > > Committed: https://crrev.com/86bd2b3c23b562213d5af158849dcd65f347a827
      > > Cr-Commit-Position: refs/heads/master@{#32199}
      >
      > TBR=rossberg@chromium.org,rmcilroy@chromium.org,machenbach@chromium.org
      > NOPRESUBMIT=true
      > NOTREECHECKS=true
      > NOTRY=true
      > BUG=v8:3237
      >
      > Committed: https://crrev.com/9278b7b05a45c2089007e8b61822af96b5d0c8df
      > Cr-Commit-Position: refs/heads/master@{#32235}
      
      TBR=rossberg@chromium.org,rmcilroy@chromium.org,machenbach@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:3237
      
      Review URL: https://codereview.chromium.org/1493713004
      
      Cr-Commit-Position: refs/heads/master@{#32530}
      c6323632
    • danno's avatar
      [stubs] A new approach to TF stubs · 3e7e3ed7
      danno authored
      * Add a sibling interface to InterpreterAssembler called
        CodeStubAssembler which provides a wrapper around the
        RawMachineAssembler and is intented to make it easy to build
        efficient cross-platform code stubs. Much of the implementation
        of CodeStubAssembler is shamelessly stolen from the
        InterpreterAssembler, and the idea is to eventually merge the
        two interfaces somehow, probably moving the
        InterpreterAssembler interface over to use the
        CodeStubAssembler. Short-term, however, the two interfaces
        shall remain decoupled to increase our velocity developing the
        two systems in parallel.
      * Implement the StringLength stub in TurboFan with the new
        CodeStubAssembler. Replace and remove the old Hydrogen-stub
        version.
      * Remove a whole slew of machinery to support JavaScript-style
        code stub generation, since it ultimately proved unwieldy,
        brittle and baroque. This cleanup includes removing the shared
        code stub context, several example stubs and a tangle of build
        file changes.
      
      BUG=v8:4587
      LOG=n
      
      Review URL: https://codereview.chromium.org/1475953002
      
      Cr-Commit-Position: refs/heads/master@{#32508}
      3e7e3ed7