1. 31 Jul, 2020 3 commits
  2. 17 Jul, 2020 1 commit
  3. 08 Jul, 2019 3 commits
  4. 12 Jun, 2019 1 commit
    • Nico Weber's avatar
      win: Make v8 build with /Zc:twoPhase, and improve a comment. · c6e6c2c6
      Nico Weber authored
      The C++ standard says that template functions should be parsed immediately,
      and only type-dependent things should be deferred.
      
      cl.exe (MSVC's compiler) instead deferred parsing of all template functions
      until the end of the translation unit, and unreferenced template functions
      are not parsed at all. clang-cl emulates cl.exe's behavior.
      
      Recently, cl.exe (and clang-cl) grew a /Zc:twoPhase flag that opts in to the
      standards-conforming behavior, and system headers are now clean enough
      to build with this flag set.
      
      This cleans up v8 to also build with this flag. There was just a single issue:
      RecyclingZoneAllocator() is unused and contains invalid code: It calls
      the superclass ctor using `ZoneAllocator(nullptr, nullptr)`, when it should
      be doing `ZoneAllocator<T>(nullptr, nullptr)`. With /Zc:twoPhase, this is
      now a parsing error. However, since the RecyclingZoneAllocator() default
      constructor isn't used anywhere, just delete it.
      
      Finally, improve the comment for ZoneAllocator's default constructor to
      explain why it's needed on Windows.
      
      Bug: chromium:969702
      Change-Id: I7a516afde67fe090a512d7c7214a3c6932754aca
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1652503
      Auto-Submit: Nico Weber <thakis@chromium.org>
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62108}
      c6e6c2c6
  5. 27 May, 2019 1 commit
    • Clemens Hammacher's avatar
      [cleanup] Replace simple typedefs by using · a335f2ae
      Clemens Hammacher authored
      This replaces all typedefs that define types and not functions by the
      equivalent "using" declaration.
      
      This was done mostly automatically using this command:
      ag -l '\btypedef\b' src test | xargs -L1 \
           perl -i -p0e 's/typedef ([^*;{}]+) (\w+);/using \2 = \1;/sg'
      
      Patchset 2 then adds some manual changes for typedefs for pointer types,
      where the regular expression did not match.
      
      R=mstarzinger@chromium.org
      TBR=yangguo@chromium.org, jarin@chromium.org
      
      Bug: v8:9183
      Change-Id: I6f6ee28d1793b7ac34a58f980b94babc21874b78
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631409
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61849}
      a335f2ae
  6. 03 Jan, 2019 1 commit
  7. 14 Sep, 2018 1 commit
  8. 27 Mar, 2017 1 commit
  9. 21 Feb, 2017 1 commit
  10. 23 Jan, 2017 1 commit
    • clemensh's avatar
      Enable emplace_back for zone containers · 14f470ca
      clemensh authored
      As required by C++11, this CL changes the zone allocator to be able to
      construct and destroy arbitrary types, and accept arbitrary arguments
      for construct, passing them via perfect forwarding.
      I also change some push_back to emplace_back. Some of those did not
      compile before.
      
      R=ishell@chromium.org, titzer@chromium.org
      
      Review-Url: https://codereview.chromium.org/2646873004
      Cr-Commit-Position: refs/heads/master@{#42597}
      14f470ca
  11. 26 Oct, 2016 1 commit
    • bbudge's avatar
      [Turbofan] Add concept of FP register aliasing on ARM 32. · 09ab8e6a
      bbudge authored
      - Modifies RegisterConfiguration to specify complex aliasing on ARM 32.
      - Modifies RegisterAllocator to consider aliasing.
      - Modifies ParallelMove::PrepareInsertAfter to handle aliasing.
      - Modifies GapResolver to split wider register moves when interference
      with smaller moves is detected.
      - Modifies MoveOptimizer to handle aliasing.
      - Adds ARM 32 macro-assembler pseudo move instructions to handle cases where
        split moves don't correspond to actual s-registers.
      - Modifies CodeGenerator::AssembleMove and AssembleSwap to handle moves of
        different widths, and moves involving pseudo-s-registers.
      - Adds unit tests for FP operand interference checking and PrepareInsertAfter.
      - Adds more tests of FP for the move optimizer and register allocator.
      
      LOG=N
      BUG=v8:4124
      
      Review-Url: https://codereview.chromium.org/2410673002
      Cr-Commit-Position: refs/heads/master@{#40597}
      09ab8e6a
  12. 20 Sep, 2016 1 commit
  13. 30 Sep, 2015 1 commit
  14. 15 Apr, 2015 1 commit
    • dcarney's avatar
      [turbofan] cleanup ParallelMove · 00aec790
      dcarney authored
      - make ParallelMove into a ZoneVector, removing an annoying level of indirection
      - make MoveOperands hold InstructionOperands instead of pointers, so there's no more operand aliasing for moves
      - opens up possibility of storing MachineType in allocated operands
      
      R=bmeurer@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1081373002
      
      Cr-Commit-Position: refs/heads/master@{#27842}
      00aec790
  15. 02 Dec, 2014 1 commit
  16. 30 Jul, 2014 1 commit
  17. 03 Jun, 2014 1 commit
  18. 02 May, 2014 1 commit
  19. 29 Apr, 2014 1 commit
  20. 19 Feb, 2014 2 commits
  21. 07 Feb, 2014 1 commit
  22. 17 Jan, 2014 1 commit
  23. 28 Nov, 2013 1 commit
  24. 05 Jun, 2013 1 commit
  25. 17 Nov, 2010 1 commit
  26. 17 May, 2010 1 commit
    • mark@chromium.org's avatar
      Allow build-time selection between ia32 and x86_64 in the GYP/Xcode Mac · e9b5d785
      mark@chromium.org authored
      Chromium build.
      
      v8.gyp no longer sets any V8_TARGET_ARCH_* macro on the Mac. Instead, the
      proper V8_TARGET_ARCH_* macro will be set by src/globals.h in the same way as
      the V8_HOST_ARCH_* macro when it detects that no target macro is currently
      defined. The Mac build will attempt to compile all ia32 and x86_64 .cc files.
      #ifdef guards in each of these target-specific source files prevent their
      compilation when the associated target is not selected. For completeness,
      these #ifdef guards are also provided for the arm and mips .cc files.
      
      BUG=706
      TEST=x86_64 Mac GYP/Xcode-based Chromium build (still depends on other changes)
      Review URL: http://codereview.chromium.org/2133003
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      e9b5d785
  27. 04 Feb, 2010 1 commit
  28. 27 May, 2009 1 commit
  29. 25 May, 2009 1 commit
  30. 15 May, 2009 1 commit
  31. 11 May, 2009 1 commit
  32. 23 Apr, 2009 1 commit
  33. 20 Mar, 2009 1 commit
  34. 27 Feb, 2009 1 commit
  35. 09 Sep, 2008 1 commit