1. 14 Feb, 2018 1 commit
  2. 30 Jan, 2018 1 commit
  3. 29 Jan, 2018 1 commit
  4. 24 Jan, 2018 1 commit
  5. 30 Nov, 2017 1 commit
  6. 23 Nov, 2017 1 commit
  7. 15 Nov, 2017 1 commit
  8. 14 Nov, 2017 2 commits
    • Ross McIlroy's avatar
      [compiler] Add background compilation mode. · 9a4b334f
      Ross McIlroy authored
      Adds support for compiling top-level code on a background thread behind a flag.
      When the flag is enabled, any background-parsing-task will perform compilation
      as well as parsing.
      
      BUG=v8:5203
      TBR=marja@chromium.org,mstarzinger@chromium.org
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Icf90ac7211298d3555515dafc7c3245618ec1304
      Reviewed-on: https://chromium-review.googlesource.com/764048
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49364}
      9a4b334f
    • Jakob Gruber's avatar
      Revert "Revert lazy bytecode handler support" · e0400694
      Jakob Gruber authored
      This reverts commit 9e4543a2.
      
      Reason for revert: Culprit CL was found, let's reland this.
      
      Original change's description:
      > Revert lazy bytecode handler support
      >
      > Speculative revert due to canary crashes. I'll begin relanding these
      > one-by-one next week.
      >
      > This bundles two reverts:
      >
      > Revert "[snapshot] Lazy-deserialize bytecode handlers"
      > This reverts commit b4587369.
      >
      > Revert "[interpreter] Remove mechanism for bytecode handler reuse"
      > This reverts commit 07fc87a2.
      >
      > TBR: rmcilroy@chromium.org,mlippautz@chromium.org,yangguo@chromium.org
      > Bug: chromium:783708
      > Change-Id: I6f8314b9eeafd9412a1c69843bc242e7da240eee
      > Reviewed-on: https://chromium-review.googlesource.com/763428
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49294}
      
      TBR=rmcilroy@chromium.org,mlippautz@chromium.org,yangguo@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:783708
      Change-Id: I6c9274ddf0d0832ecce32baacc4f6a1388f56ac4
      Reviewed-on: https://chromium-review.googlesource.com/768749
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49362}
      e0400694
  9. 10 Nov, 2017 1 commit
    • jgruber's avatar
      Revert lazy bytecode handler support · 9e4543a2
      jgruber authored
      Speculative revert due to canary crashes. I'll begin relanding these
      one-by-one next week.
      
      This bundles two reverts:
      
      Revert "[snapshot] Lazy-deserialize bytecode handlers"
      This reverts commit b4587369.
      
      Revert "[interpreter] Remove mechanism for bytecode handler reuse"
      This reverts commit 07fc87a2.
      
      TBR: rmcilroy@chromium.org,mlippautz@chromium.org,yangguo@chromium.org
      Bug: chromium:783708
      Change-Id: I6f8314b9eeafd9412a1c69843bc242e7da240eee
      Reviewed-on: https://chromium-review.googlesource.com/763428
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49294}
      9e4543a2
  10. 09 Nov, 2017 2 commits
    • Ross McIlroy's avatar
      [Ast] Teach Ast Printer to print raw literal values. · ff4e4ab4
      Ross McIlroy authored
      Converts the ast prettyprinter to printing literals from the raw values
      rather than internalized on-heap strings. This enables ast printing before
      internalizing, and means we can avoid use of the isolate in the interpreter's
      off-thread phase.
      
      Also removes --print-builtin-ast and relies on just --print-ast to print
      everything.
      
      Finally, converts FunctionLiteral's debug_name function to return a
      char[] which is created from the raw name literal where it exists, rather
      than relying on the value having been internalized.
      
      BUG=v8:5203
      
      Change-Id: Ib69f754e254736f415db38713e6209465817e6f1
      Reviewed-on: https://chromium-review.googlesource.com/758681Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49276}
      ff4e4ab4
    • jgruber's avatar
      [interpreter] Remove mechanism for bytecode handler reuse · 07fc87a2
      jgruber authored
      This was originally introduced to reuse large handlers, but now only
      LdaContextSlot and LdaCurrentContextSlot remain (both roughly 2-300
      bytes in size).
      
      Since handler reuse complicates lazy (de)serialization and currently
      doesn't seem to give us significant advantages, let's remove this.
      
      Bug: v8:6624
      Change-Id: I6f19952632e10bd67677a825bbcb46d580a9d5c8
      Reviewed-on: https://chromium-review.googlesource.com/758642Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49254}
      07fc87a2
  11. 08 Nov, 2017 1 commit
  12. 03 Nov, 2017 4 commits
  13. 26 Oct, 2017 1 commit
  14. 23 Oct, 2017 1 commit
  15. 20 Oct, 2017 1 commit
  16. 11 Oct, 2017 1 commit
  17. 29 Sep, 2017 1 commit
  18. 13 Sep, 2017 2 commits
  19. 04 Sep, 2017 1 commit
  20. 29 Aug, 2017 1 commit
    • Alexei Filippov's avatar
      [runtime-call-stats] Fix a long standing crash in RuntimeCallStats::Leave · ed7155c6
      Alexei Filippov authored
      Make sure there is a matching Leave for each Enter. Otherwise it ends up
      with a dead stack-allocated object in the timer chain.
      
      The patch incorporates the following fixes:
      - RuntimeCallTimerScope::RuntimeCallTimerScope(HeapObject* ...) did create a
        local object instead of calling an overloaded constructor.
      - InterpreterCompilationJob::ExecuteJobImpl made an implicit call to a default
        copy constructor of TimerScope which led to a single Enter was made per two
        Leaves.
      - InterpreterCompilationJob::FinalizeJobImpl was calling RuntimeCallTimerScope
        from a background thread, which caused timer scopes become unbalanced.
      - RuntimeCallTimerScope constructors were put into counters-inl.h which is not
        included into most usages of RCS. That led to a suboptimal performance.
      - Added thread check into Enter and Leave
      
      BUG=chromium:669329
      
      Change-Id: Ib5cff0e02e0b6c8b56a03ca3a5ebc37d93fcde55
      Reviewed-on: https://chromium-review.googlesource.com/637307Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Alexei Filippov <alph@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47666}
      ed7155c6
  21. 28 Aug, 2017 1 commit
  22. 25 Aug, 2017 1 commit
  23. 07 Aug, 2017 2 commits
  24. 03 Aug, 2017 1 commit
  25. 01 Aug, 2017 1 commit
    • jgruber's avatar
      Reland "[builtins] Remove Builtins::Name() accessors" · fcaa2c2e
      jgruber authored
      This is a reland of 2f79e035
      Original change's description:
      > [builtins] Remove Builtins::Name() accessors
      > 
      > Instead of auto-generating the Name() convenience accessor, use a macro to
      > avoid wasting code space.
      > 
      >   BUILTIN_CODE(isolate, Name)
      > 
      > expands to
      > 
      >   isolate->builtins()->builtin_handle(Builtins::kName);
      > 
      > This reduces the size of libv8.so by 134,752 bytes on a x64 release build.
      > 
      > Bug: v8:6624
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f
      > Reviewed-on: https://chromium-review.googlesource.com/593607
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47010}
      
      TBR=bmeurer@chromium.org,ahaas@chromium.org
      
      Bug: v8:6624
      Change-Id: I4733731e56dc8873ee06c2b36cac1918c0a658b2
      Reviewed-on: https://chromium-review.googlesource.com/594087
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47037}
      fcaa2c2e
  26. 31 Jul, 2017 3 commits
    • Jakob Gruber's avatar
      Revert "[builtins] Remove Builtins::Name() accessors" · 17a26c0b
      Jakob Gruber authored
      This reverts commit 2f79e035.
      
      Reason for revert: Conflicts with successor CL.
      
      Original change's description:
      > [builtins] Remove Builtins::Name() accessors
      > 
      > Instead of auto-generating the Name() convenience accessor, use a macro to
      > avoid wasting code space.
      > 
      >   BUILTIN_CODE(isolate, Name)
      > 
      > expands to
      > 
      >   isolate->builtins()->builtin_handle(Builtins::kName);
      > 
      > This reduces the size of libv8.so by 134,752 bytes on a x64 release build.
      > 
      > Bug: v8:6624
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f
      > Reviewed-on: https://chromium-review.googlesource.com/593607
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47010}
      
      TBR=yangguo@chromium.org,ahaas@chromium.org,jgruber@chromium.org,bmeurer@chromium.org
      
      Change-Id: Ia9ef5c755b26c3f4e143d87a7c51033614ea435e
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6624
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/594048Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47012}
      17a26c0b
    • jgruber's avatar
      [builtins] Remove Builtins::Name() accessors · 2f79e035
      jgruber authored
      Instead of auto-generating the Name() convenience accessor, use a macro to
      avoid wasting code space.
      
        BUILTIN_CODE(isolate, Name)
      
      expands to
      
        isolate->builtins()->builtin_handle(Builtins::kName);
      
      This reduces the size of libv8.so by 134,752 bytes on a x64 release build.
      
      Bug: v8:6624
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f
      Reviewed-on: https://chromium-review.googlesource.com/593607Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47010}
      2f79e035
    • Ross McIlroy's avatar
      [Interpreter] Internalize AST before print-ast is triggered · 3c31e109
      Ross McIlroy authored
      Print AST needs access to the internalized strings, so make sure AST
      is internalized before we print it.
      
      BUG=v8:5203
      
      Change-Id: Ia4995147feb7ec466523a0c4a89620749b23dcab
      Reviewed-on: https://chromium-review.googlesource.com/593648Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47006}
      3c31e109
  27. 21 Jul, 2017 1 commit
  28. 22 May, 2017 1 commit
  29. 09 May, 2017 1 commit
    • Loo Rong Jie's avatar
      Fix print-bytecode in release build without setting OBJECT_PRINT · e77ae927
      Loo Rong Jie authored
      Before this, --print-bytecode flag was available in all Release builds
      but did not actually print the bytecodes because OBJECT_PRINT is not set.
      
      The output was pretty confusing:
      
      [generating bytecode for function: ]
      000002115442ABE9 <BytecodeArray[27]>[generating bytecode for function: main]
      000002115442B069 <BytecodeArray[114]>[generating bytecode for function: Primes]
      000002115442B729 <BytecodeArray[63]>[generating bytecode for function: Int32Array]
      000002115442BB51 <BytecodeArray[175]>[generating bytecode for function: Primes.getPrimeCount]
      000002115442BE81 <BytecodeArray[7]>[generating bytecode for function: Primes.isPrimeDivisible]
      000002115442BFC9 <BytecodeArray[71]>[generating bytecode for function: Primes.addPrime]
      000002115442C1C1 <BytecodeArray[31]>[generating bytecode for function: Primes.getPrime]
      000002115442D7B1 <BytecodeArray[14]>
      
      With this CL, --print-bytecode flag will always output bytecode, but
      detailed info about constant pool and handler table are still guarded.
      
      Bug:NO
      
      Change-Id: Ie03be74520f45659303d1658da5b2acc02cf1b36
      Reviewed-on: https://chromium-review.googlesource.com/497808Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Loo Rong Jie <loorongjie@gmail.com>
      Cr-Commit-Position: refs/heads/master@{#45187}
      e77ae927
  30. 25 Apr, 2017 1 commit
    • ulan's avatar
      Decouple root visitors from object visitors. · e671ed36
      ulan authored
      This patch adds a new interface called RootVisitor and changes the root
      iteration functions to accept a RootVisitor instead of an ObjectVisitor.
      
      Future CLs will change ObjectVisitor to provide the host object to all
      visiting functions, which will bring it in sync with static visitors.
      
      Having separate visitors for roots and objects removes ambiguity in
      VisitPointers and reduces chances of forgetting to record slots.
      
      This is intended as pure refactoring. All places that require behavior
      change are marked with TODO and will addressed in future CLs.
      
      BUG=chromium:709075
      
      Review-Url: https://codereview.chromium.org/2801073006
      Cr-Commit-Position: refs/heads/master@{#44852}
      e671ed36
  31. 07 Apr, 2017 1 commit