1. 25 Jun, 2019 8 commits
  2. 24 Jun, 2019 21 commits
  3. 23 Jun, 2019 2 commits
  4. 21 Jun, 2019 9 commits
    • Frank Tang's avatar
      Better GetAvilableLocales check resources · 942f3e11
      Frank Tang authored
      1. Check resources and not solely depend on res_index.res file
      2. Performance is +2-3% for Collator, DateTimeFormat, Locale,
         -2-3% for PluralRules, RelativeTimeFormat, ListFormat, NumberFormat
         Consider we improve the performance x3 not long ago, these perf
         regression could be ignored.
      
      Bug: v8:9340
      Change-Id: Iab7cd64a77a55a03aae40f4d477523c37b3bcd3d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1655978
      Commit-Queue: Frank Tang <ftang@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarJungshik Shin <jshin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62322}
      942f3e11
    • Ross McIlroy's avatar
      [SFI] Fix initialization of SFI::function_literal_id. · 15396549
      Ross McIlroy authored
      BUG=chromium:965833
      TBR=leszeks@chromium.org
      
      Change-Id: I7997841e7af59f7d36854a71cb9f967b91b123d5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1662573Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62321}
      15396549
    • Irina Yatsenko's avatar
      Reland "Add Crash Keys support" · 5ad5f0ac
      Irina Yatsenko authored
      This is a reland of 02103b27
      
      Fix for the original build break: build android with noop crashkeys for now
      
      Original change's description:
      > Add Crash Keys support
      >
      > This adds crash keys containing the isolate address and addresses of
      > the read_only, map, and code spaces to crash report minidumps.
      > When not compiling V8 with Chrome, a noop implementation is used.
      >
      > Bug: v8:9323
      > Change-Id: I8523630e7a4ff792855163c06bf76dab35b1b9e5
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1641326
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Commit-Queue: Irina Yatsenko <irinayat@microsoft.com>
      > Cr-Commit-Position: refs/heads/master@{#62059}
      
      Bug: v8:9323
      Change-Id: I6bb115ad14b2ce5865f4d8fb255245c38fb0cd14
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1658505
      Commit-Queue: Irina Yatsenko <irinayat@microsoft.com>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62320}
      5ad5f0ac
    • Ross McIlroy's avatar
      [SFI] Always store function_literal_id in SFI. · f92d7196
      Ross McIlroy authored
      Calling FindIndexInScript performs a linear search on the script functions and can
      take considerable time. With Bytecode flushing we will lose the function_literal_id
      and have to call FindIndexInScript if we ever recompile the flushed function. This
      can take a significant proportion of the recompilation time and has caused regressions
      in rendering times for some web applications (e.g, 395ms in FindIndexInScript for 132ms
      spent lazily re-compiling code).
      
      To avoid this, add function_literal_id back into the SFI and remove it from
      UnoptimizedCompileInfo. This will slightly regress memory usage (particularly
      in cases where many of the SFIs are compiled), however it means we can remove
      the FindIndexInScript function and avoid these long-tail regressions when
      bytecode is flushed.
      
      BUG=chromium:965833
      
      Change-Id: Ia31e82eb6c871a6d698a518326a8555822a7a1d8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669700Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62319}
      f92d7196
    • Daniel Clark's avatar
      Torquify SourceTextModuleRecord · 3f2df833
      Daniel Clark authored
      Convert the new class SourceTextModuleRecord to use Torque
      to define its fields.
      
      Bug: v8:9292
      Change-Id: Iddad3b266dd0dc122aee510cc41c69be27988c4a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1668011
      Commit-Queue: Dan Clark <daniec@microsoft.com>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Auto-Submit: Dan Clark <daniec@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#62318}
      3f2df833
    • Sigurd Schneider's avatar
      [torque] Support 'real' internal classes · 76c1e829
      Sigurd Schneider authored
      Rework the implementation of non-external Torque classes to use
      Struct machinery rather than FixedArray machinery. This allows
      Torque-only defined 'internal' classes to the automatically generate
      class verifiers and printers.
      
      As part of this change, generate C++ boilerplate accessors for
      internal Torque classes, since this is a pre-requisite for the
      verifiers, printers and other Struct-based functionality.
      
      Moreover, augment the header-generating functionality in Torque
      to create separate header files for field offset definitions,
      internal class C++ definitions and instance types.
      
      Bug: v8:7793
      Change-Id: I47d5f1570040c2b44d378f23b6cf95d3d132dacc
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1607645
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62317}
      76c1e829
    • Irina Yatsenko's avatar
      Added !mem and !where extensions to windbg.js · 4965a34e
      Irina Yatsenko authored
      The extensions require isolate address to be set but don't rely on calling
      any runtime functions, which makes them viable for post-mortem debugging,
      if the corresponding memory is included into the dump
      
      !set_iso(isolate_address)
          call this function before using !mem or other heap routines
      
      !mem or !mem(\"space1[ space2 ...]\")
          prints memory chunks from the 'space' owned by the heap in the
          isolate set by !set_iso; valid values for 'space' are:
          new, old, map, code, lo [large], nlo [newlarge], ro [readonly]
          if no 'space' specified prints memory chunks for all spaces,
          e.g. !mem(\"code\"), !mem(\"ro new old\")
      
      !where(address)
          prints name of the space and address of the MemoryChunk the
          'address' is from, e.g. !where(0x235cb869f9)
      
      
      Output from !mem would look something like this:
      
      0:000> !mem("old")
      Heap at 0x210652b8838
      Im   address:	 object area start - end (size)
      OldSpace (allocating at: 0x1703dae7a20):
      *    0x33d9a8c0000:	 0x33d9a8c0138 - 0x33d9a8f1000 (0x31000)
           0x1703dac0000:	 0x1703dac0138 - 0x1703db00000 (0x40000)
      
      Change-Id: Iae1a217bbc5c5a88e2cf742db88ead9bb6fc904c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669744
      Commit-Queue: Irina Yatsenko <irinayat@microsoft.com>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarSergiy Belozorov <sergiyb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62316}
      4965a34e
    • Andreas Haas's avatar
      [wasm] Support table.copy for anyref tables · 21719af9
      Andreas Haas authored
      The table.copy instruction used the indirect_function_table_size field
      of the instance for bounds-checks. However, when Table 0 is of type
      anyref, this field is not set. Now we use the actual size of the table
      instead.
      
      R=clemensh@chromium.org
      
      Bug: chromium:977101
      Change-Id: Idda9cfe228141877747ed9a824936a1232f58cf8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669695
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62315}
      21719af9
    • Andreas Haas's avatar
      [wasm] Only Table 0 can be the indirect-function-table · 62a2a6ef
      Andreas Haas authored
      The {indirect_function_table_size} field of the instance was initialized
      with the size of the first anyfunc table. However, this field should
      only be set if Table 0 is of type anyfunc.
      
      R=clemensh@chromium.org
      
      Bug: chromium:977101
      Change-Id: I4729feb6b67387ccda53d17179a34d719347efed
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669697Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62314}
      62a2a6ef