1. 26 Oct, 2018 1 commit
    • Peter Marshall's avatar
      [typedarray] Use fast path for Float32Array.from(float_64_array) and similar · c7c0e110
      Peter Marshall authored
      Currently, because the source float_64_array has an iterator, it hits
      the code in the "check_iterator" section of TypedArrayFrom which calls
      IterableToList. This builds a temporary PACKED_ELEMENTS array (and boxes
      all of the numeric values as HeapNumbers), then uses this as the source
      array.
      
      This patch checks if the source array is a TypedArray, and if the iterator
      is the built-in one (where we know the iterator's behaviour). If both are
      true then it bypasses the creation of this temporary array and uses the
      original TypedArray as the source.
      
      This allows it to take advantage of the existing fast code for copying one
      typed array to another.
      
      R=hablich@chromium.org, petermarshall@chromium.org
      
      Bug: chromium:884671
      Change-Id: I19a944c9d6d5d07699c7dc3ad7196fc871200b62
      Reviewed-on: https://chromium-review.googlesource.com/c/1297312Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57022}
      c7c0e110
  2. 24 Oct, 2018 1 commit
  3. 23 Oct, 2018 2 commits
  4. 10 Oct, 2018 1 commit
  5. 14 Sep, 2018 1 commit
    • PhistucK's avatar
      [Intl] Rename dayperiod to dayPeriod · 53de7345
      PhistucK authored
      Previously, DateTimeFormat.prototype.formatToParts returned an object
      with the property key 'dayperiod' which is incorrect as per the spec.
      This patch updates the property key to say 'dayPeriod', making this spec
      compliant.
      
      R=cira@chromium.org
      
      Bug: chromium:865351
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: I37f50797387bc69d5e29d7c2911bc5cc0fad37ac
      Reviewed-on: https://chromium-review.googlesource.com/1145304Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Commit-Queue: PhistucK <phistuck@gmail.com>
      Cr-Commit-Position: refs/heads/master@{#55922}
      53de7345
  6. 05 Sep, 2018 1 commit
  7. 06 Aug, 2018 1 commit
  8. 03 Aug, 2018 1 commit
    • Ben Newman's avatar
      [debug] Fully implement Debug::ArchiveDebug and Debug::RestoreDebug. · a8f68691
      Ben Newman authored
      I have a project that embeds V8 and uses a single `Isolate` from multiple
      threads. The program runs just fine, but sometimes the inspector doesn't
      stop on the correct line after stepping over a statement that switches
      threads behind the scenes, even though the original thread is restored by
      the time the next statement is executed.
      
      After some digging, I discovered that the `Debug::ArchiveDebug` and
      `Debug::RestoreDebug` methods, which should be responsible for
      saving/restoring this `ThreadLocal` information when switching threads,
      currently don't do anything.
      
      This commit implements those methods using MemCopy, in the style of other
      Archive/Restore methods in the V8 codebase.
      
      Related: https://groups.google.com/forum/#!topic/v8-users/_Qf2rwljRk8
      
      Note: I believe my employer, Meteor Development Group, has previously
      signed the CLA using the group email address google-contrib@meteor.com.
      
      R=yangguo@chromium.org,jgruber@chromium.org
      CC=info@bnoordhuis.nl
      
      Bug: v8:7230
      Change-Id: Id517c873eb81cd53f7216c7efd441b956cf7f943
      Reviewed-on: https://chromium-review.googlesource.com/833260
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54902}
      a8f68691
  9. 26 Jul, 2018 1 commit
  10. 18 Jul, 2018 1 commit
    • Yang Guo's avatar
      Reland "[builtins] Add %IsTraceCategoryEnabled and %Trace builtins" · 0dd33901
      Yang Guo authored
      This is a reland of 8d4572a2
      
      Original change's description:
      > [builtins] Add %IsTraceCategoryEnabled and %Trace builtins
      >
      > Adds the builtin Trace and IsTraceCategoryEnabled functions
      > exposed via extra bindings. These are intended to use by
      > embedders to allow basic trace event support from JavaScript.
      >
      > ```js
      > isTraceCategoryEnabled('v8.some-category')
      >
      > trace('e'.charCodeAt(0), 'v8.some-category',
      >       'Foo', 0, { abc: 'xyz'})
      > ```
      >
      > Bug: v8:7851
      > Change-Id: I7bfb9bb059efdf87d92a56a0aae326650730c250
      > Reviewed-on: https://chromium-review.googlesource.com/1103294
      > Commit-Queue: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Fadi Meawad <fmeawad@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54121}
      
      TBR=cbruni@chromium.org
      
      Bug: v8:7851
      Change-Id: Id063754b2834b3b6a2b2654e76e8637bcd6aa5f8
      Reviewed-on: https://chromium-review.googlesource.com/1137071
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54532}
      0dd33901
  11. 16 Jul, 2018 1 commit
  12. 02 Jul, 2018 3 commits
  13. 05 Jun, 2018 1 commit
  14. 29 May, 2018 1 commit
  15. 16 May, 2018 1 commit
  16. 09 May, 2018 1 commit
  17. 01 May, 2018 1 commit
  18. 24 Apr, 2018 1 commit
  19. 17 Apr, 2018 1 commit
    • Ingvar Stepanyan's avatar
      Report late-bound scripts to the debugger · 1dcd1c9f
      Ingvar Stepanyan authored
      Previously, if an unbound script was created in a non-inspected context,
      but later bound to an inspected one, it never appeared in the
      debugger sources.
      
      After this change `OnAfterCompile` will be invoked not on the original
      script compilation, but when it's actually bound to a context for
      execution, which means `Debugger.scriptParsed` will be now sent to the
      inspector even for such precompiled scripts.
      
      R=jgruber@chromium.org, kozyatinskiy@chromium.org, yangguo@chromium.org
      
      Bug: v8:7654
      Change-Id: Ice13312e425903fb2baf14edab5c566d649a6438
      Reviewed-on: https://chromium-review.googlesource.com/1013581Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52652}
      1dcd1c9f
  20. 13 Apr, 2018 1 commit
  21. 10 Apr, 2018 1 commit
    • Matheus Marchini's avatar
      interpreter: make interpreted frames distinguishable in the native stack · ada64b58
      Matheus Marchini authored
      Before Turbofan/Ignition it was possible to use external profilers to
      sample running V8/Node.js processes and generate reports/FlameGraphs
      from that. It's still possible to do so, but non-optimized JavaScript
      functions appear in the stack as InterpreterEntryTrampoline. This commit
      adds a runtime flag which makes interpreted frames visible on the
      process' native stack as distinguishable functions, making the sampled
      data gathered by external profilers such as Linux perf and DTrace more
      useful.
      
      R=bmeurer@google.com, franzih@google.com, jarin@google.com, yangguo@google.com
      
      Bug: v8:7155
      Change-Id: I3dc8876aa3cd9f1b9766624842a7cc354ccca415
      Reviewed-on: https://chromium-review.googlesource.com/959081
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52533}
      ada64b58
  22. 05 Apr, 2018 1 commit
  23. 08 Mar, 2018 1 commit
  24. 08 Feb, 2018 1 commit
  25. 22 Jan, 2018 1 commit
  26. 16 Jan, 2018 1 commit
  27. 11 Jan, 2018 1 commit
  28. 10 Jan, 2018 2 commits
  29. 07 Jan, 2018 1 commit
  30. 04 Jan, 2018 1 commit
  31. 21 Dec, 2017 1 commit
  32. 19 Dec, 2017 1 commit
  33. 10 Dec, 2017 1 commit
  34. 24 Nov, 2017 1 commit
  35. 20 Nov, 2017 1 commit
  36. 18 Nov, 2017 1 commit
    • Anna Henningsen's avatar
      [api] Make running scripts in AddMessageListener callback work in debug mode · 09b53eef
      Anna Henningsen authored
      The existance of an `AllowJavascriptExecutionDebugOnly` scope in
      `Isolate::ReportPendingMessages()` indicates that the API supports
      running arbitrary JS code in a `AddMessageListener` callback.
      
      Currently, this can fail in debug mode: The
      `!isolate->external_caught_exception()` condition is checked when
      entering API methods inside such a handler. However, if there is
      a verbose `TryCatch` active when the exception occurs, this
      check fails, and when calling `ToString()` on the exception object
      leaves a pending exception itself, the flag is re-set to `true`.
      
      Fix this problem by clearing the flag and the pending exception if
      there was one during `ToString()`. This matches the code a few lines
      up in `messages.cc`, so the exception state is now consistent
      during the callback.
      
      This currently makes a Node.js test fail in debug mode
      (`parallel/test-error-reporting`).
      
      Bug: node:7144
      Bug: node:17016
      Change-Id: I060d00fea3e9a497f4df34c6ff8d6e29ebe96321
      Reviewed-on: https://chromium-review.googlesource.com/718096
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49466}
      09b53eef