- 24 Sep, 2018 1 commit
-
-
Dan Elphick authored
ToBoolean and BooleanValue cannot throw exceptions so the Maybe versions of the functions don't make sense. As such this deprecates the Maybe versions and undeprecates ToBoolean(Isolate*). It also adds BooleanValue(Isolate*). Fix up all of the v8 code to not use the deprecated functions. Bug: v8:7279, v8:8015 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I50e7474d205c75baa153f0dea7f02dcf60232d1d Reviewed-on: https://chromium-review.googlesource.com/1238476 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#56163}
-
- 17 Sep, 2018 1 commit
-
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Change-Id: If115a71b1c57eecdec7c57d3613a4f0bd90f2e66 Reviewed-on: https://chromium-review.googlesource.com/1226791Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Florian Sattler <sattlerf@google.com> Cr-Commit-Position: refs/heads/master@{#55944}
-
- 13 Sep, 2018 1 commit
-
-
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}
-
- 11 Sep, 2018 1 commit
-
-
Andreas Haas authored
There was a bug in WebAssembly.instantiate in the case where a CSP disallows WebAssembly compilation. In this case the promise returned by WebAssembly.instantiate was rejected immediately because of the CSP, but then compilation was started anyways, and the promise was resolved after compilation for a second time, which caused the crash. With this CL we do not start compilation if CSP disallows WebAssembly compilation. R=clemensh@chromium.org Bug: chromium:881978 Change-Id: Iffdb3e02c3006eb7f86211ab197f81cf20438f0e Reviewed-on: https://chromium-review.googlesource.com/1219706 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55788}
-
- 10 Sep, 2018 1 commit
-
-
Michael Starzinger authored
This new instance type will be used for wrapper objects representing exported exceptions. Currently the objects are empty and only serve as an identity for exported exceptions. Eventually they will also need to reference the signature underlying the exception to perform a signature check upon import. R=clemensh@chromium.org TEST=mjsunit/wasm/exceptions-import BUG=v8:8091 Change-Id: Ifdd561fc000090f4a985aeb45549fd7110849646 Reviewed-on: https://chromium-review.googlesource.com/1215166 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55752}
-
- 14 Aug, 2018 1 commit
-
-
Andreas Haas authored
The problem was that in AsyncCompileJob::FinishModule we allocate a handle, but when this function is called from streaming compilation, then there was no HandleScope around AsyncCompileJob::FinishModule. This issue was fixed in another CL, https://crrev.com/c/1172357. This CL is just a rebase of the original CL. Original change's description: > [wasm] Implement the new API for WebAssembly.instantiateStreaming > This is the second V8 CL to refactor WebAssembly.instantiateStreaming to > make it spec compliant again. The design doc where the whole change is > discussed is available in the tracking bug. The tracking bug also > references prototype implementations of the whole change, which includes > the changes in this CL. R=starzinger@chromium.org Bug: chromium:860637 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ib0cb25488654d2b325b4f529d33b76b846c64436 Reviewed-on: https://chromium-review.googlesource.com/1172429Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#55106}
-
- 13 Aug, 2018 1 commit
-
-
Andreas Haas authored
With the origin trial for WebAssembly threads, threads can be turned on and off by the embedder depending on the context we are currently in. With this CL we call the embedder callback stored on the isolate to determine whether threads are enabled in the current context or not. Design decision: I decided to extend the {WasmFeaturesFromIsolate} function to ask the embedder if WebAssembly threads are enabled. This is the function which defines dynamically which features are turned on. It would be awkward to have two such functions, one which calls the embedder and one which does not. A downside is that in WasmJs::Install the embedder does not seem to be ready to be called. That's why I changed the code there to call {WasmFeaturesFromFlags} instead. R=titzer@chromium.org, mstarzinger@chromium.org Bug: chromium:868844 Change-Id: I6bfa89960a54cec71992756e3717bbb3a9fe195e Reviewed-on: https://chromium-review.googlesource.com/1169180 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55076}
-
- 10 Aug, 2018 1 commit
-
-
Michael Starzinger authored
This assigns dummy instance templates to all WebAssembly API functions used as constructors. It hence avoids implicit receivers from having the internal instance types. These objects would never be fully initialized and causes heap iterations to stumble over these objects. R=clemensh@chromium.org BUG=v8:8003 Change-Id: I3c81d8dc3ae4a38e650b390a04170585cb31ec77 Reviewed-on: https://chromium-review.googlesource.com/1170685Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55037}
-
- 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
-
-
Andreas Haas authored
For async instantiation of WebAssembly code we had the assumption that a pending exceptions (an exception which comes from execution JS code) and an ErrorThrower error cannot occur at the same time. This assumption turned out to be wrong. With this CL we handle this case by prefering pending_exceptions over ErrorThrower errors. In addition I extended the tests for failing instantiation to also exercise async instantiation, and I added a regression test. R=clemensh@chromium.org Bug: chromium:870646 Change-Id: I4cb54ff8642ad4ea193b20f79905c9f6508c2b2e Reviewed-on: https://chromium-review.googlesource.com/1163511Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#54940}
-
- 02 Aug, 2018 1 commit
-
-
Andreas Haas authored
This reverts commit b556c9ea. Reason for revert: Flakes in layout tests: https://crbug.com/870187 Original change's description: > [wasm] Implement the new API for WebAssembly.instantiateStreaming > > This is the second V8 CL to refactor WebAssembly.instantiateStreaming to > make it spec compliant again. The design doc where the whole change is > discussed is available in the tracking bug. The tracking bug also > references prototype implementations of the whole change, which includes > the changes in this CL. > > R=mstarzinger@chromium.org > > Bug: chromium:860637 > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng > Change-Id: I776c0f24959ab5663727d3dfee0248a9b0642a42 > Reviewed-on: https://chromium-review.googlesource.com/1143187 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54834} TBR=mstarzinger@chromium.org,ahaas@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:860637 Change-Id: Icbf2603143068a49c61de162aa7185a753703e5d Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1160261Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#54872}
-
- 01 Aug, 2018 1 commit
-
-
Andreas Haas authored
This is the second V8 CL to refactor WebAssembly.instantiateStreaming to make it spec compliant again. The design doc where the whole change is discussed is available in the tracking bug. The tracking bug also references prototype implementations of the whole change, which includes the changes in this CL. R=mstarzinger@chromium.org Bug: chromium:860637 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I776c0f24959ab5663727d3dfee0248a9b0642a42 Reviewed-on: https://chromium-review.googlesource.com/1143187 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54834}
-
- 31 Jul, 2018 1 commit
-
-
Dan Elphick authored
This new method only compares Strings and so doesn't need a Context. It also can't throw so it returns bool. Can be used in place of the deprecated Equals method and many Equals call currently taking a Context. Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I4cfe7747aa140e5a55d9513681ee4704414e1545 Reviewed-on: https://chromium-review.googlesource.com/1151321 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54812}
-
- 23 Jul, 2018 1 commit
-
-
Stephan Herhut authored
api.h had an implicit dependency on objects-inl.h. Bug: v8:7490 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I56ef7abefed7205bdbff2aa5f451f1a843bef9f9 Reviewed-on: https://chromium-review.googlesource.com/1145191Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#54616}
-
- 13 Jul, 2018 1 commit
-
-
Dan Elphick authored
All auto-generated with some fix-ups including marking the following classes as NeverReadOnlySpaceObject so their GetIsolate/GetHeap methods are safe to use: Code, CodeDataContainer, AbstractCode, DeoptimizationData, CompilationCacheTable, NormalizedMapCache, Script, SharedFunctionInfo TBR=yangguo@chromium.org Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I6cb5dcca88a0bc99b5afe80f553e06a661b5da3c Reviewed-on: https://chromium-review.googlesource.com/1135306 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54439}
-
- 12 Jul, 2018 1 commit
-
-
Andreas Haas authored
This is the first CL to refactor WebAssembly.instantiateStreaming to make it spec compliant again. The design doc where the whole change is discussed is available in the tracking bug. The tracking bug also references prototype implementations of the whole change, which includes the changes in this CL. Tests for the new API functions will be added with the second V8 CL which adds the implementation of the API functions. R=ulan@chromium.org Bug: chromium:860637 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ia1048b7ca0291c824ef4212ebde2c6054e102069 Reviewed-on: https://chromium-review.googlesource.com/1127667Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#54393}
-
- 04 Jul, 2018 1 commit
-
-
Dan Elphick authored
In future the RO_SPACE root accessors in Heap will become private, so instead convert them all to use ReadOnlyRoots. Bug: v8:7786 Change-Id: Ib3c45c1023d76bec5e1f4bc8f971062880b6c53f Reviewed-on: https://chromium-review.googlesource.com/1126240Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#54221}
-
- 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}
-
- 19 Jun, 2018 1 commit
-
-
Dan Elphick authored
This removes several GetIsolate calls from Map:: methods and instead passes the Isolate in. This is a very noisy change but mostly it is just adding Isolate to method declarations and forwarding it on. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I159505e50a9462d01066f14da0fcc29762bd5531 Reviewed-on: https://chromium-review.googlesource.com/1075267Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53826}
-
- 30 May, 2018 1 commit
-
-
Ben Smith authored
This was renamed recently in the spec. Change-Id: I825e47e8b4113ddb2c3356ee8e7663705ba65e1c Reviewed-on: https://chromium-review.googlesource.com/1079851Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#53448}
-
- 24 May, 2018 1 commit
-
-
Andreas Haas authored
At the moment, WebAssembly.instantiate(bytes) is implemented by desugaring it to WebAssembly.compile(bytes).then(WebAssembly.instantiate). The problem is that the {then} in this snippet is observable. With this CL I introduce a CompilationResultResolver which allows to do the desugaring internally and thereby make the {then} unobservable. Unfortunately the result of WebAssembly.instantiate(bytes) is different than the result of WebAssembly.instantiate(module). Therefore I also introduced an InstantiationResultResolver for symmetry with WebAssembly.compile. R=mstarzinger@chromium.org Bug: chromium:837417 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I2d98e03d65f2ada19041d5a9e2df5da91b24ccca Reviewed-on: https://chromium-review.googlesource.com/1059783 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53347}
-
- 02 May, 2018 1 commit
-
-
Eric Holk authored
This is a reland of ad221d14 Original change's description: > [wasm] Always enable guard regions on 64-bit platforms > > This change makes full 8 GiB guard regions always enabled on 64-bit > platforms. > > Additionally, since all Wasm memory allocation paths have some form of > guard regions, this removes and simplifies most of the logic around > whether to enable guard regions. > > This is a reland of https://crrev.com/c/985142. > > Bug: v8:7619 > Change-Id: I8bf1f86d6f89fd0bb2144431c7628f15a6b00ba0 > Reviewed-on: https://chromium-review.googlesource.com/996466 > Reviewed-by: Brad Nelson <bradnelson@chromium.org> > Commit-Queue: Eric Holk <eholk@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52412} Bug: v8:7619 Change-Id: I0f311305472ca2305ad2fa9163560ff54c1422c2 Reviewed-on: https://chromium-review.googlesource.com/999872 Commit-Queue: Eric Holk <eholk@chromium.org> Reviewed-by:
Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#52921}
-
- 27 Apr, 2018 3 commits
-
-
Ben Smith authored
* If the mutability of the global object doesn't match the module, then it should throw a LinkError. * There was a missing `return` when importing a Number as a mutable global. * All globals were being exported as immutable. * Attempting to set the value of an immutable global should throw a TypeError. * The length of the setter function should be 1. Bug: v8:7625 Change-Id: I08d6a428506a18db15eecadf4cbcee89e0658924 Reviewed-on: https://chromium-review.googlesource.com/1031626Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#52865}
-
Andreas Haas authored
When WebAssembly.instantiate or WebAssembly.instantiateStreaming is called in JavaScript, internally we transfrom it into WebAssembly.compile(buffer).then(WebAssembly.instantiate). However, modifying the prototype of WebAssembly.Module can change the result of WebAssembly.compile(buffer). With this CL we make sure that even if the result of WebAssembly.compile is modified, there is still no type confusion. In the long term we have to do a refactoring and remove this internal transformation. R=mstarzinger@chromium.org Bug: chromium:837417 Change-Id: I376068b8b8b01b991ec450162da6a62ae7030c62 Reviewed-on: https://chromium-review.googlesource.com/1032392 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52859}
-
Marja Hölttä authored
BUG=v8:5402,v8:7570 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ia97efa31495b371805eb469be8395aaa19c7628d Reviewed-on: https://chromium-review.googlesource.com/1032431Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#52841}
-
- 26 Apr, 2018 1 commit
-
-
Ben Smith authored
The new spec has two arguments, the first is the global descriptor, and the second is the initial value: new WebAssembly.Global({type: i32}, 42); If the initial value argument is omitted, the value is set to 0. Bug: v8:7625 Change-Id: I679d4b7c49c69ec7ffcdfeb8ae506fa7ab9bba95 Reviewed-on: https://chromium-review.googlesource.com/1028847Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#52822}
-
- 24 Apr, 2018 1 commit
-
-
Andreas Haas authored
WebAssembly.instantiate is polymorphic, it can either take a module object as parameter, or a buffer source which should be compiled first. To share code between the two implementations, the module object was first passed to a promise (i.e. which is the result of compilation). However, passing the module object to a promise has a side effect if the module object has a then function. To avoid this side effect I remove this code sharing and call AsyncInstantiate directly in case the parameter is a module object. R=mstarzinger@chromium.org Bug: chromium:836141 Change-Id: I67b76d0d7761c5aeb2cf1deda45b6842e494eed4 Reviewed-on: https://chromium-review.googlesource.com/1025774Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52755}
-
- 16 Apr, 2018 1 commit
-
-
Ben L. Titzer authored
Now that tables and stack frames properly root instances, there is no longer any need to disallow mutations that could unroot instances while their code is on the stack. Bug: v8:7232 Change-Id: I907b9522ac12ad7a67fb4124774713b6b3b40bb7 Reviewed-on: https://chromium-review.googlesource.com/1007004 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52629}
-
- 09 Apr, 2018 2 commits
-
-
Ben Smith authored
See https://webassembly.github.io/mutable-global/js-api/index.html#globals for the current spec. Bug: v8:7625 Change-Id: I70f567a9a0c6fc44c04c245ff496386941a699a9 Reviewed-on: https://chromium-review.googlesource.com/999168 Commit-Queue: Ben Smith <binji@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52494}
-
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}
-
- 06 Apr, 2018 3 commits
-
-
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}
-
Michael Achenbach authored
This reverts commit ad221d14. Reason for revert: Layout test failures: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/22780 Original change's description: > [wasm] Always enable guard regions on 64-bit platforms > > This change makes full 8 GiB guard regions always enabled on 64-bit > platforms. > > Additionally, since all Wasm memory allocation paths have some form of > guard regions, this removes and simplifies most of the logic around > whether to enable guard regions. > > This is a reland of https://crrev.com/c/985142. > > Bug: v8:7619 > Change-Id: I8bf1f86d6f89fd0bb2144431c7628f15a6b00ba0 > Reviewed-on: https://chromium-review.googlesource.com/996466 > Reviewed-by: Brad Nelson <bradnelson@chromium.org> > Commit-Queue: Eric Holk <eholk@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52412} TBR=bradnelson@chromium.org,eholk@chromium.org Change-Id: Ic15d14c6fa69300bc0fdc036b9fee8ecf65fd397 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7619 Reviewed-on: https://chromium-review.googlesource.com/999412Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52418}
-
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. 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}
-
- 05 Apr, 2018 2 commits
-
-
Eric Holk authored
This change makes full 8 GiB guard regions always enabled on 64-bit platforms. Additionally, since all Wasm memory allocation paths have some form of guard regions, this removes and simplifies most of the logic around whether to enable guard regions. This is a reland of https://crrev.com/c/985142. Bug: v8:7619 Change-Id: I8bf1f86d6f89fd0bb2144431c7628f15a6b00ba0 Reviewed-on: https://chromium-review.googlesource.com/996466Reviewed-by:
Brad Nelson <bradnelson@chromium.org> Commit-Queue: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#52412}
-
Michael Starzinger authored
R=titzer@chromium.org Change-Id: I2de3bef1753669c7a9f653ece14f168930392180 Reviewed-on: https://chromium-review.googlesource.com/997692Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52394}
-
- 04 Apr, 2018 1 commit
-
-
Clemens Hammacher authored
We sometimes allow allocation to fail and return a null Handle in that case (e.g. for grow_memory). This refactors this code to return a MaybeHandle instead, to document that allocation might fail and to force the caller to handle this. R=mstarzinger@chromium.org Change-Id: Ia3ba65f840cfb1cf93e8dbd508a17375c19bae58 Reviewed-on: https://chromium-review.googlesource.com/995438 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52358}
-
- 03 Apr, 2018 2 commits
-
-
Ben Smith authored
This change implements the WebAssembly.Global object and constructor, but none of the accessors or functions. There is a new flag to enable this: --experimental-wasm-mut-global. Change-Id: Ifeb270d57392d7ca0900c80c0038932c96ee8b61 Reviewed-on: https://chromium-review.googlesource.com/989296 Commit-Queue: Ben Smith <binji@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52335}
-
Eric Holk authored
This reverts commit 0cd7468b. Reason for revert: Blocks v8 roll into chromium: https://crbug.com/828499 Original change's description: > [wasm] Always enable guard regions on 64-bit platforms > > This change makes full 8 GiB guard regions always enabled on 64-bit > platforms. > > Additionally, since all Wasm memory allocation paths have some form of > guard regions, this removes and simplifies most of the logic around > whether to enable guard regions. > > R=gdeepti@chromium.org > > Change-Id: Idf3fbcc11ac70ea2ee7eb88c2173d6a1410395e1 > Reviewed-on: https://chromium-review.googlesource.com/985142 > Commit-Queue: Eric Holk <eholk@chromium.org> > Reviewed-by: Brad Nelson <bradnelson@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52310} TBR=bradnelson@chromium.org,gdeepti@chromium.org,eholk@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I126b5afe283a4fe08adfa301e637d2641c29cccd Reviewed-on: https://chromium-review.googlesource.com/993160Reviewed-by:
Eric Holk <eholk@chromium.org> Commit-Queue: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#52334}
-
- 30 Mar, 2018 1 commit
-
-
Eric Holk authored
This change makes full 8 GiB guard regions always enabled on 64-bit platforms. Additionally, since all Wasm memory allocation paths have some form of guard regions, this removes and simplifies most of the logic around whether to enable guard regions. R=gdeepti@chromium.org Change-Id: Idf3fbcc11ac70ea2ee7eb88c2173d6a1410395e1 Reviewed-on: https://chromium-review.googlesource.com/985142 Commit-Queue: Eric Holk <eholk@chromium.org> Reviewed-by:
Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#52310}
-
- 16 Mar, 2018 1 commit
-
-
Camillo Bruni authored
With this CL the name of an SFI is either stored directly on the SFI itself (for uncompiled ones) or on the related ScopeInfo if present. - Combine scope_info and name field on SFI into name_or_scope_info field - Change the name of a couple of SFI accessors: name => Name, has_shared_name => HasSharedName, set_name => SetName - Add Runtime::kGetFunctionName due to more complex SFI name accessing Bug: v8:7066 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Idcce158446c9447b92d9a15125d086952c6e0824 Reviewed-on: https://chromium-review.googlesource.com/964201 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#52001}
-