1. 10 Aug, 2017 4 commits
  2. 09 Aug, 2017 1 commit
  3. 08 Aug, 2017 3 commits
    • Aseem Garg's avatar
      Revert "[wasm] Reland "[wasm] redirect wasm calls to js functions through a GCed table"" · aee1e1fb
      Aseem Garg authored
      This reverts commit 649b1e70.
      
      Reason for revert: A1 Jetstream bots are still failing.
      
      Original change's description:
      > [wasm] Reland "[wasm] redirect wasm calls to js functions through a GCed table"
      >
      > This reverts commit 25f03308.
      >
      > Reason for revert: Fix the cause of bot failure and reland
      >
      > Original change's description:
      > > Revert "[wasm] redirect wasm calls to js functions through a GCed table"
      > >
      > > This reverts commit eb65f35e.
      > >
      > > Reason for revert: Broke jetstream benchmark on android.
      > >
      > > BUG=chromium:750828
      > >
      > > Original change's description:
      > > > [wasm] redirect wasm calls to js functions through a GCed table
      > > >
      > > > With this patch, rather than embedding the JSReceiver address directly
      > > > in the WasmToJS wrappers, we put that in a fixed array with global handle
      > > > scope and instead embed the location of the handle and the index in the
      > > > wrapper. This ensures that the wrapper doesn't need to be patched if the
      > > > GC kicks in. This is needed to get the WASM code off the GCed heap.
      > > >
      > > > R=​mtrofin@chromium.org
      > > >
      > > > Bug:
      > > > Change-Id: Ie5a77a78cdecec51b04f702c63b8e4285e6a2d8d
      > > > Reviewed-on: https://chromium-review.googlesource.com/581682
      > > > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > > > Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#46884}
      > >
      > > TBR=mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org
      > >
      > > # Not skipping CQ checks because original CL landed > 1 day ago.
      > >
      > > Change-Id: I26f49ee0a1fe73cc5d8852ded87b56638be39ebf
      > > Reviewed-on: https://chromium-review.googlesource.com/596268
      > > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#47059}
      >
      > R=​mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org,sullivan@chromium.org
      >
      > Change-Id: I29ef35f6e612a706d9f571da3e7beb1da8b5052b
      > Bug: chromium:750828
      > Reviewed-on: https://chromium-review.googlesource.com/597010
      > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47177}
      
      TBR=bradnelson@chromium.org,sullivan@chromium.org,mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org
      
      Bug: chromium:750828
      Change-Id: I04b12c0eb0705ad809822a7d7461423be77d942a
      Reviewed-on: https://chromium-review.googlesource.com/606867
      Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      Reviewed-by: 's avatarAseem Garg <aseemgarg@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47231}
      aee1e1fb
    • Mircea Trofin's avatar
      [wasm] Consolidate ownership of instantiation/specialization parameters · f9d4090b
      Mircea Trofin authored
      This CL consolidates ownership of parameters used to compile code (which
      we always specialize) in 2 places:
      - ModuleEnv for compile-time data
      - WasmCompiledModule for runtime data
      
      The parameters in question are: memory size and start; globals start; 
      address of indirect function tables (and their signatures, respectively); 
      and address to be used for wasm call sites.
      
      Ideally, we'd collapse this down to one place, however, we need
      specialization data to survive serialization. We can achieve this we get off 
      the GC heap and use a different wasm code serializer.
      
      The CL:
      - removes aliasing of parts of the specialization data, and moves
      to using ModuleEnv as a token of passing around compile-time data, instead
      of a mixture of ModuleEnv, WasmInstance, and some other structures. ModuleEnv
      is responsible for providing a consistent view of the specialization data,
      e.g. valid memory sizes (multiples of page size), and matching sized function
      tables and signatures.
      
      - removes WasmInstance, as its data is now contained by ModuleEnv.
      
      - removes ModuleBytesEnv. We now pass the wire bytes explicitly. They can't
      always be assumed as present (e.g. streaming compilation), and probably more
      refactoring may need to happen once streaming compilation lands and we
      better understand our dependencies.
      
      Change-Id: Id7e6f2cf29e51b5756eee8b6f8827fb1f375e5c3
      Reviewed-on: https://chromium-review.googlesource.com/592531
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47229}
      f9d4090b
    • Clemens Hammacher's avatar
      [wasm] Fix data type in decoder · fc574b16
      Clemens Hammacher authored
      We are only calling {checkAvailable} with uint32_t, thus the type
      received should also be uint32_t. This also gives better error messages
      for integers >kMaxInt.
      
      R=titzer@chromium.org
      
      Change-Id: I40655b80dcc601e05fbb0c92cedba72ca806e2b3
      Reviewed-on: https://chromium-review.googlesource.com/605893
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47227}
      fc574b16
  4. 07 Aug, 2017 2 commits
    • Mircea Trofin's avatar
      [wasm] Clarify source of runtime information for interpreter. · 3f1e32b3
      Mircea Trofin authored
      This is part of the effort to consolidate the ownership of
      wasm instantiation/specialization parameters.
      
      This change is focused solely on the interpreter part of that effort, to
      verify we're not regressing performance in interpreter benchmarks.
      
      There are two aspects being addressed:
      - dataflow-wise, we always fetch the interpreter's memory view from the
      runtime objects (i.e. WasmInstanceObject/WasmCompiledModule). This is
      consistent with how other instance-specific information is obtained
      (e.g. code, indirect functions).
      
      - representation-wise, we do not reuse ModuleEnv/WasmInstance just for
      the memory view, because it is surprising that other instance info isn't
      accessed from there. 
      
      Bug: 
      Change-Id: I536fbffd8e1f142a315fa1770ba9b08319f56a8e
      Reviewed-on: https://chromium-review.googlesource.com/602083Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47205}
      3f1e32b3
    • Clemens Hammacher's avatar
      [wasm] [debug] Implement calling imported wasm functions · c39c6eba
      Clemens Hammacher authored
      The interpreter was not able to call imported wasm functions (hitting
      UNIMPLEMENTED). This CL fixes this by creating a "CWasmEntry", which is
      signature-specific. It has JS linkage and receives the wasm code object
      to call and a buffer containing all arguments (similar to the
      interpreter entry). It loads all arguments from the buffer and calls the
      given code object.
      The c-wasm-entry code objects are cached per instance, such that we
      only create them once per signature.
      
      These wasm entry stubs will also allow us to call back to compiled code
      from the interpreter, which we might want to do to reduce the slowdown
      of executing wasm for debugging.
      
      R=titzer@chromium.org
      
      Bug: chromium:735792
      Change-Id: I7fecec3a7bec62a9de40fff115b684759b12a28b
      Reviewed-on: https://chromium-review.googlesource.com/600308
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47195}
      c39c6eba
  5. 05 Aug, 2017 1 commit
    • Aseem Garg's avatar
      [wasm] Reland "[wasm] redirect wasm calls to js functions through a GCed table" · 649b1e70
      Aseem Garg authored
      This reverts commit 25f03308.
      
      Reason for revert: Fix the cause of bot failure and reland
      
      Original change's description:
      > Revert "[wasm] redirect wasm calls to js functions through a GCed table"
      > 
      > This reverts commit eb65f35e.
      > 
      > Reason for revert: Broke jetstream benchmark on android.
      > 
      > BUG=chromium:750828
      > 
      > Original change's description:
      > > [wasm] redirect wasm calls to js functions through a GCed table
      > > 
      > > With this patch, rather than embedding the JSReceiver address directly
      > > in the WasmToJS wrappers, we put that in a fixed array with global handle
      > > scope and instead embed the location of the handle and the index in the
      > > wrapper. This ensures that the wrapper doesn't need to be patched if the
      > > GC kicks in. This is needed to get the WASM code off the GCed heap.
      > > 
      > > R=​mtrofin@chromium.org
      > > 
      > > Bug: 
      > > Change-Id: Ie5a77a78cdecec51b04f702c63b8e4285e6a2d8d
      > > Reviewed-on: https://chromium-review.googlesource.com/581682
      > > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > > Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#46884}
      > 
      > TBR=mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org
      > 
      > # Not skipping CQ checks because original CL landed > 1 day ago.
      > 
      > Change-Id: I26f49ee0a1fe73cc5d8852ded87b56638be39ebf
      > Reviewed-on: https://chromium-review.googlesource.com/596268
      > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47059}
      
      R=mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org,sullivan@chromium.org
      
      Change-Id: I29ef35f6e612a706d9f571da3e7beb1da8b5052b
      Bug: chromium:750828
      Reviewed-on: https://chromium-review.googlesource.com/597010
      Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47177}
      649b1e70
  6. 04 Aug, 2017 2 commits
  7. 03 Aug, 2017 10 commits
  8. 02 Aug, 2017 7 commits
    • Deepti Gandluri's avatar
      [wasm] Implement atomic add/sub operations. · ac774a36
      Deepti Gandluri authored
       - Decode logic for atomic operations
       - Implementations for I32AtomicAdd, I32AtomicAdd8U, I32AtomicAdd16U,
      I32AtomicSub, I32AtomicSub8U, I32AtomicSub16U
       - cctest value helpers for Uint16/Uint8 types
      
      R=binji@chromium.org, bbudge@chromium.org, bradnelson@chromium.org
      
      BUG=v8:6532
      
      Change-Id: I710ee8ef566c5e33866afdf5b47375c2ea6fdbe6
      Reviewed-on: https://chromium-review.googlesource.com/595241Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarBrad Nelson <bradnelson@chromium.org>
      Reviewed-by: 's avatarBen Smith <binji@chromium.org>
      Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47102}
      ac774a36
    • Karl Schimpf's avatar
      Reland "Start migration of try/throw/catch to match proposal." · ad49b7b4
      Karl Schimpf authored
      This is a reland of 470a1001
      Original change's description:
      > Start migration of try/throw/catch to match proposal.
      > 
      > This CL does the first baby steps on moving the current (experimental)
      > exception handling to match that of the WebAssembly proposal.
      > 
      > It does the following:
      > 
      > 1) Use exception tags instead of integers.
      > 
      > 2) Only handle empty exception signatures (i.e. no values associated
      >    with the exception tag.
      > 
      > 3) Only handle one catch clause.
      > 
      > 4) Be sure to rethrow the exception if the exception tag does not match.
      > 
      > Note: There are many things that need to be fixed, and are too
      > numerous to list here. However, the code should have TODO's on each
      > missing parts of the implementation.
      > 
      > Also note that the code currently doesn't handle nested catch blocks,
      > nor does it change the throw value being an integer. Rather, the
      > integer value is still being thrown, and currently is the exception
      > tag. Therefore, we don't build an exception object. This is the reason
      > why this CL doesn't handle exceptions that pass values.
      > 
      > Also, the current implementation still can't handle multiple modules
      > because tag resolution (between) modules has not be implemented yet.
      > 
      > Bug: v8:6577
      > Change-Id: Id6d08b641b3c42d1eec7d4db582f2dab35406114
      > Reviewed-on: https://chromium-review.googlesource.com/591910
      > Reviewed-by: Brad Nelson <bradnelson@chromium.org>
      > Commit-Queue: Karl Schimpf <kschimpf@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47087}
      
      Bug: v8:6577
      Change-Id: I41c3309827c292cb787681a95aaef7cf9b931835
      Reviewed-on: https://chromium-review.googlesource.com/598968Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarBrad Nelson <bradnelson@chromium.org>
      Commit-Queue: Brad Nelson <bradnelson@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47100}
      ad49b7b4
    • Alexey Kozyatinskiy's avatar
      [inspector] move breakpoint management to native · cd9e86a5
      Alexey Kozyatinskiy authored
      My goal was to move breakpoint API to native with minimal changes around, so on inspector side we use v8::debug::BreakpointId instead of String16, on v8::internal::Debug we use i::BreakPoint object instead of break point object created inside of debug.js.
      
      There are a lot of opportunities how we can improve breakpoints (at least we can avoid some of linear lookups to speedup implementation) but I think that as first step we need to remove mirrors/debug.js APIs.
      
      Drive by: debugger-script.js and usage of debugger context in inspector code base.
      
      R=yangguo@chromium.org,jgruber@chromium.org,clemensh@chromium.org
      
      Bug: v8:5510,chromium:652939
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I0b17972c39053dd4989bbe26db2bb0b88ca378f7
      Reviewed-on: https://chromium-review.googlesource.com/593156Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47091}
      cd9e86a5
    • Ulan Degenbaev's avatar
      Revert "Start migration of try/throw/catch to match proposal." · 41daf8a5
      Ulan Degenbaev authored
      This reverts commit 470a1001.
      
      Reason for revert: GC stress bot failures.
      https://uberchromegw.corp.google.com/i/client.v8/builders/V8%20Mac%20GC%20Stress/builds/14522
      
      
      Original change's description:
      > Start migration of try/throw/catch to match proposal.
      > 
      > This CL does the first baby steps on moving the current (experimental)
      > exception handling to match that of the WebAssembly proposal.
      > 
      > It does the following:
      > 
      > 1) Use exception tags instead of integers.
      > 
      > 2) Only handle empty exception signatures (i.e. no values associated
      >    with the exception tag.
      > 
      > 3) Only handle one catch clause.
      > 
      > 4) Be sure to rethrow the exception if the exception tag does not match.
      > 
      > Note: There are many things that need to be fixed, and are too
      > numerous to list here. However, the code should have TODO's on each
      > missing parts of the implementation.
      > 
      > Also note that the code currently doesn't handle nested catch blocks,
      > nor does it change the throw value being an integer. Rather, the
      > integer value is still being thrown, and currently is the exception
      > tag. Therefore, we don't build an exception object. This is the reason
      > why this CL doesn't handle exceptions that pass values.
      > 
      > Also, the current implementation still can't handle multiple modules
      > because tag resolution (between) modules has not be implemented yet.
      > 
      > Bug: v8:6577
      > Change-Id: Id6d08b641b3c42d1eec7d4db582f2dab35406114
      > Reviewed-on: https://chromium-review.googlesource.com/591910
      > Reviewed-by: Brad Nelson <bradnelson@chromium.org>
      > Commit-Queue: Karl Schimpf <kschimpf@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47087}
      
      TBR=bradnelson@chromium.org,eholk@chromium.org,kschimpf@chromium.org
      
      Change-Id: I01dc8c40cc1057333a988c1d275ce5f457b0cb64
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6577
      Reviewed-on: https://chromium-review.googlesource.com/598847Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47090}
      41daf8a5
    • Deepti Gandluri's avatar
      [wasm] Memory.grow(0) should return a new ArrayBuffer when the buffer is empty · 201bcba2
      Deepti Gandluri authored
      R=ahaas@chromium.org
      
      BUG=v8:6546
      
      Change-Id: I2808b78cd047d875d4530c86cc079488a78e5ea1
      Reviewed-on: https://chromium-review.googlesource.com/557355
      Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47088}
      201bcba2
    • Karl Schimpf's avatar
      Start migration of try/throw/catch to match proposal. · 470a1001
      Karl Schimpf authored
      This CL does the first baby steps on moving the current (experimental)
      exception handling to match that of the WebAssembly proposal.
      
      It does the following:
      
      1) Use exception tags instead of integers.
      
      2) Only handle empty exception signatures (i.e. no values associated
         with the exception tag.
      
      3) Only handle one catch clause.
      
      4) Be sure to rethrow the exception if the exception tag does not match.
      
      Note: There are many things that need to be fixed, and are too
      numerous to list here. However, the code should have TODO's on each
      missing parts of the implementation.
      
      Also note that the code currently doesn't handle nested catch blocks,
      nor does it change the throw value being an integer. Rather, the
      integer value is still being thrown, and currently is the exception
      tag. Therefore, we don't build an exception object. This is the reason
      why this CL doesn't handle exceptions that pass values.
      
      Also, the current implementation still can't handle multiple modules
      because tag resolution (between) modules has not be implemented yet.
      
      Bug: v8:6577
      Change-Id: Id6d08b641b3c42d1eec7d4db582f2dab35406114
      Reviewed-on: https://chromium-review.googlesource.com/591910Reviewed-by: 's avatarBrad Nelson <bradnelson@chromium.org>
      Commit-Queue: Karl Schimpf <kschimpf@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47087}
      470a1001
    • Julien Brianceau's avatar
      Fix common misspellings · b41f857b
      Julien Brianceau authored
      Bug: chromium:750830
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.v8:v8_linux_noi18n_rel_ng
      Change-Id: Icab7b5a1c469d5e77d04df8bfca8319784e92af4
      Reviewed-on: https://chromium-review.googlesource.com/595655
      Commit-Queue: Julien Brianceau <jbriance@cisco.com>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarDaniel Ehrenberg <littledan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47072}
      b41f857b
  9. 01 Aug, 2017 3 commits
    • Annie Sullivan's avatar
      Revert "[wasm] redirect wasm calls to js functions through a GCed table" · 25f03308
      Annie Sullivan authored
      This reverts commit eb65f35e.
      
      Reason for revert: Broke jetstream benchmark on android.
      
      BUG=chromium:750828
      
      Original change's description:
      > [wasm] redirect wasm calls to js functions through a GCed table
      > 
      > With this patch, rather than embedding the JSReceiver address directly
      > in the WasmToJS wrappers, we put that in a fixed array with global handle
      > scope and instead embed the location of the handle and the index in the
      > wrapper. This ensures that the wrapper doesn't need to be patched if the
      > GC kicks in. This is needed to get the WASM code off the GCed heap.
      > 
      > R=​mtrofin@chromium.org
      > 
      > Bug: 
      > Change-Id: Ie5a77a78cdecec51b04f702c63b8e4285e6a2d8d
      > Reviewed-on: https://chromium-review.googlesource.com/581682
      > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#46884}
      
      TBR=mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Change-Id: I26f49ee0a1fe73cc5d8852ded87b56638be39ebf
      Reviewed-on: https://chromium-review.googlesource.com/596268
      Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47059}
      25f03308
    • jgruber's avatar
      Reland "[builtins] Remove Builtins::Name() accessors" · fcaa2c2e
      jgruber authored
      This is a reland of 2f79e035
      Original change's description:
      > [builtins] Remove Builtins::Name() accessors
      > 
      > Instead of auto-generating the Name() convenience accessor, use a macro to
      > avoid wasting code space.
      > 
      >   BUILTIN_CODE(isolate, Name)
      > 
      > expands to
      > 
      >   isolate->builtins()->builtin_handle(Builtins::kName);
      > 
      > This reduces the size of libv8.so by 134,752 bytes on a x64 release build.
      > 
      > Bug: v8:6624
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f
      > Reviewed-on: https://chromium-review.googlesource.com/593607
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47010}
      
      TBR=bmeurer@chromium.org,ahaas@chromium.org
      
      Bug: v8:6624
      Change-Id: I4733731e56dc8873ee06c2b36cac1918c0a658b2
      Reviewed-on: https://chromium-review.googlesource.com/594087
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47037}
      fcaa2c2e
    • Deepti Gandluri's avatar
      [wasm] Remove shared parameter to Memory.Grow() · 03da4fec
      Deepti Gandluri authored
      R=mtrofin@chromium.org
      
      Change-Id: Ia1e215d59e9ea863b85c64c2eab41f6cd6fe3404
      Reviewed-on: https://chromium-review.googlesource.com/570842
      Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47026}
      03da4fec
  10. 31 Jul, 2017 3 commits
    • Jakob Gruber's avatar
      Revert "[builtins] Remove Builtins::Name() accessors" · 17a26c0b
      Jakob Gruber authored
      This reverts commit 2f79e035.
      
      Reason for revert: Conflicts with successor CL.
      
      Original change's description:
      > [builtins] Remove Builtins::Name() accessors
      > 
      > Instead of auto-generating the Name() convenience accessor, use a macro to
      > avoid wasting code space.
      > 
      >   BUILTIN_CODE(isolate, Name)
      > 
      > expands to
      > 
      >   isolate->builtins()->builtin_handle(Builtins::kName);
      > 
      > This reduces the size of libv8.so by 134,752 bytes on a x64 release build.
      > 
      > Bug: v8:6624
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f
      > Reviewed-on: https://chromium-review.googlesource.com/593607
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47010}
      
      TBR=yangguo@chromium.org,ahaas@chromium.org,jgruber@chromium.org,bmeurer@chromium.org
      
      Change-Id: Ia9ef5c755b26c3f4e143d87a7c51033614ea435e
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6624
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/594048Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47012}
      17a26c0b
    • jgruber's avatar
      [builtins] Remove Builtins::Name() accessors · 2f79e035
      jgruber authored
      Instead of auto-generating the Name() convenience accessor, use a macro to
      avoid wasting code space.
      
        BUILTIN_CODE(isolate, Name)
      
      expands to
      
        isolate->builtins()->builtin_handle(Builtins::kName);
      
      This reduces the size of libv8.so by 134,752 bytes on a x64 release build.
      
      Bug: v8:6624
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f
      Reviewed-on: https://chromium-review.googlesource.com/593607Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47010}
      2f79e035
    • Clemens Hammacher's avatar
      Revert "[wasm] Allow for arbitrarily long error messages" · 20d25f40
      Clemens Hammacher authored
      This reverts commit 072d0e3e.
      
      Reason for revert: Performance regressions (https://crbug.com/749041).
      
      Original change's description:
      > [wasm] Allow for arbitrarily long error messages
      > 
      > We currently have a fixed limit of 256 characters for error messages
      > generated in the decoder. However, we sometimes embed names in it,
      > which makes it easy to generate a crash by using long names (e.g. for
      > exports) in invalid wasm modules.
      > This CL fixes this by switching to a stream based interface, allowing
      > to pass arbitrary objects to be printed. With this interface, we can
      > easily limit the length of output later.
      > 
      > R=​titzer@chromium.org
      > 
      > Bug: chromium:740023
      > Change-Id: I2848c31c63a015157e2a3a9458b54e523060cd69
      > Reviewed-on: https://chromium-review.googlesource.com/565282
      > Reviewed-by: Ben Titzer <titzer@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#46860}
      
      TBR=titzer@chromium.org,clemensh@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:740023, chromium:749041
      Change-Id: I005a60d55dcf01d350230f8d98f715bab9c43886
      Reviewed-on: https://chromium-review.googlesource.com/593807
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47008}
      20d25f40
  11. 27 Jul, 2017 4 commits
    • Alexey Kozyatinskiy's avatar
      [inspector] move stack trace and scope inspection to native · c5e9416b
      Alexey Kozyatinskiy authored
      This CL moves us much closer to the point where we can remove debugger-script.js and usage of debugger context from inspector.
      There are three main parts left:
      - managing breakpoints,
      - inspecting stack and scopes (this CL),
      - LiveEdit.
      
      In this CL I moved all stack/scope inspection to native. As side effect running debugger and inspector tests are 10-20% faster (it's significant since not all of tests requesting break).
      
      R=yangguo@chromium.org,jgruber@chromium.org
      
      Bug: chromium:652939
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I409396a687e18e9c0554c0c9c35b6e1064627be8
      Reviewed-on: https://chromium-review.googlesource.com/580645Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46947}
      c5e9416b
    • Mircea Trofin's avatar
      [wasm] Explicit opt-out of stack checks and traps · be915fd7
      Mircea Trofin authored
      We've been passing a context to the compiler, which turns out to be
      solely used to determine if we're executing in a specific cctest configuration.
      
      This change adds a configuration to the graph builder that we can use to
      explicitly opt out of stack checks and traps. CcTests default to opting out,
      except for the few that don't.
      
      Bug: 
      Change-Id: I4724e31c2a62e9b3ab4feadb788287c374b39f53
      Reviewed-on: https://chromium-review.googlesource.com/585779Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46943}
      be915fd7
    • Mircea Trofin's avatar
      Revert "Revert "[wasm] Consolidate function table representation."" · c2928fe4
      Mircea Trofin authored
      This reverts commit 862d605c.
      
      Reason for revert: fixed compile issue
      
      Original change's description:
      > Revert "[wasm] Consolidate function table representation."
      > 
      > This reverts commit 4a45f35f.
      > 
      > Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20debug%20builder/builds/25471 
      > 
      > Original change's description:
      > > [wasm] Consolidate function table representation.
      > > 
      > > This CL avoids the need to reference the function tables (and signatures)
      > > as either fixed arrays or vectors, preferring vectors.
      > > 
      > > The only place we need fixed arrays is on the compiled module, to support
      > > serialization. When we move off the GC heap, we'll also move away
      > > from fixed arrays in that last case.
      > > 
      > > The CL aids with getting wasm of the GC heap, by reducing the places 
      > > and representations we'll need to change  when changing the way we 
      > > reference fixed tables.
      > > 
      > > Bug: 
      > > Change-Id: Id4e43905a3df39062bf2839fa72dd5d9a0fe87da
      > > Reviewed-on: https://chromium-review.googlesource.com/588334
      > > Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      > > Reviewed-by: Brad Nelson <bradnelson@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#46917}
      > 
      > TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org
      > 
      > Change-Id: Ie7d04f7ec74d6d0b3783df1c78c91c100ab784f4
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Reviewed-on: https://chromium-review.googlesource.com/588627
      > Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
      > Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#46918}
      
      TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org
      
      Change-Id: Ic0ba8097c13f2b1afd263b6243360e8ab95ae474
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/588667
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46919}
      c2928fe4
    • Mircea Trofin's avatar
      Revert "[wasm] Consolidate function table representation." · 862d605c
      Mircea Trofin authored
      This reverts commit 4a45f35f.
      
      Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20debug%20builder/builds/25471 
      
      Original change's description:
      > [wasm] Consolidate function table representation.
      > 
      > This CL avoids the need to reference the function tables (and signatures)
      > as either fixed arrays or vectors, preferring vectors.
      > 
      > The only place we need fixed arrays is on the compiled module, to support
      > serialization. When we move off the GC heap, we'll also move away
      > from fixed arrays in that last case.
      > 
      > The CL aids with getting wasm of the GC heap, by reducing the places 
      > and representations we'll need to change  when changing the way we 
      > reference fixed tables.
      > 
      > Bug: 
      > Change-Id: Id4e43905a3df39062bf2839fa72dd5d9a0fe87da
      > Reviewed-on: https://chromium-review.googlesource.com/588334
      > Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      > Reviewed-by: Brad Nelson <bradnelson@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#46917}
      
      TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org
      
      Change-Id: Ie7d04f7ec74d6d0b3783df1c78c91c100ab784f4
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/588627Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46918}
      862d605c