- 13 Sep, 2018 3 commits
-
-
Benedikt Meurer authored
Previously the [[ArrayBufferByteLength]] internal field was represented as a boxed number (i.e. either Smi or HeapNumber) in safe integer range. This is the first step to change the representation of all the array buffer and array buffer view length/offset fields to unboxed integers, to eventually support the full range of 4GiB (and potentially even more) for typed arrays and array buffers. This will allow WebAssembly memories with 4GiB to be usable. Tbr: yangguo@chromium.org Bug: v8:7881, v8:8015, v8:8171 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ic6c6c8fe087afee898254cd903e82a55bfc173a9 Reviewed-on: https://chromium-review.googlesource.com/1222309Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55877}
-
Clemens Hammacher authored
Store it as FixedArray instead of Object. Use the empty array as uninitialized value instead of undefined. R=titzer@chromium.org Bug: v8:8015 Change-Id: I53275dc5fd2c3a0db1e021ee4da0fc0694e2053e Reviewed-on: https://chromium-review.googlesource.com/1224372Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55867}
-
Michael Starzinger authored
R=clemensh@chromium.org BUG=v8:8015 Change-Id: I4baed1edb43e6aa8b345a515b1f732019eac3bd6 Reviewed-on: https://chromium-review.googlesource.com/1224415Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55864}
-
- 20 Aug, 2018 1 commit
-
-
Michael Starzinger authored
This makes sure that debug info and interpreter handle are created lazily, even when interpretation is triggered by a different Isolate sharing the same WasmEngine (and hence the native module). R=titzer@chromium.org TEST=mjsunit/wasm/worker-interpreter BUG=v8:7424 Change-Id: Iba17e207a537007fd2e642cede22dad7a708c6c7 Reviewed-on: https://chromium-review.googlesource.com/1181045 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55220}
-
- 13 Aug, 2018 1 commit
-
-
Yang Guo authored
This simplifies a bit. R=jgruber@chromium.org Change-Id: If7a433c9d2b13edf4fe4485816ac5ab06435773e Reviewed-on: https://chromium-review.googlesource.com/1172299Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#55084}
-
- 07 Aug, 2018 1 commit
-
-
Michael Starzinger authored
This adds initial support for concurrently patching jump table slots. It is needed once different Isolates share code (for the --wasm-shared-code feature). We need to ensure that instructions holding the target address within a jump table slot do not cross cache-line boundaries. To do this, the jump table has been split into consecutive pages. Note that this also adds a stress test for multiple threads hammering at a single slot concurrently. The test is currently limited to the ia32 and the x64 architecture, but will be extended to cover others. The test reliably triggers tearing of the target address on almost every run of the test and hence serves to prevent regressions. R=clemensh@chromium.org TEST=cctest/test-jump-table-assembler BUG=v8:8018 Change-Id: Ife56bbb61ffcae5d8906ca7b8c604b195603707c Reviewed-on: https://chromium-review.googlesource.com/1163664 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54942}
-
- 02 Aug, 2018 1 commit
-
-
Ben L. Titzer authored
The wasm/ directory is inconsistent in many places, often within the same file. For all code that exists in a v8::internal::wasm namespace, this CL removes any wasm:: qualifiers, which is especially helpful since most types are already Wasm-named, such as WasmCode, WasmModule, etc. Namespace qualifiers are redundant inside the wasm:: namespace and thus go against the main point of using namespaces. Removing the qualifiers for non Wasm-named classes also makes the code somewhat more future-proof, should we move some things that are not really WASM-specific (such as ErrorThrower and Decoder) into a higher namespace. R=clemensh@chromium.org,mstarzinger@chromium.org Change-Id: Ibff3e1e93c64c12dcb53c46c03d1bfb2fb0b7586 Reviewed-on: https://chromium-review.googlesource.com/1160232 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54862}
-
- 31 Jul, 2018 1 commit
-
-
Andreas Haas authored
The lifetime of the WasmInterpreter is managed by the GC. However, we did not tell the GC the amount of memory consumed by the interpreter. Therefore it was possible to fill up memory with instances of the interpreter without triggering a GC to free memory. With this CL we pass the size of the stack as an estimate for the size of the interpreter. At least in the fuzzer the stack is the dominating factor for memory consumption. R=clemensh@chromium.org Bug: chromium:863198 Change-Id: Ic5cb0bd364500bcff793a1fd53d2d0113196dfe2 Reviewed-on: https://chromium-review.googlesource.com/1156385Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#54810}
-
- 12 Jul, 2018 1 commit
-
-
Clemens Hammacher authored
An unordered_map typically provides better performance. Instead of a compare function, we now need a hash function and equality defined on {Signature<T>}. R=mstarzinger@chromium.org Bug: chromium:862123 Change-Id: Iba71030f91949d7453740c884de1d8a4f921c618 Reviewed-on: https://chromium-review.googlesource.com/1131182 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54404}
-
- 05 Jul, 2018 2 commits
-
-
Alexey Kozyatinskiy authored
After liveedit removed - we do not need this context any more. R=yangguo@chromium.org TBR=clemensh@chromium.org Bug: v8:5530 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Idb43d016d51b8048f6cd2ca590fd7510abcacb49 Reviewed-on: https://chromium-review.googlesource.com/1106802 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54273}
-
Leszek Swirski authored
Replace Is<oddball>(GetIsolate()) calls with a no-parameter version that goes through ReadOnlyRoots, and add a version that takes a ReadOnlyRoots if that is available in the parent (but Isolate isn't). Also opportunistically clean up a few places where ReadOnlyRoots are available but we still pass in an Isolate parameter. TBR=yangguo@chromium.org Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Icc0b8a7d8f9c6b84c0ec8fe771fcfb75c9dc5468 Reviewed-on: https://chromium-review.googlesource.com/1126302Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54245}
-
- 28 Jun, 2018 1 commit
-
-
Clemens Hammacher authored
We pass the {WasmModule} by non-const pointer and by non-const reference a lot. This violates the style guide, and adds the risk of accidentally modifying it. This CL makes the {WasmModule} const during compilation and instantiation. R=mstarzinger@chromium.org Bug: v8:7754 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ie1878322828b63284b341d97da595e8e91dd4f51 Reviewed-on: https://chromium-review.googlesource.com/1117194Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54078}
-
- 23 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Access Isolate* and Heap* wherever already available. Roughly: GetIsolate(): -20 GetHeap(): -22 Handle<>(HeapObject): -315 handle(HeapObject): -21 Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I2da36ed1909d849812a1cb6bf94cb735eedca45b Reviewed-on: https://chromium-review.googlesource.com/1111707 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53987}
-
- 22 Jun, 2018 1 commit
-
-
Clemens Hammacher authored
The wire bytes are currently stored as {SeqOneByteString} on the JS heap. In order to make the {NativeModule} isolate independent, and to ensure fast access to the wire bytes, they should move to the native heap. R=titzer@chromium.org Bug: chromium:854794, v8:7868, v8:7424 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I36811ec87f780c5b1f6863cd6de89a165aa0b7d5 Reviewed-on: https://chromium-review.googlesource.com/1108208 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53977}
-
- 20 Jun, 2018 1 commit
-
-
Clemens Hammacher authored
The reference to the {NativeModule} (stored in a {Managed}) should live on the {WasmModuleObject}, not on the individual {WasmCompiledModule} objects. R=titzer@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I21dfa088c9643d36d9fd5052a145e7e2af5e47f9 Reviewed-on: https://chromium-review.googlesource.com/1106380 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53860}
-
- 19 Jun, 2018 2 commits
-
-
Clemens Hammacher authored
This is a reland of 733b7c82. The arm64 bug was fixed in https://crrev.com/c/1105051. Original change's description: > [wasm] Introduce jump table > > This introduces the concept of a jump table for WebAssembly, which is > used for every direct and indirect call to any WebAssembly function. > For lazy compilation, it will initially contain code to call the > WasmCompileLazy builtin, where it passes the function index to be > called. > For non-lazy-compilation, it will contain a jump to the actual code. > The jump table allows to easily redirect functions for lazy > compilation, tier-up, debugging and (in the future) code aging. After > this CL, we will not need to patch existing code any more for any of > these operations. > > R=mstarzinger@chromium.org, titzer@chromium.org > > Bug: v8:7758 > Change-Id: I45f9983c2b06ae81bf5ce9847f4542fb48844a4f > Reviewed-on: https://chromium-review.googlesource.com/1097075 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Ben Titzer <titzer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53805} TBR=titzer@chromium.org,mstarzinger@chromium.org Bug: v8:7758 Change-Id: I68555230c6db97e70f0b8fef784188f55ee04794 Reviewed-on: https://chromium-review.googlesource.com/1105158 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53829}
-
Sigurd Schneider authored
TurboFan returned null handles if compilation did not succeed. This CL changes that to a MaybeHandle to make it explicit that client code needs to handle the error. Bug: v8:7856 Change-Id: I6087e6263faa1150b9788213dd22c398b4a2fc2d Reviewed-on: https://chromium-review.googlesource.com/1104688 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#53824}
-
- 18 Jun, 2018 2 commits
-
-
Clemens Hammacher authored
This reverts commit 733b7c82. Reason for revert: breaks arm64 gc-stress: https://ci.chromium.org/buildbot/client.v8.ports/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress/11659 Original change's description: > [wasm] Introduce jump table > > This introduces the concept of a jump table for WebAssembly, which is > used for every direct and indirect call to any WebAssembly function. > For lazy compilation, it will initially contain code to call the > WasmCompileLazy builtin, where it passes the function index to be > called. > For non-lazy-compilation, it will contain a jump to the actual code. > The jump table allows to easily redirect functions for lazy > compilation, tier-up, debugging and (in the future) code aging. After > this CL, we will not need to patch existing code any more for any of > these operations. > > R=mstarzinger@chromium.org, titzer@chromium.org > > Bug: v8:7758 > Change-Id: I45f9983c2b06ae81bf5ce9847f4542fb48844a4f > Reviewed-on: https://chromium-review.googlesource.com/1097075 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Ben Titzer <titzer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53805} TBR=mstarzinger@chromium.org,titzer@chromium.org,clemensh@chromium.org,sreten.kovacevic@mips.com Change-Id: Iea358db2cf13656a65cf69a6d82cbbc10d3e7e1c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7758 Reviewed-on: https://chromium-review.googlesource.com/1105157Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53807}
-
Clemens Hammacher authored
This introduces the concept of a jump table for WebAssembly, which is used for every direct and indirect call to any WebAssembly function. For lazy compilation, it will initially contain code to call the WasmCompileLazy builtin, where it passes the function index to be called. For non-lazy-compilation, it will contain a jump to the actual code. The jump table allows to easily redirect functions for lazy compilation, tier-up, debugging and (in the future) code aging. After this CL, we will not need to patch existing code any more for any of these operations. R=mstarzinger@chromium.org, titzer@chromium.org Bug: v8:7758 Change-Id: I45f9983c2b06ae81bf5ce9847f4542fb48844a4f Reviewed-on: https://chromium-review.googlesource.com/1097075 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53805}
-
- 13 Jun, 2018 1 commit
-
-
Clemens Hammacher authored
The {WasmSharedModuleData} struct was introduced to hold data common to all wasm instances belonging to the same module. The idea was to keep "internal state" separate from the JS-facing {WasmModuleObject}. Since this objective has no real value, and we already store some internal data on the {WasmModuleObject}, this CL merges these two objects. R=titzer@chromium.org, mstarzinger@chromium.org Bug: v8:7754 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I04f6d07bf5d812bc4717af26f0f64231345861f9 Reviewed-on: https://chromium-review.googlesource.com/1097491 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53698}
-
- 12 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Introduce debug-only non-isolate versions of oddball checks so that we can check for oddballs in DCHECKs without requiring an isolate. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I97ee22fb99b23dbfa5d2d0bc7c6b22392d16d694 Reviewed-on: https://chromium-review.googlesource.com/1094875Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53662}
-
- 11 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Whenever an Isolate is available on a variable, field, or method parameter, use that instead of GetIsolate(). Also convert simple cases of the one-argument handle constructor to either use an available Isolate, or use GetIsolate() if their first parameter is a variable. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I52805905a9ca8729615ead78859f43d5e8f605f1 Reviewed-on: https://chromium-review.googlesource.com/1092853 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53629}
-
- 04 Jun, 2018 1 commit
-
-
Clemens Hammacher authored
1) The code table never grows, so store it in a heap-allocated byte array instead of an std::vector. 2) Rename {functions_count} to {num_functions} for consistency with {num_imported_functions} and occurences in other data structures. R=mstarzinger@chromium.org Bug: v8:7754 Change-Id: Id9d66545ed7aa675d663dad5936a9ef6d44ace7d Reviewed-on: https://chromium-review.googlesource.com/1066014 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53488}
-
- 30 May, 2018 1 commit
-
-
Ben L. Titzer authored
Extends the functionality of Managed<T> to track an estimated size for the external memory associated with an instance of Managed<T> in order to allow for proper accounting in the garbage collector. R=mstarzinger@chromium.org CC=ulan@chromium.org Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I8c49c6245eaf267c9264ebb93b43d5dfbf4671fd Reviewed-on: https://chromium-review.googlesource.com/1076332 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53433}
-
- 18 May, 2018 1 commit
-
-
Clemens Hammacher authored
When processing imports of an instance, we were storing pointers to exported (and re-imported) wasm functions in the code table of the importing module. This is dangerous since imports are instance specific. Avoid ever storing call targets for imports in the NativeModule. Instead, read the call targets from the imports table of the instance. R=mstarzinger@chromium.org Bug: chromium:843563 Change-Id: Id9f43a6c127025a5feaa81b2be75c001bc0bea81 Reviewed-on: https://chromium-review.googlesource.com/1065774 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53256}
-
- 15 May, 2018 1 commit
-
-
Clemens Hammacher authored
The interpreter entry was sometimes referred to as "interpreter stub" or "interpreter wrapper". Use the term "interpreter entry" consistently. R=titzer@chromium.org Bug: v8:7754 Change-Id: Ia06449c91300fca454c6afd5c82a789749d6b7d0 Reviewed-on: https://chromium-review.googlesource.com/1058794Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53184}
-
- 14 May, 2018 1 commit
-
-
Michael Starzinger authored
This makes the fact that {WasmSharedModuleData} is shared across instances explicit by hanging this {shared} reference off the module object instead of the instance-specific {WasmCompiledModule} object. R=titzer@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I99bf3d855d6283bdc48373f0f8e2df1990905d3f Reviewed-on: https://chromium-review.googlesource.com/1051909 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53163}
-
- 11 May, 2018 1 commit
-
-
Michael Starzinger authored
This makes the fact that export wrapper code is shared across instances explicit by hanging the {export_wrappers} array off the module object instead of the instance-specific {WasmCompiledModule} object. R=titzer@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ic5c73bcc17f759e520c105317361e5654628b99e Reviewed-on: https://chromium-review.googlesource.com/1051987 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53131}
-
- 07 May, 2018 3 commits
-
-
Michael Starzinger authored
This moves the internal fields on {WasmExportedFunction} objects from being properties with private symbols to a separate structure instead. The new {WasmExportedFunctionData} structure can hang off the underlying shared function info which is created for each exported function. This reduces the number of transitions, speeds up instantiation, and makes it easier to reach them from generated code (in the future). R=titzer@chromium.org BUG=v8:7424 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Iaa733b6c9f7bea96246d6680756aa7101669a1a9 Reviewed-on: https://chromium-review.googlesource.com/1047025 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53040}
-
Clemens Hammacher authored
Define simple accessors in the header and give them lower case names. R=mstarzinger@chromium.org Bug: v8:7570 Change-Id: I2914013fdea2218189275bbaa9f98ea5de0ccd7c Reviewed-on: https://chromium-review.googlesource.com/1046546 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53024}
-
Andreas Haas authored
R=clemensh@chromium.org CC=titzer@chromium.org Change-Id: I4951bf7ffc8baf51225e7bef60349186811b9f76 Reviewed-on: https://chromium-review.googlesource.com/1024037 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53020}
-
- 30 Apr, 2018 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org BUG=v8:7424 Change-Id: I334d0521982e173650da7dd5da0627197dff171b Reviewed-on: https://chromium-review.googlesource.com/1035124 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52890}
-
- 27 Apr, 2018 1 commit
-
-
Clemens Hammacher authored
Linkage-related methods were declared in wasm-compiler.h and implemented in wasm-linkage.cc. This required all users of e.g. wasm call descriptors to include the whole wasm compiler header. Also, some wasm linkage information is independent of turbofan and also used outside of the compiler directory. This CL splits off wasm-linkage.h (with minimal includes) and puts it in src/wasm. This allows to use that information without including compiler headers (will clean up several uses in follow-up CLs). R=mstarzinger@chromium.org, titzer@chromium.org Bug: v8:7570 Change-Id: Ifcae70b4ea7932cda30953b325c2b87c4176c598 Reviewed-on: https://chromium-review.googlesource.com/1013701Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52849}
-
- 26 Apr, 2018 1 commit
-
-
Ben L. Titzer authored
This CL simplifies and extends the implementation of Managed<T> and now uses a std::shared_ptr<T> underneath in order to offer cross-isolate management of C++ allocated memory. R=mstarzinger@chromium.org CC=ulan@chromium.org Bug: v8:7424 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Id43a26f565677e8c9cdfd73810568d4f2b1871fe Reviewed-on: https://chromium-review.googlesource.com/1028190Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52820}
-
- 16 Apr, 2018 1 commit
-
-
Vincent Belliard authored
First version which can compile a very basic code. Change-Id: I3b98412a5ca39a28f8fe5b60516b82c6981dd187 Reviewed-on: https://chromium-review.googlesource.com/993232 Commit-Queue: Vincent Belliard <vincent.belliard@arm.com> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52622}
-
- 14 Apr, 2018 1 commit
-
-
Jakob Kummerow authored
The "Address" type is V8's general-purpose type for manipulating memory addresses. Per the C++ spec, pointer arithmetic and pointer comparisons are undefined behavior except within the same array; since we generally don't operate within a C++ array, our general-purpose type shouldn't be a pointer type. Bug: v8:3770 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ib96016c24a0f18bcdba916dabd83e3f24a1b5779 Reviewed-on: https://chromium-review.googlesource.com/988657 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#52601}
-
- 09 Apr, 2018 2 commits
-
-
Jakob Kummerow authored
There is no good reason to have the meat of most objects' initialization logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, this CL changes the protocol between Heap and Factory to be AllocateRaw, and all object initialization work after (possibly retried) successful raw allocation happens in the Factory. This saves about 20KB of binary size on x64. Original review: https://chromium-review.googlesource.com/c/v8/v8/+/959533 Originally landed as r52416 / f9a2e24b Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Id072cbe6b3ed30afd339c7e502844b99ca12a647 Reviewed-on: https://chromium-review.googlesource.com/1000540 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52492}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: I51e4210334a50ebb9ed7172c112083d6c3d784d9 Reviewed-on: https://chromium-review.googlesource.com/1000776Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52477}
-
- 06 Apr, 2018 2 commits
-
-
Ben L. Titzer authored
This change makes lifetime management of WasmCode much simpler. By using the WasmInstanceObject as the context for WASM code execution, including the pointer to the memory base and indirect function tables, this keeps the instance alive when WASM code is on the stack, since the instance object is passed as a parameter and spilled onto the stack. This is in preparation of sharing the code between instances and isolates. Bug: v8:7424 R=mstarzinger@chromium.org Change-Id: Ia35a3ce91a8f6135767fa764e185cde8bbc889f4 Reviewed-on: https://chromium-review.googlesource.com/997932 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52436}
-
Michael Achenbach authored
This reverts commit f9a2e24b. Reason for revert: gc stress failures not all fixed by follow up. Original change's description: > [cleanup] Refactor the Factory > > There is no good reason to have the meat of most objects' initialization > logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, > this CL changes the protocol between Heap and Factory to be AllocateRaw, > and all object initialization work after (possibly retried) successful > raw allocation happens in the Factory. > > This saves about 20KB of binary size on x64. > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca > Reviewed-on: https://chromium-review.googlesource.com/959533 > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52416} TBR=jkummerow@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org Change-Id: Idbbc53478742f3e9525eee83342afc6aedae122f No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/999414Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52420}
-