- 29 Sep, 2017 1 commit
-
-
Ross McIlroy authored
Removes script() from CompilationInfo since it might not be created when compiling from a background thread. BUG=v8:5203 Change-Id: Ic36fd04cf4792336707b2d3715d47c59b6a97faf Reviewed-on: https://chromium-review.googlesource.com/690299Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#48220}
-
- 28 Sep, 2017 2 commits
-
-
Ben L. Titzer authored
Note that this also makes it possible to move several classes into the module-compiler.cc file and inline their implementations. This also allows removing several uses of wasm-module.h from other places in V8 that include wasm-objects.h. R=yangguo@chromium.org,clemensh@chromium.org,ahaas@chromium.org Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I303ee2bb49dc53c951d377a1b65699c1e0e91da7 Reviewed-on: https://chromium-review.googlesource.com/687494Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48204}
-
Peter Marshall authored
ZoneList still used List as a base class, so this CL merges the two classes together. We also remove unused functions in List and ZoneList. We keep the inline header but move it to src/zone/zone-list-inl.h. The includes that use this header are still quite tangled, but we can fix that later. Bug: v8:6333 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: Ia809813834b2328ff616623f8a843812a1eb42a7 Reviewed-on: https://chromium-review.googlesource.com/681658 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48200}
-
- 27 Sep, 2017 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: I03fb9ae37a7950fdb8a819383b114dfc2c13d618 Reviewed-on: https://chromium-review.googlesource.com/686914Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48180}
-
- 26 Sep, 2017 1 commit
-
-
Michael Starzinger authored
This fixes the signature of "Math.abs" from "(signed) -> signed" to "(signed) -> unsigned" and hence fixes cases where the absolute value would overflow the range of signed 32-bit values. This is in sync with spec erratas (and ECMAScript semantics). Note that this also switches the underlying implementation of the above absolute value function to a branch-free version. R=clemensh@chromium.org TEST=mjsunit/regress/regress-6838-3 BUG=v8:6838 Change-Id: Ib13b7ecd336ae386cbde7c574e727bf52f841e00 Reviewed-on: https://chromium-review.googlesource.com/684181 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48169}
-
- 25 Sep, 2017 2 commits
-
-
Michael Starzinger authored
This fixes the signatures of "Math.ceil", "Math.floor" and "Math.sqrt" from "(float?) -> float" to "(float?) -> floatish" which avoids using a resulting float value without coercing the value via explicit "fround" annotations. This ensures proper ECMAScript semantics are maintained. R=clemensh@chromium.org TEST=mjsunit/regress/regress-6838-2 BUG=v8:6838 Change-Id: Ib5821641265bc862184adb270e8dbf8c703fdfb0 Reviewed-on: https://chromium-review.googlesource.com/681694Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48142}
-
Michael Starzinger authored
This fixes the signature of "Math.min" and "Math.max" for integer values from "(int, int...) -> signed" to "(signed, signed..) -> signed" which properly distinguishes signed from unsigned values now. This is in sync with the spec errata (and ECMAScript semantics). R=clemensh@chromium.org TEST=mjsunit/regress/regress-6838-1 BUG=v8:6838 Change-Id: Id72836513dd86e93472a22cf1ac2e2d382ed4f23 Reviewed-on: https://chromium-review.googlesource.com/681357 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48139}
-
- 15 Sep, 2017 1 commit
-
-
Andreas Haas authored
In this CL I implement streaming compilation for WebAssembly, as described in the design doc I have sent out already. In this implementation the decoding of sections other than the code section is done immediately on the foreground thread. Eventually all decoding should happen in the background. I think it is acceptable to do the decoding on the foreground thread for now because I have finished it already, and decoding in the background would add even more complexity to this CL. Bug:v8:6785 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I285e1e5e1a5a243113c92571b25ee9bae551d0ed Reviewed-on: https://chromium-review.googlesource.com/631721Reviewed-by:
Mircea Trofin <mtrofin@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#48022}
-
- 13 Sep, 2017 1 commit
-
-
Mostyn Bramley-Moore authored
* Inline src/runtime/runtime-typedarray.cc's TypedArrayCopyElements to avoid clash with src/builtins/builtins-typedarray.cc * #undef V after its last use in src/asmjs/asm-scanner.cc * Convince clang that it's ok that frame_content_ is never used in src/deoptimizer.h Bug: chromium:746958 Change-Id: Ibef589b66384d982a8463c3f05b9db9c4fd92ce0 Reviewed-on: https://chromium-review.googlesource.com/663858Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Cr-Commit-Position: refs/heads/master@{#47986}
-
- 07 Sep, 2017 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: If0b4aed4e5770702b36e3e1a34189a1b18a9cf17 Reviewed-on: https://chromium-review.googlesource.com/631837Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47882}
-
- 06 Sep, 2017 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org TEST=mjsunit/regress/regress-crbug-762472 BUG=chromium:762472 Change-Id: I8977fb9c9330f03641291b08cf803d0117b7a96a Reviewed-on: https://chromium-review.googlesource.com/652478Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47852}
-
- 31 Aug, 2017 1 commit
-
-
Michael Lippautz authored
heap-inl.h exposes the whole world, which is fine from other inline files but not from regular headers. Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I09ec67c6558682cb0d5181031bc39341a3f4c5bf Reviewed-on: https://chromium-review.googlesource.com/643294Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47729}
-
- 28 Aug, 2017 1 commit
-
-
Michael Starzinger authored
This makes sure the minimum memory size for WebAssembly modules derived from asm.js is set to zero. It allows instatiation without allocating an underlying memory, when such memory is unused. It also fixes a bug in patching of embedded memory sizes for asm.js modules. R=ahaas@chromium.org TEST=mjsunit/regress/regress-crbug-759327 BUG=chromium:759327 Change-Id: If5a965b96a03cbb5ba15bc41fbaf359f74961f41 Reviewed-on: https://chromium-review.googlesource.com/637912 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#47646}
-
- 25 Aug, 2017 2 commits
-
-
Michael Starzinger authored
This makes sure instantiate of asm.js modules fails gracefully on heap buffers exceeding the uint32_t range supported by WebAssembly. R=clemensh@chromium.org TEST=mjsunit/regress/regress-crbug-754175 BUG=chromium:754175 Change-Id: I4a9c6791beaab6da826b5b6b5a495f97e9d3b4e9 Reviewed-on: https://chromium-review.googlesource.com/632618Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47598}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: I5bdb91d2e82105bb301c2b97abfb1b074b710a64 Reviewed-on: https://chromium-review.googlesource.com/632680Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47597}
-
- 23 Aug, 2017 1 commit
-
-
Brad Nelson authored
BUG= R=ahaas@chromium.org,mstarzinger@chromium.org Change-Id: Ida7ac441722d778946b7ac92e8f6c7fe5ea15cdc Reviewed-on: https://chromium-review.googlesource.com/628821 Commit-Queue: Brad Nelson <bradnelson@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47557}
-
- 22 Aug, 2017 2 commits
-
-
Ross McIlroy authored
Instead of creating a new character stream to re-parse the asm.js module, use the existing stream which was used by the parser. By doing this, we avoid accessing the heap if the original character stream is a streaming source or an external string, which will enable asm.js verification to run off-thread in those situations. BUG=v8:5203 Change-Id: I5dbf83c993512eb2f3dd709120e152e3f9900bdf Reviewed-on: https://chromium-review.googlesource.com/616723Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47500}
-
Michael Starzinger authored
This makes sure that shift expressions (not wrapped in parentheses) can appear as part of the index in a valid heap access expression. Only the last operand of a sequence of shift expressions is taken into account when validating the heap access. R=jarin@chromium.org TEST=mjsunit/regress/regress-6700 BUG=v8:6700,chromium:754751 Change-Id: Icc7a71bd64461da4d3daea41b995964e3dfc6dc6 Reviewed-on: https://chromium-review.googlesource.com/623811 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#47497}
-
- 14 Aug, 2017 1 commit
-
-
Ross McIlroy authored
Splits CompileUnoptimizedCode into a non-main thread GenerateUnoptimizedCode and a main thread FinalizeUnoptimizedCode phase. Adds Disallow<HeapAccess> scopes in CompileUnoptimizedCode to ensure no access to the heap during this phase. Also cleans up a few heap accesses in CompilationInfo's constructor to avoid violating the disallowed heap access. Currently we reallow heap access during asm.js compilation as a temporary measure until the script streamer uses an off-heap script buffer. BUG=v8:5203 TBR=titzer@chromium.org Change-Id: I7f6140f19938a10a85f1cd89501812dd59dbf6d4 Reviewed-on: https://chromium-review.googlesource.com/605949 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47337}
-
- 09 Aug, 2017 1 commit
-
-
Mostyn Bramley-Moore authored
To speed up compilation times, jumbo allows files to be compiled together. This is a well known method ("unity builds") to both compile faster and create a poor man's "full program optimization". We are only interested in compile times. Background: https://chromium.googlesource.com/chromium/src/+/master/docs/jumbo.md Note that jumbo builds are not enabled by default. To try this out, add use_jumbo_build=true to your GN args. BUG=chromium:746958 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ieb9fdccb6c135e9806dbed91c09a29aa8b8bee11 Reviewed-on: https://chromium-review.googlesource.com/579090 Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#47239}
-
- 07 Aug, 2017 2 commits
-
-
Ross McIlroy authored
Refactors CompileUnoptimizedCode to do all the finalization for both inner and the outermost function after having prepared and executed their compile jobs. This will enable the function to be split into an off-thread phase and a finalization main thread phase. BUG=v8:5203 Change-Id: I400933c27b7aa52f9a7318b721adecfc94c80981 Reviewed-on: https://chromium-review.googlesource.com/602236 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47199}
-
Ross McIlroy authored
Moves creation of the CompilationInfo for unoptimized compilation into the respective CompilationJobs for Igntition, Fullcode and asm.js. This unifies the behaviour with respect to the optimized compilation jobs, and enables the CompileInfo to be owned by the CompilationJob. As part of this change, we no longer build new dummy ParseInfos for eager inner functions, instead using just the single outer ParseInfo created during the actual parsing. BUG=v8:5203 Change-Id: I6813758dfc5eeff44f5a40bf621184e330593bf9 Reviewed-on: https://chromium-review.googlesource.com/601990 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47198}
-
- 03 Aug, 2017 1 commit
-
-
Ross McIlroy authored
Don't hold a pointer to parse_info in compilation_info, and instead explicitly add the fields needed in compiation_info. The intention is to make ParseInfo only actually needed for parsing, and eventually make it possible to compile with only a CompileInfo. BUG=v8:5203 Change-Id: Iecd39245e44c218874401c3991eeaf3ceef2816f Reviewed-on: https://chromium-review.googlesource.com/595738Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47119}
-
- 01 Aug, 2017 1 commit
-
-
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:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47037}
-
- 31 Jul, 2017 2 commits
-
-
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:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47012}
-
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:
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}
-
- 26 Jul, 2017 1 commit
-
-
Michael Starzinger authored
This switches the {StdlibSet} to be a data structure that does not require dynamic memory allocation. This makes it easier to carry it around as part of a {CompilationJob} and serialize it into the heap. R=clemensh@chromium.org Change-Id: I77b2353cfdcd9438a26f04d00749159fed9b9b6c Reviewed-on: https://chromium-review.googlesource.com/584868 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46889}
-
- 25 Jul, 2017 1 commit
-
-
Ross McIlroy authored
Moves AsmJs compilation into an AsmJs compilation job. This enables it to be treated like other unoptimized compilations and avoids some special-casing in compiler.cc. BUG=v8:5203 Change-Id: I71ad27e3f72815b4c4074634fff0d168a9c89102 Reviewed-on: https://chromium-review.googlesource.com/581487Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46863}
-
- 13 Jul, 2017 1 commit
-
-
Clemens Hammacher authored
There is just one version now, called IsPowerOfTwo. It accepts any integral type. There is one slight semantical change: Called with kMinInt, it previously returned true, because the argument was implicitly casted to an unsigned. It's now (correctly) returning false, so I had to add special handlings of kMinInt in machine-operator-reducer before calling IsPowerOfTwo on that value. R=mlippautz@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org,ishell@chromium.org,yangguo@chromium.org Change-Id: Idc112a89034cdc8c03365b778b33b1c29fefb38d Reviewed-on: https://chromium-review.googlesource.com/568140Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46627}
-
- 10 Jul, 2017 1 commit
-
-
jgruber authored
This adds a convenience method for the common Smi to int conversion pattern. Bug: Change-Id: I7d7b171c36cfec5f6d10c60f1d9c3e06e3aed0fa Reviewed-on: https://chromium-review.googlesource.com/563205 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Andreas Rossberg <rossberg@chromium.org> Cr-Commit-Position: refs/heads/master@{#46516}
-
- 30 Jun, 2017 1 commit
-
-
Josh Wolfe authored
Includes unit tests for the post-processing step flatten_regions_to_parts(). Bug: v8:5244 TBR: bmeurer@chromium.org, rossberg@chromium.org Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I306dd1721cc00c5820b061f14c4b6866f8d938f6 Reviewed-on: https://chromium-review.googlesource.com/529973 Commit-Queue: Josh Wolfe <jwolfe@igalia.com> Reviewed-by:
Daniel Ehrenberg <littledan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46369}
-
- 09 Jun, 2017 1 commit
-
-
Clemens Hammacher authored
base::Optional is a replacement for std::optional, until we switch to C++17 and can use std::optional directly. The implementation is copied from chromium's base::Optional, but put in the {v8::base} namespace instead of just {base}. Also, the specialization of std::hash for base::Optional is omitted, since it's disallowed in the style guide. A first use in the AsmJsParser is introduced, if that one sticks, I will refactor more uses of std::unique_ptr to use base::Optional instead, avoiding the heap allocation. R=mstarzinger@chromium.org BUG=v8:6474 Change-Id: I019599d4bf9ff0105bf592dfb96d6050feba18ae Reviewed-on: https://chromium-review.googlesource.com/528884 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45810}
-
- 01 Jun, 2017 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org TEST=mjsunit/asm/regress-719866 BUG=chromium:719866 Change-Id: I6cc9f222769aa036275654286c9c6271ef2d1334 Reviewed-on: https://chromium-review.googlesource.com/520945Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45660}
-
- 31 May, 2017 1 commit
-
-
Michael Starzinger authored
This removes any kind of heap access from the asm.js validator internals and hence makes it independent of a specific Isolate. It is a precursor towards potentially being able to run validation while streaming. R=clemensh@chromium.org Change-Id: Ia3770bf03bb973b56de897b27be60d7e050af2c4 Reviewed-on: https://chromium-review.googlesource.com/518188 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45628}
-
- 30 May, 2017 1 commit
-
-
Clemens Hammacher authored
This CL replaces the last usages of std::vector in the AsmJsParser by ZoneVector. This allows to also measure the memory consumption of these vectors, since it is now contained in the zone memory. ZoneVectors are reused to avoid accumulating lots of unused memory. This also saves 2.6% performance (avg over 1000 runs) on my local workstation. R=mstarzinger@chromium.org Change-Id: I04c96db558d9c362b1494ddd9e975edf2783403c Reviewed-on: https://chromium-review.googlesource.com/516985Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45591}
-
- 23 May, 2017 1 commit
-
-
Michael Starzinger authored
This makes sure that property lookups on the provided imports object are non-observable to JavaScript. It allows instantiation failures to fall back to JavaScript proper without accidentally calling accessors twice. Also accessors might invalidate previous checks done during linking or throw exceptions. R=clemensh@chromium.org TEST=mjsunit/regress/regress-crbug-719384 BUG=chromium:719384 Change-Id: I3db2672d2a496110f705d02b82878e70cd5d701f Reviewed-on: https://chromium-review.googlesource.com/509552Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45481}
-
- 22 May, 2017 3 commits
-
-
Wiktor Garbacz authored
Change-Id: I20ed35a7fb5104a9cc66bb54fa8966589c43d7f9 Reviewed-on: https://chromium-review.googlesource.com/507287Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Daniel Clifford <danno@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Jochen Eisinger <jochen@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#45458}
-
Michael Starzinger authored
This makes sure that function imports without a single call site within the asm.js module are still preserved in the WebAssembly module, hence preserving intended JavaScript semantics during module instantiation. R=clemensh@chromium.org TEST=mjsunit/regress/regress-crbug-722348 BUG=chromium:722348 Change-Id: I624d0e52b32b864c1e3002187a99a0a63834a4b0 Reviewed-on: https://chromium-review.googlesource.com/509450Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45452}
-
Jochen Eisinger authored
R=danno@chromium.org CC=sshruthi@chromium.org TBR=verwaest@chromium.org,bmeurer@chromium.org,yangguo@chromium.org,rossberg@chromium.org Change-Id: I32e09193fa6e847ac3336eab62b6d85c46d71164 Reviewed-on: https://chromium-review.googlesource.com/509508 Commit-Queue: Jochen Eisinger <jochen@chromium.org> Reviewed-by:
Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#45447}
-
- 19 May, 2017 1 commit
-
-
Michael Starzinger authored
This fixes crashes during validation when trying to construct modules with excessively large function tables. The {WasmModuleBuilder} now gracefully checks against existing WebAssembly implementation limits. R=clemensh@chromium.org TEST=mjsunit/regress/regress-crbug-715455 BUG=chromium:715455 Change-Id: Ia9738cb0b49a1eb4caf073b75301c0303f295699 Reviewed-on: https://chromium-review.googlesource.com/509530 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45429}
-