1. 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
  2. 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
  3. 27 Feb, 2017 1 commit
  4. 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
  5. 20 Sep, 2016 2 commits
  6. 19 Sep, 2016 1 commit
  7. 19 May, 2016 1 commit
  8. 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
  9. 30 Sep, 2015 1 commit
  10. 20 Aug, 2015 1 commit
    • domenic's avatar
      Add experimental, non-snapshotted V8 extras · 6f582f08
      domenic authored
      Embedders would use these for features which must be able to be turned
      off at runtime, despite being compiled into V8. They can be turned on
      and off by the embedder using the --experimental_extras flag, e.g. via
      v8::SetFlagsFromString.
      
      R=yangguo@chromium.org, mlippautz@chromium.org, hpayer@chromium.org
      BUG=chromium:507137
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1284413002
      
      Cr-Commit-Position: refs/heads/master@{#30260}
      6f582f08
  11. 18 Aug, 2015 1 commit
  12. 14 Aug, 2015 1 commit
  13. 13 Jul, 2015 1 commit
    • danno's avatar
      Create a internal native context used only for TF-generated code stubs · a1475dae
      danno authored
      Until now, TF-generated code stubs piggy-backed off of the builtin
      context. Since generation of code stubs is lazy, stubs generated at
      different times in different native contexts would contain embedded
      pointers different builtin contexts, leading to cross-context references
      and memory leaks.
      
      After this CL, all TF-generated code stubs are generated inside a
      internal thinned-out, native context that lives solely for the
      purpose of hosting generated code stubs.
      
      Review URL: https://codereview.chromium.org/1213203007
      
      Cr-Commit-Position: refs/heads/master@{#29593}
      a1475dae
  14. 08 May, 2015 1 commit
    • domenic's avatar
      Re-land: Make V8 extras a separate type of native · 570fca61
      domenic authored
      Instead of making them an extra option that gets passed in and compiled
      at the end of the natives file for a given run of js2c, we now make them a
      separate run of js2c with a separate natives file output.
      
      This natives file output is then compiled in the bootstrapper. It is not part
      of the snapshot (yet), but instead is treated similar to the experimental
      natives, just without any of the complexity that comes from tieing the
      behavior to flags. We also don't need counterparts to
      InitializeExperimentalGlobal and InstallExperimentalNativeFunctions (yet?).
      
      This fixes the issue with https://codereview.chromium.org/1129743003 by making
      the dummy file that is generated for snapshots with no extras (or no experimental
      features) nonempty.
      
      R=yangguo@chromium.org, jochen@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1130993003
      
      Cr-Commit-Position: refs/heads/master@{#28311}
      570fca61
  15. 07 May, 2015 2 commits
    • domenic's avatar
      Revert of Make V8 extras a separate type of native (patchset #4 id:60001 of... · 010c515d
      domenic authored
      Revert of Make V8 extras a separate type of native (patchset #4 id:60001 of https://codereview.chromium.org/1129743003/)
      
      Reason for revert:
      https://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2745
      
      Original issue's description:
      > Make V8 extras a separate type of native
      >
      > Instead of making them an extra option that gets passed in and compiled
      > at the end of the natives file for a given run of js2c, we now make them a
      > separate run of js2c with a separate natives file output.
      >
      > This natives file output is then compiled in the bootstrapper. It is not part
      > of the snapshot (yet), but instead is treated similar to the experimental
      > natives, just without any of the complexity that comes from tieing the
      > behavior to flags. We also don't add counterparts to
      > InitializeExperimentalGlobal and InstallExperimentalNativeFunctions, yet.
      >
      > R=yangguo@chromium.org, jochen@chromium.org
      > BUG=
      >
      > Committed: https://crrev.com/c93aff4ac63ad9ffb6318e750335208de32b7902
      > Cr-Commit-Position: refs/heads/master@{#28296}
      
      TBR=jochen@chromium.org,yangguo@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=
      
      Review URL: https://codereview.chromium.org/1131903002
      
      Cr-Commit-Position: refs/heads/master@{#28299}
      010c515d
    • domenic's avatar
      Make V8 extras a separate type of native · c93aff4a
      domenic authored
      Instead of making them an extra option that gets passed in and compiled
      at the end of the natives file for a given run of js2c, we now make them a
      separate run of js2c with a separate natives file output.
      
      This natives file output is then compiled in the bootstrapper. It is not part
      of the snapshot (yet), but instead is treated similar to the experimental
      natives, just without any of the complexity that comes from tieing the
      behavior to flags. We also don't add counterparts to
      InitializeExperimentalGlobal and InstallExperimentalNativeFunctions, yet.
      
      R=yangguo@chromium.org, jochen@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1129743003
      
      Cr-Commit-Position: refs/heads/master@{#28296}
      c93aff4a
  16. 20 Apr, 2015 1 commit
  17. 27 Mar, 2015 1 commit
  18. 04 Mar, 2015 1 commit
    • vogelheim's avatar
      Fix Initialize & Dispose for external snapshot. Make sure... · 2525e8f4
      vogelheim authored
      Fix Initialize & Dispose for external snapshot. Make sure v8::V8::(Initialize|Dispose) can be called in any order.
      
      This is a follow-on to crrev.com/960883003, which fixed a memory leak in this code, but uncovered another, more subtle bug:
      
      Previously, the code expected you would v8::V8::Initialize once, and v8::V8::Dispose once. The first bug was that in this case the holder_ variable would point to deallocated memory. The second bug was that once the snapshot was disposed, there was no way to get it back on a future Initialize. These are uncovered by the InitializeAndDisposeMultiple test case.
      
      The fix is to keep memory to the raw snapshot and to then cleanly build & destroy the tables in Initialize & Dispose. Since sometimes setNativesBlob is called just after Initialize, that situation must be handled, too.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/974943003
      
      Cr-Commit-Position: refs/heads/master@{#26978}
      2525e8f4
  19. 26 Feb, 2015 1 commit
  20. 04 Dec, 2014 1 commit
    • vogelheim's avatar
      Cleanup: Remove NativesCollection<.>::*Raw* methods. · b27431d5
      vogelheim authored
      These methods for used for compressed libraries, where GetSource* functions
      contained the compressed sources and [GS]etRawSource* the uncompressed
      sources. This is dead code since the API no longer supports compression.
      
      (If you need/want compressed sources, use the external startup data and
       compress/uncompress on the Embedder's side.)
      
      BUG=
      
      Review URL: https://codereview.chromium.org/772853003
      
      Cr-Commit-Position: refs/heads/master@{#25666}
      b27431d5
  21. 23 Jun, 2014 1 commit
  22. 10 Jun, 2014 1 commit
  23. 05 Jun, 2014 1 commit
    • vogelheim@chromium.org's avatar
      Support external startup data in V8. · ba9f391b
      vogelheim@chromium.org authored
      [Retry of crrev.com/293993021, which caused problems with 'ninja all' in Chromium. First patch set if a clean apply
      of crrev.com/293993021. Subsequent sets are the actual fix
      for that issue.]
      
      If the embedder chooses, the 'natives' (library sources) and the
      precompiled startup blob can be written to files during the build
      process and handed over to V8 at startup. The main purpose would be
      to reduce the size of the compiled binary for space constrained
      platforms.
      
      The build-time option is off by default. Nothing should change if
      it's not enabled.
      
      BUG=
      R=jochen@chromium.org
      
      Review URL: https://codereview.chromium.org/315033002
      
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      ba9f391b
  24. 04 Jun, 2014 1 commit
  25. 03 Jun, 2014 1 commit
  26. 29 Apr, 2014 1 commit
  27. 12 Sep, 2013 1 commit
  28. 26 Aug, 2013 1 commit
  29. 23 Aug, 2013 1 commit
  30. 03 Jul, 2013 1 commit
  31. 14 Jul, 2011 1 commit
  32. 06 Jun, 2011 1 commit
  33. 31 May, 2011 1 commit
  34. 15 Apr, 2011 1 commit
  35. 12 Apr, 2011 1 commit
  36. 23 Mar, 2010 1 commit
  37. 25 May, 2009 1 commit
  38. 21 Oct, 2008 1 commit