1. 13 Jan, 2016 1 commit
  2. 05 Jan, 2016 1 commit
    • bmeurer's avatar
      [runtime] Migrate several Date builtins to C++. · 065e9c53
      bmeurer authored
      Almost all of the Date builtins always call into C++ at least once
      anyway, so parsing, compiling and executing the JavaScript wrappers
      is just a waste of time.  The most important part here is the Date
      constructor itself, which is one of the blockers for new.target in
      TurboFan, because compiling the Date constructor takes too much time
      with TurboFan (for no reason since we end up in C++ anway).
      
      R=cbruni@chromium.org
      
      Review URL: https://codereview.chromium.org/1556333002
      
      Cr-Commit-Position: refs/heads/master@{#33109}
      065e9c53
  3. 27 Dec, 2015 2 commits
    • bmeurer's avatar
      [runtime] Introduce dedicated JSBoundFunction to represent bound functions. · 97def807
      bmeurer authored
      According to the ES2015 specification, bound functions are exotic
      objects, and thus don't need to be implemented as JSFunctions. So
      we introduce a new JSBoundFunction type to represent bound functions
      and make them optimizable. This already improves the performance of
      calling or constructing bound functions by 10-100x depending on the
      use case because we avoid the crazy dance between JavaScript and C++
      that was implemented in v8natives.js previously.
      
      There's still room for improvement in the performance of actually
      creating bound functions, which is also relevant in practice, but
      we already have a plan how to accomplish that later.
      
      The mips/mips64 ports were contributed by akos.palfi@imgtec.com.
      
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      BUG=chromium:535408, chromium:571299, v8:4629
      LOG=n
      
      Committed: https://crrev.com/ca8623eaa468cba65a5adafcdfb4615966f43ce2
      Cr-Commit-Position: refs/heads/master@{#33042}
      
      Review URL: https://codereview.chromium.org/1542963002
      
      Cr-Commit-Position: refs/heads/master@{#33044}
      97def807
    • bmeurer's avatar
      Revert of [runtime] Introduce dedicated JSBoundFunction to represent bound... · 1cf8b105
      bmeurer authored
      Revert of [runtime] Introduce dedicated JSBoundFunction to represent bound functions. (patchset #14 id:260001 of https://codereview.chromium.org/1542963002/ )
      
      Reason for revert:
      Breaks arm64 sim nosnap: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/805/steps/Check/logs/function-bind
      
      Original issue's description:
      > [runtime] Introduce dedicated JSBoundFunction to represent bound functions.
      >
      > According to the ES2015 specification, bound functions are exotic
      > objects, and thus don't need to be implemented as JSFunctions. So
      > we introduce a new JSBoundFunction type to represent bound functions
      > and make them optimizable. This already improves the performance of
      > calling or constructing bound functions by 10-100x depending on the
      > use case because we avoid the crazy dance between JavaScript and C++
      > that was implemented in v8natives.js previously.
      >
      > There's still room for improvement in the performance of actually
      > creating bound functions, which is also relevant in practice, but
      > we already have a plan how to accomplish that later.
      >
      > The mips/mips64 ports were contributed by akos.palfi@imgtec.com.
      >
      > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      > BUG=chromium:535408, chromium:571299, v8:4629
      > LOG=n
      >
      > Committed: https://crrev.com/ca8623eaa468cba65a5adafcdfb4615966f43ce2
      > Cr-Commit-Position: refs/heads/master@{#33042}
      
      TBR=cbruni@chromium.org,hpayer@chromium.org,yangguo@chromium.org,akos.palfi@imgtec.com
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=chromium:535408, chromium:571299, v8:4629
      
      Review URL: https://codereview.chromium.org/1552473002
      
      Cr-Commit-Position: refs/heads/master@{#33043}
      1cf8b105
  4. 26 Dec, 2015 1 commit
    • bmeurer's avatar
      [runtime] Introduce dedicated JSBoundFunction to represent bound functions. · ca8623ea
      bmeurer authored
      According to the ES2015 specification, bound functions are exotic
      objects, and thus don't need to be implemented as JSFunctions. So
      we introduce a new JSBoundFunction type to represent bound functions
      and make them optimizable. This already improves the performance of
      calling or constructing bound functions by 10-100x depending on the
      use case because we avoid the crazy dance between JavaScript and C++
      that was implemented in v8natives.js previously.
      
      There's still room for improvement in the performance of actually
      creating bound functions, which is also relevant in practice, but
      we already have a plan how to accomplish that later.
      
      The mips/mips64 ports were contributed by akos.palfi@imgtec.com.
      
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      BUG=chromium:535408, chromium:571299, v8:4629
      LOG=n
      
      Review URL: https://codereview.chromium.org/1542963002
      
      Cr-Commit-Position: refs/heads/master@{#33042}
      ca8623ea
  5. 22 Dec, 2015 1 commit
  6. 16 Dec, 2015 1 commit
    • akodat's avatar
      Add Isolate::DiscardThreadSpecificMetadata method to embedder API. · aeb8073c
      akodat authored
      If many threads use the same Isolate (or many Isolates) and then
      terminate, their PerIsolateThreadData objects are never cleaned
      up, resulting in a slow memory leak and, worse, the
      PerIsolateThreadData chain getting larger and larger, adversely
      affecting performance.
      
      In this situation, embedders will now be encouraged to apply
      DiscardThreadSpecificMetadata against any Isolate a thread is
      done with, especially if the thread is about to terminate.
      
      Note that it is harmless to run DiscardThreadSpecificMetadata
      against an Isolate for which a thread has no thread data and
      per-Isolate thread data can be reestablished if a thread starts
      using an Isolate again after running DiscardThreadSpecificMetadata
      against it.
      
      It is, however, an embedder error to run
      DiscardThreadSpecificMetadata against an Isolate in thread with a
      Locker for the Isolate in the stack or against an Entered Isolate.
      
      This change cannot cause any change in behavior in existing apps
      as the only added coded can only be reached via the new
      DiscardThreadSpecificMetadata method.
      
      R=Jakob, jochen
      BUG=
      
      Review URL: https://codereview.chromium.org/1522703002
      
      Cr-Commit-Position: refs/heads/master@{#32909}
      aeb8073c
  7. 11 Dec, 2015 2 commits
  8. 10 Dec, 2015 4 commits
  9. 09 Dec, 2015 4 commits
  10. 08 Dec, 2015 1 commit
  11. 07 Dec, 2015 2 commits
  12. 03 Dec, 2015 1 commit
  13. 02 Dec, 2015 2 commits
  14. 01 Dec, 2015 1 commit
  15. 30 Nov, 2015 1 commit
  16. 27 Nov, 2015 1 commit
  17. 26 Nov, 2015 3 commits
  18. 25 Nov, 2015 1 commit
    • bmeurer's avatar
      [es6] Correct parsing of regular expression literal flags. · 2732a6ad
      bmeurer authored
      ES6 section 12.2.8.1 states that flags for regular expression literals
      must be checked during parsing and invalid flags are early errors. This
      change adapts the Scanner and (Pre)Parser to act according to the spec.
      
      This is also a prerequisite to unify the handling of literal creation
      (for Objects, Arrays, Regexps, and at some point Classes).
      
      R=yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/1472323002
      
      Cr-Commit-Position: refs/heads/master@{#32273}
      2732a6ad
  19. 24 Nov, 2015 1 commit
  20. 23 Nov, 2015 1 commit
  21. 19 Nov, 2015 4 commits
  22. 16 Nov, 2015 1 commit
  23. 10 Nov, 2015 1 commit
  24. 05 Nov, 2015 2 commits