1. 15 Feb, 2017 1 commit
  2. 04 Feb, 2017 1 commit
  3. 27 Jan, 2017 1 commit
  4. 11 Jan, 2017 1 commit
    • rmcilroy's avatar
      [compiler] Collect eager inner functions for compilation during renumbering. · a3052cfe
      rmcilroy authored
      This CL modifies the ast-numbering phase to collect function literals which
      should be compiled eagerly. This is then used to eagerly compile the inner
      functions before compiling the outer function. This will be used to queue
      compilation jobs on the CompilerDispatcher in a later CL.
      
      This CL moves the compilation of eager inner functions out of the
      GetSharedFunctionInfo function and instead compiles them explicitly. This
      simplifies GetSharedFunctionInfo and also means there is no need to pass a
      LazyCompilationMode to the function, so this concept has been removed.
      
      BUG=v8:5203,v8:5215
      
      Review-Url: https://codereview.chromium.org/2618553004
      Cr-Commit-Position: refs/heads/master@{#42221}
      a3052cfe
  5. 12 Dec, 2016 1 commit
    • clemensh's avatar
      [wasm] Generate correct locations for error messages · 222541df
      clemensh authored
      The current logic in Isolate::GetLocationFromStackTrace just ignores
      wasm frames, making the computed location point to the first javascript
      frame, like this:
      
      test.js:17: RuntimeError: divide by zero
      module.exports.main();
                     ^
      RuntimeError: divide by zero
          at main (<WASM>[1]+5)
          at test.js:17:16
      
      This CL not only fixes the location to point to the top-most wasm
      frame, but also exposes to the embedder that the script of that location
      is a wasm script, allowing for custom printing of wasm locations.
      The Shell::ReportException method now checks for this flag, and prints
      wasm locations like this:
      
      <WASM>[0]+5: RuntimeError: divide by zero
      RuntimeError: divide by zero
          at main (<WASM>[0]+5)
          at test/message/wasm-trap.js:15:16
      
      R=titzer@chromium.org, yangguo@chromium.org
      BUG=chromium:613110
      
      Review-Url: https://codereview.chromium.org/2563673002
      Cr-Commit-Position: refs/heads/master@{#41640}
      222541df
  6. 31 Oct, 2016 1 commit
  7. 21 Oct, 2016 1 commit
  8. 11 Oct, 2016 2 commits
    • adamk's avatar
      [modules] Store Module metadata in per-Context EmbedderData · 9d2051fc
      adamk authored
      This is a re-land of https://codereview.chromium.org/2393303002/ with
      an additional call to DisposeModuleEmbedderData() added to fix lsan failures.
      
      Unifies the approaches used for storing the specifier -> module mapping
      and the module -> directory mapping, using std::unordered_maps for both
      and storing them per-Context.
      
      This requires adding a method to the v8::Module API to get a hash code
      for a Module, but allows slimming down the API in return: gone are
      SetEmbedderData/GetEmbedderData, along with the fourth argument
      to ResolveModuleCallback.
      
      Besides a simpler API, this allows d8 to get closer to the HTML loader,
      which requires each Realm to have a persistent module map (though this
      capability is not yet exercised by any tests).
      
      BUG=v8:1569
      TBR=neis@chromium.org,jochen@chromium.org
      
      Review-Url: https://codereview.chromium.org/2405313002
      Cr-Commit-Position: refs/heads/master@{#40186}
      9d2051fc
    • adamk's avatar
      Revert of [modules] Store Module metadata in per-Context EmbedderData... · 12779889
      adamk authored
      Revert of [modules] Store Module metadata in per-Context EmbedderData (patchset #7 id:120001 of https://codereview.chromium.org/2393303002/ )
      
      Reason for revert:
      Fails under LeakSanitizer on auto-roll fyi bot:
      
      https://build.chromium.org/p/client.v8.fyi/builders/Auto-roll%20-%20release%20process/builds/49447
      
      Original issue's description:
      > [modules] Store Module metadata in per-Context EmbedderData
      >
      > Unifies the approaches used for storing the specifier -> module mapping
      > and the module -> directory mapping, using std::unordered_maps for both
      > and storing them per-Context.
      >
      > This requires adding a method to the v8::Module API to get a hash code
      > for a Module, but allows slimming down the API in return: gone are
      > SetEmbedderData/GetEmbedderData, along with the fourth argument
      > to ResolveModuleCallback.
      >
      > Besides a simpler API, this allows d8 to get closer to the HTML loader,
      > which requires each Realm to have a persistent module map (though this
      > capability is not yet exercised by any tests).
      >
      > BUG=v8:1569
      >
      > Committed: https://crrev.com/9cf8fce74cf6e7afd6aea3f3545f6bb61572f277
      > Cr-Commit-Position: refs/heads/master@{#40133}
      
      TBR=jochen@chromium.org,neis@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2406973003
      Cr-Commit-Position: refs/heads/master@{#40145}
      12779889
  9. 10 Oct, 2016 1 commit
    • adamk's avatar
      [modules] Store Module metadata in per-Context EmbedderData · 9cf8fce7
      adamk authored
      Unifies the approaches used for storing the specifier -> module mapping
      and the module -> directory mapping, using std::unordered_maps for both
      and storing them per-Context.
      
      This requires adding a method to the v8::Module API to get a hash code
      for a Module, but allows slimming down the API in return: gone are
      SetEmbedderData/GetEmbedderData, along with the fourth argument
      to ResolveModuleCallback.
      
      Besides a simpler API, this allows d8 to get closer to the HTML loader,
      which requires each Realm to have a persistent module map (though this
      capability is not yet exercised by any tests).
      
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2393303002
      Cr-Commit-Position: refs/heads/master@{#40133}
      9cf8fce7
  10. 30 Sep, 2016 1 commit
  11. 20 Sep, 2016 3 commits
  12. 19 Sep, 2016 1 commit
  13. 16 Sep, 2016 1 commit
  14. 10 Aug, 2016 1 commit
  15. 27 Jul, 2016 1 commit
  16. 26 Jul, 2016 2 commits
  17. 09 Jun, 2016 1 commit
    • lpy's avatar
      Move hashmap into src/base. · 2fd55667
      lpy authored
      We ported hashmap.h into libsampler as a workaround before, so the main focus of
      this patch is to reduce code duplication. This patch moves the hashmap into
      src/base as well as creates DefaultAllocationPolicy using malloc and free.
      
      BUG=v8:5050
      LOG=n
      
      Review-Url: https://codereview.chromium.org/2010243003
      Cr-Commit-Position: refs/heads/master@{#36873}
      2fd55667
  18. 27 May, 2016 1 commit
  19. 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
  20. 31 Mar, 2016 1 commit
  21. 12 Aug, 2015 1 commit
    • mstarzinger's avatar
      Remove inline header includes from non-inline headers (1). · 00a07bc1
      mstarzinger authored
      This tries to remove includes of "-inl.h" headers from normal ".h"
      headers, thereby reducing the chance of any cyclic dependencies and
      decreasing the average size of our compilation units.
      
      Note that this change still leaves 7 violations of that rule in the
      code. However there now is the "tools/check-inline-includes.sh" tool
      detecting such violations.
      
      R=bmeurer@chromium.org
      
      Review URL: https://codereview.chromium.org/1283033003
      
      Cr-Commit-Position: refs/heads/master@{#30125}
      00a07bc1
  22. 11 Aug, 2015 1 commit
    • mstarzinger's avatar
      Remove several grab-bag includes from the v8.h header. · 58109a2c
      mstarzinger authored
      This is the first step of turning the v8.h file into a normal header
      instead of an include-the-world header. The new rule is that no other
      header files are allowed to include v8.h, which is enforced by DEPS.
      
      Also the number of includes inside the v8.h file has been drastically
      reduced. Basically the last missing piece is the inclusion of the big
      objects-inl.h file.
      
      This in turn makes many headers follow the IWYU principle.
      
      R=bmeurer@chromium.org,hpayer@chromium.org,titzer@chromium.org
      
      Review URL: https://codereview.chromium.org/1282503003
      
      Cr-Commit-Position: refs/heads/master@{#30102}
      58109a2c
  23. 30 Jul, 2015 2 commits
    • binji's avatar
      [d8] Fix tsan bugs · 053b8434
      binji authored
      script_executed and last_run are read/written by multiple threads. Also
      externalized_shared_contents_ is modified by multiple threads.
      
      BUG=4306
      R=jarin@chromium.org
      LOG=n
      
      Review URL: https://codereview.chromium.org/1252623003
      
      Cr-Commit-Position: refs/heads/master@{#29912}
      053b8434
    • binji's avatar
      [d8 Workers] Fix bug creating Worker during main thread termination · a87db3de
      binji authored
      When the main thread terminates, it forcibly terminates all Worker threads.
      When this happens, the threads objects were only half-created; they had a
      JavaScript Worker object, but not a C++ worker object.
      
      This CL fixes that bug, as well as some other fixes:
      * Signatures on Worker methods
      * Use SetAlignedPointerFromInternalField instead of using an External.
      * Remove state_ from Worker. Simplify to atomic bool running_.
      
      BUG=chromium:511880
      R=jarin@chromium.org
      LOG=n
      
      Review URL: https://codereview.chromium.org/1255563002
      
      Cr-Commit-Position: refs/heads/master@{#29911}
      a87db3de
  24. 23 Jul, 2015 2 commits
  25. 20 Jul, 2015 1 commit
  26. 17 Jul, 2015 2 commits
  27. 16 Jul, 2015 1 commit
    • binji's avatar
      d8: Leak context_mutex_ so it will never be destroyed while locked · 162f116a
      binji authored
      Calling quit() from d8 will call exit(), which will run static destructors. If
      context_mutex_ is statically allocated, pthread_mutex_destroy will be called.
      
      When running d8 in "isolates" mode, another thread may be running. If it calls
      CreateEvaluationContext, it will lock the context_mutex_. If the mutex is
      destroyed while it is locked, it will return an error.
      
      This CL changes the Mutex to a LazyMutex, which will leak instead of being
      destroyed.
      
      BUG=v8:4279
      R=jarin@chromium.org
      R=machenbach@chromium.org
      LOG=n
      
      Review URL: https://codereview.chromium.org/1240553003
      
      Cr-Commit-Position: refs/heads/master@{#29709}
      162f116a
  28. 15 Jul, 2015 1 commit
  29. 14 Jul, 2015 4 commits
  30. 13 Jul, 2015 1 commit