- 01 Oct, 2018 3 commits
-
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: I1fd7f103968dc0964f44777c6610ed758eb363bf Reviewed-on: https://chromium-review.googlesource.com/1254129Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56321}
-
Michael Starzinger authored
R=titzer@chromium.org Change-Id: Id2766ee8d69ebd1a747374f1be71788c77a41d70 Reviewed-on: https://chromium-review.googlesource.com/1254128Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56318}
-
Michael Starzinger authored
R=titzer@chromium.org Change-Id: I543f7d65d04b54951be126ca1e30bb7e81f026a8 Reviewed-on: https://chromium-review.googlesource.com/1253606Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56313}
-
- 27 Sep, 2018 1 commit
-
-
Clemens Hammacher authored
Make {AllocateForCode} return an actual buffer, and move the OOM check into that method. This allows us to generate more precise OOM messages. R=mstarzinger@chromium.org Change-Id: Ie9ed81248fe8068c92eec29a4911ffef43032de2 Reviewed-on: https://chromium-review.googlesource.com/1245769 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56258}
-
- 26 Sep, 2018 3 commits
-
-
Clemens Hammacher authored
R=ahaas@chromium.org Bug: v8:8015 Change-Id: Ic449b76ab3957bb989bbb1fc9cc1fb4782db7acf Reviewed-on: https://chromium-review.googlesource.com/1240119Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56240}
-
Clemens Hammacher authored
This method only has a single user, and can be implemented in a few lines, so just inline it. R=ahaas@chromium.org Bug: v8:8015 Change-Id: I26247d97ebb939274fa72cc5441e8c2e0c6bc869 Reviewed-on: https://chromium-review.googlesource.com/1245743Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56239}
-
Clemens Hammacher authored
The idea of movable data structures is to pass them by value. This is also preferred by the style guide. R=ahaas@chromium.org CC=sattlerf@google.com Bug: v8:8015 Change-Id: Ica016425d624f4497e374b25b363c1f2eb49b4c0 Reviewed-on: https://chromium-review.googlesource.com/1245762Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56238}
-
- 25 Sep, 2018 2 commits
-
-
Clemens Hammacher authored
Maybe (defined in include/v8.h) is an API object, not meant to be used in internal code. Instead of failing, it will call a callback on the isolate. It also adds one word to the size of each WasmCode object. This CL avoids its use WasmCode. Instead, we use a sentinel value as the function index of anonymous functions and add proper DCHECKs. R=mstarzinger@chromium.org Bug: v8:8015 Change-Id: I4bb155e814d8d0cc9e40b33202b4431718ac79b1 Reviewed-on: https://chromium-review.googlesource.com/1242096 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56222}
-
Clemens Hammacher authored
Whenever we insert new code in the module, we call {set_code} and {PatchJumpTable}. This CL refactors these two calls into a new {InstallCode} method. This method will be extended in a future CL to maintain a counter of potentially dead code and trigger GC. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: I1a1421806c8518cf7b6b78fe4aa2e969d4e4dde6 Reviewed-on: https://chromium-review.googlesource.com/1243003 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56214}
-
- 21 Sep, 2018 2 commits
-
-
Michael Starzinger authored
This also makes the {AddCodeCopy} method more specific to only apply to import wrappers, otherwise the use of {set_code} would be unprotected. R=clemensh@chromium.org BUG=v8:8015 Change-Id: I62561560f57e4cc235a338c0e769e50ff55ec42d Reviewed-on: https://chromium-review.googlesource.com/1238477Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56137}
-
Michael Starzinger authored
R=clemensh@chromium.org BUG=v8:8015 Change-Id: I1daca16797a6a359aaab1703767ae24e2d73e8f2 Reviewed-on: https://chromium-review.googlesource.com/1238240Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56123}
-
- 18 Sep, 2018 1 commit
-
-
Clemens Hammacher authored
The WasmMemoryTracker keeps track of reserved memory in order to avoid running out of virtual address space. So far, we were only tracking reservations for wasm memory, and not for code. This CL changes that to also include code reservations. Drive-by: Some cleanup around the allocation of the WasmCodeManager. R=titzer@chromium.org Bug: chromium:883639 Change-Id: I0c2586a742022ae00752132e048346d54e2a1a7c Reviewed-on: https://chromium-review.googlesource.com/1230134Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56001}
-
- 17 Sep, 2018 1 commit
-
-
Clemens Hammacher authored
VirtualMemory objects can be moved since https://crrev.com/c/1213062, so there is no need any more to return them via pointer argument. This also makes the {AllocVirtualMemory} and {AlignedAllocVirtualMemory} functions superfluous. R=ishell@chromium.org, titzer@chromium.org Bug: v8:8015 Change-Id: Id72921e1c66a6c10be6647194603b8283e010e24 Reviewed-on: https://chromium-review.googlesource.com/1226972Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55947}
-
- 07 Sep, 2018 1 commit
-
-
Igor Sheludko authored
... and add move constructor and move assignment operator. Also define some VirtualMemory parameters as r-values to explicitly express that the ownership is passed from the caller to callee. Bug: v8:8015 Change-Id: Iee27ddc844556dc7465177656b339cd1f83a3b56 Reviewed-on: https://chromium-review.googlesource.com/1213062Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#55726}
-
- 22 Aug, 2018 1 commit
-
-
jgruber authored
Some builtins, so-called wasm runtime stubs, are copied off-heap to ensure reachability through near jumps. These builtins must be individually position-independent. In particular, they may not contain pc-relative calls to other builtins. Drive-by: Set hard_abort mode for all wasm runtime stubs to avoid Abort calls. Bug: v8:6666 Change-Id: Ie5bc9fc539d6a043dcf7dff66c3b4643baec69ab Reviewed-on: https://chromium-review.googlesource.com/1183236 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55296}
-
- 17 Aug, 2018 1 commit
-
-
Michael Starzinger authored
This makes sure that a tier-up from Ignition to TurboFan (or any other code publishing) preserves redirections to the Interpreter. Currently an interpreted function never switches back to compiled. R=titzer@chromium.org TEST=mjsunit/wasm/interpreter-mixed BUG=v8:7921,v8:8018 Change-Id: Ifca479953509708c998c11cc00b481c232678e00 Reviewed-on: https://chromium-review.googlesource.com/1179661 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55195}
-
- 09 Aug, 2018 1 commit
-
-
Ben L. Titzer authored
This CL introduces a set of configuration options implemented as a struct of booleans that together comprise the set of enabled or detected features. The configuration options replace command-line flags that were checked deep in the implementation. As such, it is necessary to plumb them through multiple levels of abstraction. R=ahaas@chromium.org CC=mstarzinger@chromium.org BUG=chromium:868844 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I1b82f5826e4fd263f68e8cafcd923bac5818a637 Reviewed-on: https://chromium-review.googlesource.com/1163670Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55018}
-
- 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}
-
- 01 Aug, 2018 1 commit
-
-
Michael Starzinger authored
This changes the WebAssembly serializer to take a full snapshot of the code table before measuring and serializing the module. It allows other threads (or other Isolates) to mutate the native module while the main thread is serializing the module. R=clemensh@chromium.org BUG=v8:7424 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I64bc27600452880f37f4fbb2f40c77c79975358f Reviewed-on: https://chromium-review.googlesource.com/1156596 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54838}
-
- 31 Jul, 2018 1 commit
-
-
Michael Starzinger authored
This avoids serializing and deserializing the sharable part of a module when it is transferred via {TransferrableModule}, which is possible when all Isolates run off the same engine via the --wasm-shared-engine flag. This adds a new --wasm-shared-code flag to enable this feature. R=ahaas@chromium.org BUG=v8:7424 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I099d581d7ccc4d058a4646f545a011745fd84eb4 Reviewed-on: https://chromium-review.googlesource.com/1142144 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54806}
-
- 25 Jul, 2018 1 commit
-
-
Michael Starzinger authored
This flag allows to share a single WasmEngine among all Isolates within the same process. It will ultimately allow to share the WasmCode objects associated with modules that are transferred via structured cloning. R=clemensh@chromium.org TEST=mjsunit/wasm/worker-module BUG=v8:7424 Change-Id: I70d852d319b2a80bd02e0a2a838dcdfa071df6e1 Reviewed-on: https://chromium-review.googlesource.com/1138213 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54678}
-
- 20 Jul, 2018 1 commit
-
-
Michael Starzinger authored
This is a reland of 0f2d22dd Original change's description: > [wasm] Improve module code size sampling approach. > > This samples module code sizes at GC time instead of during destruction. > It hence makes sure that we also receive samples for long-lived modules > which would otherwise die with the Isolate and never be finalized. Note > that this approach is still biased and just a stop-gap until we have a > sampling tick based on actual wall-clock time. > > R=clemensh@chromium.org > > Change-Id: I9558d383a5aada8876bc9cbf63baca771dbe5c28 > Reviewed-on: https://chromium-review.googlesource.com/1141866 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54554} Change-Id: I1863e94bbe91c89c248ddf8fc700ff91bc3593b2 Reviewed-on: https://chromium-review.googlesource.com/1143344Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54572}
-
- 19 Jul, 2018 2 commits
-
-
Michael Starzinger authored
This reverts commit 0f2d22dd. Reason for revert: Caused a race discovered by TSAN. Original change's description: > [wasm] Improve module code size sampling approach. > > This samples module code sizes at GC time instead of during destruction. > It hence makes sure that we also receive samples for long-lived modules > which would otherwise die with the Isolate and never be finalized. Note > that this approach is still biased and just a stop-gap until we have a > sampling tick based on actual wall-clock time. > > R=clemensh@chromium.org > > Change-Id: I9558d383a5aada8876bc9cbf63baca771dbe5c28 > Reviewed-on: https://chromium-review.googlesource.com/1141866 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54554} TBR=ulan@chromium.org,mstarzinger@chromium.org,clemensh@chromium.org Change-Id: Ie1fc99ad0ef36b30a73cc464808ce7679a0f15df No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/1143284Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54557}
-
Michael Starzinger authored
This samples module code sizes at GC time instead of during destruction. It hence makes sure that we also receive samples for long-lived modules which would otherwise die with the Isolate and never be finalized. Note that this approach is still biased and just a stop-gap until we have a sampling tick based on actual wall-clock time. R=clemensh@chromium.org Change-Id: I9558d383a5aada8876bc9cbf63baca771dbe5c28 Reviewed-on: https://chromium-review.googlesource.com/1141866Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54554}
-
- 13 Jul, 2018 1 commit
-
-
Michael Starzinger authored
This moves the entire code generation phase (including code emission into the native module) into the background task. The code manager is fully thread safe by now and there are no Isolate-bound steps anymore. The only step remaining on the foreground task is publishing the fully finished code to other threads via {NativeModule::PublishCode}. R=clemensh@chromium.org BUG=v8:7921 Change-Id: Ia64c6ce945aabd071b26e61ef8d397fb7727a038 Reviewed-on: https://chromium-review.googlesource.com/1135004 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54425}
-
- 10 Jul, 2018 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org BUG=v8:7921 Change-Id: I82a1c5cff7fd00603a509221b448b11d82edee7e Reviewed-on: https://chromium-review.googlesource.com/1131176Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54356}
-
- 09 Jul, 2018 3 commits
-
-
Michael Starzinger authored
This reverts commit 231b3e15. Reason for revert: Flakes in inspector/debugger/wasm-stack Original change's description: > [wasm] Move code generation fully to background task. > > This moves the entire code generation phase (including code emission > into the native module) into the background task. The code manager is > fully thread safe by now and there are no Isolate-bound steps anymore. > > R=clemensh@chromium.org > BUG=v8:7921 > > Change-Id: Ie3e8565e126bfdb58bf472291a1f9fbebe7b5431 > Reviewed-on: https://chromium-review.googlesource.com/1128743 > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54324} TBR=mstarzinger@chromium.org,clemensh@chromium.org Change-Id: Ice5d80425cebd3921d9683d06f70d5173f663e42 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7921 Reviewed-on: https://chromium-review.googlesource.com/1129059Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54326}
-
Michael Starzinger authored
This moves the entire code generation phase (including code emission into the native module) into the background task. The code manager is fully thread safe by now and there are no Isolate-bound steps anymore. R=clemensh@chromium.org BUG=v8:7921 Change-Id: Ie3e8565e126bfdb58bf472291a1f9fbebe7b5431 Reviewed-on: https://chromium-review.googlesource.com/1128743Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54324}
-
Clemens Hammacher authored
This reduces the critical section in {NativeModule::AddOwnedCode} to not include the memcpy. It also contains small drive-by fixes. R=mstarzinger@chromium.org Bug: v8:7921 Change-Id: Idbed5d1ab5627fe2ab3f60887ec2b31c5525e36c Reviewed-on: https://chromium-review.googlesource.com/1127025 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54312}
-
- 06 Jul, 2018 1 commit
-
-
Clemens Hammacher authored
Instead of creating a separate code object per exported function, we can share the code per signature, and load the function index from the {WasmExportedFunction} object which is being passed as an argument anyway. This greatly reduces instantiation time for modules with a lot of exports. As a next step, we could even share the code across instances, or (with more work) across isolates. R=mstarzinger@chromium.org Bug: chromium:860491 Change-Id: I6438065b2de0df59dce980fb52408a0f475144b3 Reviewed-on: https://chromium-review.googlesource.com/1127660 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54299}
-
- 05 Jul, 2018 1 commit
-
-
Clemens Hammacher authored
This avoids the need for the finisher task (running on the foreground thread) for Liftoff code. This CL just makes the simple change to call {AddCode} from the background thread. More cleanup will follow in separate CLs. R=mstarzinger@chromium.org Bug: v8:6600, v8:7921 Change-Id: I99ef29377efee5be36ba203aa7ed71e2471d86f3 Reviewed-on: https://chromium-review.googlesource.com/1126930 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54266}
-
- 02 Jul, 2018 1 commit
-
-
Michael Starzinger authored
This makes sure the reverse tag translation of direct call targets to respective call tags is properly performed. Otherwise all direct call end up being deserialized to call the function with index '0'. Ooops! R=clemensh@chromium.org TEST=mjsunit/wasm/compiled-module-serialization BUG=chromium:857049 Change-Id: I37c1ee72b000daec87efdeed08d60a067b1a1b0c Reviewed-on: https://chromium-review.googlesource.com/1120256Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54124}
-
- 29 Jun, 2018 1 commit
-
-
Clemens Hammacher authored
No need to go via the {ModuleEnv} in the {CompilationState}. R=mstarzinger@chromium.org Change-Id: I11ff647824ad107131ce329453b365d6ecaec7fb Reviewed-on: https://chromium-review.googlesource.com/1118561Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54102}
-
- 28 Jun, 2018 3 commits
-
-
Clemens Hammacher authored
Another pair of {std::unique_ptr} and {size_t} that can be stored as one {OwnedVector}, which allows to pass it as one thing. R=mstarzinger@chromium.org Bug: v8:7754 Change-Id: Ideac0dbd390ba8147b6620daa86f0d3da6c3b609 Reviewed-on: https://chromium-review.googlesource.com/1118236 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54091}
-
Clemens Hammacher authored
Instead of storing both the {NativeModule} and the {WasmModule} in a {Managed} object, just store the {WasmModule} in the {NativeModule} directly. This fixes crashes that happen if the {Managed<WasmModule>} dies before the {Managed<NativeModule>}. R=mstarzinger@chromium.org Bug: chromium:854794, v8:7879, v8:7889 Change-Id: I6b11729943fe7a03d225138782655ee5dafd26a6 Reviewed-on: https://chromium-review.googlesource.com/1118171 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54090}
-
Clemens Hammacher authored
This CL removes the friendship between {NativeModule} and {NativeModuleSerializer}/{NativeModuleDeserializer}. Instead, it adds a new public method ({AddDeserializedCode}) which is being called from the deserializer. Drive-by: Unify the argument order to {AddCode}, {AddOwnedCode} and {WasmCode}. R=mstarzinger@chromium.org Bug: chromium:856938 Change-Id: I88943c90c45650e21ae6bc17395a17f86319c046 Reviewed-on: https://chromium-review.googlesource.com/1117075Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54084}
-
- 27 Jun, 2018 4 commits
-
-
Clemens Hammacher authored
The name itself does not make sense any more since the {NativeModule} is shared across instances. It is also only used for debugging, so remove it, and replace it by the address of the {NativeModule} itself in debug output. R=mstarzinger@chromium.org Bug: v8:7754 Change-Id: I02f9252981b776934811a904287be31c7076e90b Reviewed-on: https://chromium-review.googlesource.com/1114965 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54064}
-
Clemens Hammacher authored
Since the Liftoff prologue is gone (https://crrev.com/c/1110222), this field is dead. R=mstarzinger@chromium.org Bug: v8:6600 Change-Id: I9d3e94a63087e7111939523c11fba4f009cecd54 Reviewed-on: https://chromium-review.googlesource.com/1116963Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54059}
-
Clemens Hammacher authored
Replace two more pairs of {std::unique_ptr} and {size_t} by {OwnedVector}. R=mstarzinger@chromium.org Change-Id: Ifdf03abf9759fbbb4adde76a494073625723a03d Reviewed-on: https://chromium-review.googlesource.com/1116785 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54057}
-
Clemens Hammacher authored
We currently store the protected instructions per code object in a {std::unique_ptr<std::vector<ProtectedInstructionData>>}. This wastes memory, because it requires two heap allocations, plus the vector might over-allocate (and it currently does, because it is filled dynamically during compilation). This CL changes that to store the protected instructions in an {OwnedVector}. This requires one copy after generating the list of {ProtectedInstructionData} in an {std::vector} during compilation, but saves memory afterwards. R=mstarzinger@chromium.org Bug: chromium:856938 Change-Id: Ie290a17dc32f27fbbfe0c000a52297181c954550 Reviewed-on: https://chromium-review.googlesource.com/1116701Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54052}
-