1. 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
  2. 24 May, 2019 1 commit
  3. 16 May, 2019 1 commit
  4. 06 Mar, 2019 1 commit
  5. 28 Feb, 2019 1 commit
  6. 01 Feb, 2019 1 commit
  7. 07 Jan, 2019 1 commit
    • peterwmwong's avatar
      [js] Remove CORE JS Natives (prologue.js), port extra utils to C++/Torque · 263dce9b
      peterwmwong authored
      - Removes the last `CORE` JS native script: `prologue.js`.
      - Removes build step and bootstrapping associated with building/loading `CORE` JS natives.
      - Removes `natives_utils_object` from context.
      - Deprecates `--expose-natives-as` flag.
      - Ports extra utils functions to C++ (`uncurryThis`) or Torque
        (`createPrivateSymbol`, `markPromiseAsHandled`, and `promiseState`).
      - Move extra utils constants initialization into bootstrapper
        (`kPROMISE_PENDING`, `kPROMISE_FULFILLED`, `kPROMISE_REJECTED`).
      - Removes unused extra utils functions `log` and `logStackTrace`.
      
      Drive-by: Added test coverage for Array#includes being an unscopeable.
      
      Bug: v8:7624
      Change-Id: I5d983f8d11b76cb4dd3c2c67592ce1dc88364cd9
      Reviewed-on: https://chromium-review.googlesource.com/c/1381672Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
      Cr-Commit-Position: refs/heads/master@{#58577}
      263dce9b
  8. 11 Dec, 2018 1 commit
  9. 08 Dec, 2018 1 commit
  10. 27 Nov, 2018 2 commits
  11. 25 Nov, 2018 1 commit
  12. 24 Oct, 2018 1 commit
  13. 11 Sep, 2018 1 commit
  14. 20 Jun, 2018 1 commit
  15. 31 May, 2018 1 commit
  16. 09 Apr, 2018 1 commit
  17. 06 Apr, 2018 2 commits
    • Michael Achenbach's avatar
      Revert "[cleanup] Refactor the Factory" · 503e07c3
      Michael Achenbach authored
      This reverts commit f9a2e24b.
      
      Reason for revert: gc stress failures not all fixed by follow up.
      
      Original change's description:
      > [cleanup] Refactor the Factory
      > 
      > There is no good reason to have the meat of most objects' initialization
      > logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead,
      > this CL changes the protocol between Heap and Factory to be AllocateRaw,
      > and all object initialization work after (possibly retried) successful
      > raw allocation happens in the Factory.
      > 
      > This saves about 20KB of binary size on x64.
      > 
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca
      > Reviewed-on: https://chromium-review.googlesource.com/959533
      > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52416}
      
      TBR=jkummerow@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org
      
      Change-Id: Idbbc53478742f3e9525eee83342afc6aedae122f
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/999414Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52420}
      503e07c3
    • Jakob Kummerow's avatar
      [cleanup] Refactor the Factory · f9a2e24b
      Jakob Kummerow authored
      There is no good reason to have the meat of most objects' initialization
      logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead,
      this CL changes the protocol between Heap and Factory to be AllocateRaw,
      and all object initialization work after (possibly retried) successful
      raw allocation happens in the Factory.
      
      This saves about 20KB of binary size on x64.
      
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca
      Reviewed-on: https://chromium-review.googlesource.com/959533
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52416}
      f9a2e24b
  18. 14 Feb, 2018 1 commit
  19. 13 Oct, 2017 1 commit
  20. 13 Sep, 2017 1 commit
  21. 29 May, 2017 1 commit
  22. 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
  23. 19 Apr, 2017 1 commit
  24. 11 Apr, 2017 1 commit
    • yangguo's avatar
      [snapshot] encode resource before serializing. · 7a8d20a7
      yangguo authored
      Before serializing an external string for a native source, we replace
      its resource field with the type and index of the native source. Upon
      deserialization, we restore the resource.
      
      This change also removes the native source caches with a more straight-
      forward mechanism to find the resource type and index.
      
      R=ulan@chromium.org
      
      Review-Url: https://codereview.chromium.org/2807023003
      Cr-Commit-Position: refs/heads/master@{#44545}
      7a8d20a7
  25. 17 Mar, 2017 2 commits
  26. 13 Mar, 2017 1 commit
    • binji's avatar
      Reland moving Atomics builtins to C++ · 65200967
      binji authored
      This reverts the previous revert, commit
      5a04f4fd.
      
      Previously reverted changes:
      
      >    Revert "[SAB] Move Atomics builtins to C++"
      >
      >     This reverts commit 2b9840d8.
      >
      >     Revert "[SAB] Remove unreachable Uint8Clamped atomics paths"
      >
      >     This reverts commit d1160fb1.
      >
      >     Revert "Remove tiny unit test for MinSimple/MaxSimple"
      >
      >     This reverts commit 837760ec.
      >
      >     Revert "Remove infrastructure for experimental JS natives"
      >
      >     This reverts commit 8cfe45b6.
      
      These changes were reverted to improve a perf regression on a Chrome
      bot. Since then, the regression has reappeared, then disappeared again
      all from seemingly unrelated changes.
      
      BUG=v8:6033
      TBR=adamk@chromium.org,hpayer@chromium.org,yangguo@chromium.org
      
      Review-Url: https://codereview.chromium.org/2732213005
      Cr-Commit-Position: refs/heads/master@{#43758}
      65200967
  27. 27 Feb, 2017 1 commit
  28. 24 Feb, 2017 1 commit
    • adamk's avatar
      Remove infrastructure for experimental JS natives · 8cfe45b6
      adamk authored
      Now that no harmony-flagged features are implemented in experimental
      JS, most of this is simply dead code.
      
      As PostExperimentals() is no longer needed, I also removed the use of
      Import() in the debug context, allowing the deletion of PostDebug()
      along with PostExperimentals(); cleanup code is moved to the
      end of PostNatives.
      
      Also gets rid of some longer-dead code in prologue.js related to
      TypedArrays, and some duplicate code for setting up SharedArrayBuffer
      builtins.
      
      Review-Url: https://codereview.chromium.org/2705293004
      Cr-Commit-Position: refs/heads/master@{#43418}
      8cfe45b6
  29. 15 Feb, 2017 1 commit
    • littledan's avatar
      [bootstrapper] Remove Intl experimental natives files · 407d6bf1
      littledan authored
      These experimental natives previously only installed functions to the
      appropriate parent. In this patch, the exports container is retained
      so that the bootstrapper may install the functions instead. This
      change is intended to reduce startup time. SharedArrayBuffer retains
      some experimental natives exported from JS; this may be addressed
      in a follow-on patch. The patch includes some minor cleanup of the
      bootstrap process by removing "experimental exports", which was unused.
      
      R=yangguo@chromium.org
      BUG=v8:5880
      CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng
      
      Review-Url: https://codereview.chromium.org/2683083003
      Cr-Commit-Position: refs/heads/master@{#43221}
      407d6bf1
  30. 09 Jan, 2017 1 commit
  31. 07 Jul, 2016 1 commit
  32. 27 Jun, 2016 1 commit
  33. 15 Jun, 2016 1 commit
  34. 27 Apr, 2016 1 commit
    • ssanfilippo's avatar
      [Interpreter] Add Ignition statistics JavaScript extension. · 905becd1
      ssanfilippo authored
      This commit introduces IgnitionStatisticsExtension, which provides
      methods for accessing Ignition statistics and counters from JavaScript.
      
      The extension is registered when FLAG_ignition and
      FLAG_trace_ignition_dispatches are both enabled.
      
      For the moment, the only exposed function is
      getIgnitionDispatchCounters(), which allows to retrieve Ignition
      dispatch counters as a JavaScript object.
      
      BUG=v8:4899
      LOG=N
      
      Review URL: https://codereview.chromium.org/1899133004
      
      Cr-Commit-Position: refs/heads/master@{#35816}
      905becd1
  35. 05 Feb, 2016 1 commit
  36. 02 Feb, 2016 1 commit
    • jarin's avatar
      Remove the template magic from types.(h|cc), remove types-inl.h. · ef35f11c
      jarin authored
      This CL removes the Config templatization from the types. It is not
      necessary anymore, after the HeapTypes have been removed.
      
      The CL also changes the type hierarchy - the specific type kinds are
      not inner classes of the Type class and they do not inherit from Type.
      This is partly because it seems impossible to make this work without
      templates. Instead, a new TypeBase class is introduced and all the
      structural (i.e., non-bitset) types inherit from it.
      
      The bitset type still requires the bit-munging hack and some nasty
      reinterpret-casts to pretend bitsets are of type Type*. Additionally,
      there is now the same hack for TypeBase - all pointers to the sub-types
      of TypeBase are reinterpret-casted to Type*. This is to keep the type
      constructors in inline method definitions (although it is unclear how
      much that actually buys us).
      
      In future, we would like to move to a model where we encapsulate Type*
      into a class (or possibly use Type where we used to use Type*). This
      would loosen the coupling between bitset size and pointer size, and
      eventually we would be able to have more bits.
      
      TBR=bradnelson@chromium.org
      
      Review URL: https://codereview.chromium.org/1655833002
      
      Cr-Commit-Position: refs/heads/master@{#33656}
      ef35f11c
  37. 02 Dec, 2015 1 commit
    • 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