- 12 Jun, 2017 26 commits
-
-
Andreas Haas authored
This CL is the first step in introducing a compilation manager for asynchronous compile jobs in WebAssembly. The compilation manager holds a list of currently active AsyncCompileJobs. With the compilation manager these compile jobs get deallocated when the isolate shuts down. Note that this CL is not enough to provide a graceful isolate shutdown. For this we have to wait for all compilation tasks to finish before we shut down, and we have to make the tasks stateless. I plan to do these changes in separate CLs. R=clemensh@chromium.org, mtrofin@chromium.org BUG=v8:6436 Change-Id: I9a6e165dd2ef6d33944ca303fed49f7940eea7a2 Reviewed-on: https://chromium-review.googlesource.com/528079Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#45858}
-
Clemens Hammacher authored
We were emitting the table index once in the element section instead of once per element segment. This did not cause failures because we never had more than one element segment. This CL fixes this, and adds a test for more than one segment. R=rossberg@chromium.org Change-Id: I13923baf3dae383c72760286e24242d0ad55c4db Reviewed-on: https://chromium-review.googlesource.com/527155Reviewed-by: Andreas Rossberg <rossberg@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45857}
-
Ulan Degenbaev authored
BUG=chromium:694255 Change-Id: I5dc1efff984c4e358313960fc4c1598e3a3ff313 Reviewed-on: https://chromium-review.googlesource.com/528105Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45856}
-
Ulan Degenbaev authored
BUG=chromium:694255 Change-Id: Ibfffc68a513511866dc4eebcf0728e51feb1a7fd Reviewed-on: https://chromium-review.googlesource.com/530746Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45855}
-
Ulan Degenbaev authored
BUG=v8:6474 Change-Id: I820ed47f18a41a1e281a78f1754f483a81627de8 Reviewed-on: https://chromium-review.googlesource.com/528104Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45854}
-
Marja Hölttä authored
BUG=v8:5402,v8:6474 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: Id38249fe9dc88001218aa1faa1b31c9d2f9703d1 Reviewed-on: https://chromium-review.googlesource.com/528102 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45853}
-
Clemens Hammacher authored
This is a testing-only function, which is semantically equivalent to a SyncCompile followed by SyncInstantiate. We add a new SyncCompileAndInstantiate function to do those two steps in one go, and use this method instead. For AsmJs modules, a new testing function CompileAndRunAsmWasmModule is introduced. This is part of our effort to reduce the number of special paths for testing. It is connected with https://chromium-review.googlesource.com/529210, but should not conflict with it. After landing both CLs, we can later also get rid of InstantiateModuleForTesting. R=ahaas@chromium.org, mtrofin@chromium.org BUG=v8:6474 Change-Id: I7891e968370d5eb68803076ce2639c65a2799dcc Reviewed-on: https://chromium-review.googlesource.com/529844Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45852}
-
Andreas Haas authored
This CL removes unnecessary code duplication in the fuzzer code. Instead of having special testing functions to compile and instantiate a WebAssembly module, we now just call SyncCompile and SyncInstantiate. This also fixed a problem when the fuzzer generated a GrowMemory instruction. BUG=v8:6474 R=clemensh@chromium.org Change-Id: I5f2f23349b5866ea67be20a0826271791e1a013e Reviewed-on: https://chromium-review.googlesource.com/529210 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45851}
-
hpayer authored
BUG=chromium:716032 Review-Url: https://codereview.chromium.org/2919023003 Cr-Commit-Position: refs/heads/master@{#45850}
-
Michael Starzinger authored
This adds support for materializing objects of {JSGeneratorObject} type during deoptimization. Cases where soft-deopts remove any escaping use of the implicit generator object can cause it to be escape analyzed. R=jarin@chromium.org TEST=mjsunit/regress/regress-crbug-732169 BUG=chromium:732169 Change-Id: I2ec10b2a509a4f37a456a8ca2fd74b8de2fb55be Reviewed-on: https://chromium-review.googlesource.com/530847Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45849}
-
Michael Achenbach authored
Explicitly set argument for use_cfi_recover introduced in: https://codereview.chromium.org/2920963002 This retains the behavior we had in GYP: Print useful diagnostics, but crash to make the errors show up. Also set use_cfi_cast=true. In gyp we've set this by default: -fsanitize=cfi-derived-cast -fsanitize=cfi-unrelated-cast In GN it now lives behind the use_cfi_cast flag. NOTRY=true TBR=vogelheim@chromium.org Bug: chromium:726584 Change-Id: If202bc42fff3d5ff398576a114af7a7c3fb3fd2b Reviewed-on: https://chromium-review.googlesource.com/528175Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#45848}
-
Michael Starzinger authored
This removes support for disabling TurboFan by default via the build time {v8_disable_turbo} flag. We no longer need to be able to build binaries with TurboFan disabled. R=machenbach@chromium.org BUG=v8:6408 Change-Id: I4062914c2bf823ab42250595ad67d1dc8da3f1d3 Reviewed-on: https://chromium-review.googlesource.com/528138Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45847}
-
Clemens Hammacher authored
* add functionality to wasm-module-builder.js to emit the module name in the name section. * extend WasmModule to store the module name length and offset. * add functionality to module-decoder.cc to decode the module name. * use the module name for printing stack traces. more uses should follow. * extend one message test to contain a module name. R=ahaas@chromium.org Change-Id: I94e6f1f2eb99cb656a92a85bb7afe0742292046f Reviewed-on: https://chromium-review.googlesource.com/530366Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45846}
-
Georg Neis authored
Leftover from https://chromium-review.googlesource.com/522664. TBR=jgruber@chromium.org Bug: Change-Id: Ifb37d235bc1be83b310a821514c61e901b594540 Reviewed-on: https://chromium-review.googlesource.com/530787 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#45845}
-
Igor Sheludko authored
Don't use byte-width instructions when accessing |compiler_hints| field (only FunctionKind bit field accesses are yet to be fixed). This CL eases adding new bit fields to the compiler hints field. Bug: v8:6470 Change-Id: Ibc2dfb42c0bf0df49fcb9e37c10fda789db4c3c8 Reviewed-on: https://chromium-review.googlesource.com/528120Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#45844}
-
hpayer authored
This reverts commit 195eab46. BUG=chromium:626082, chromium:728228 Review-Url: https://codereview.chromium.org/2931393002 Cr-Commit-Position: refs/heads/master@{#45843}
-
Toon Verwaest authored
Only the CompilationCache doesn't actually specialize the table to the point where it knows how to hash stored keys. This moves the virtual HashForObject down from HashTableKey to CompilationCacheKey, and moves previous virtual implementations to the respective shapes. Bug: v8:6474 Change-Id: I0a1ae26a224d602d16692d2b09c96a2ab193f07f Reviewed-on: https://chromium-review.googlesource.com/529110Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#45842}
-
Jochen Eisinger authored
TBR=mvstanton@chromium.org Change-Id: I1f348a050c321968cb20c783ebe4b55f6beed27c Reviewed-on: https://chromium-review.googlesource.com/530826Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#45841}
-
Clemens Hammacher authored
This allows us to just call this method without returning dummy {nullptr} values or even calling {graph()->NewNode()} afterwards. R=ahaas@chromium.org BUG=v8:6474 Change-Id: I6c03eb639dfb635ce791e7d3a731d9dfdf7800a8 Reviewed-on: https://chromium-review.googlesource.com/529308 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#45840}
-
Jakob Gruber authored
Callables for TF builtins are autogenerated and accessible through Builtins::CallableFor. This removes the manually written accessors from CodeFactory. Bug: v8:6474,v8:5737 Change-Id: I9d8dec97995471c1bb258147220c190bf72e5de8 Reviewed-on: https://chromium-review.googlesource.com/530745Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#45839}
-
Clemens Hammacher authored
For more static type safety: Avoid passing wasm objects as Object and casting them before use. Use the correct type right away. R=ahaas@chromium.org BUG=v8:6474 Change-Id: Id0c486560115dd1a7bd9b6a12d2fb938e06520ef Reviewed-on: https://chromium-review.googlesource.com/530744Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45838}
-
Clemens Hammacher authored
The respective code was removed in May 2015: c5eb9573 R=jochen@chromium.org BUG=v8:6474 NOTRY=true Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I21be194e16b0a10613d62bc38fa10faee082da41 Reviewed-on: https://chromium-review.googlesource.com/530685Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45837}
-
Clemens Hammacher authored
Variadic template FTW! R=mstarzinger@chromium.org BUG=v8:6474 Change-Id: I0585e25e861e8a2fcd29501872edd6b0dd494302 Reviewed-on: https://chromium-review.googlesource.com/529188Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45836}
-
bmeurer authored
The instanceof cache was initially introduced to speed up x instanceof y where y is always the same constructor and x is always an object with the same map. With the introduction of ES2015's @@hasInstance and the Function.prototype[Symbol.hasInstance] handler (which calls into OrdinaryHasInstance), this already became quite useless. It doesn't seem to provide any real value (not sure it ever did for real), but it's getting in the way of some useful refactorings (i.e. sharing logic between OrdinaryHasInstance and Object.prototype.isPrototypeOf for example). So this CL completely removes the leftover bits of the instanceof cache, including the GC and SetPrototype logic. BUG=v8:6479,v8:6474 R=jgruber@chromium.org TBR=ulan@chromium.org Review-Url: https://codereview.chromium.org/2932263002 Cr-Commit-Position: refs/heads/master@{#45835}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/b8ed7ac..bb21bc0 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: Ice2dcc25e1903c22c6e802048798ac02569808c5 Reviewed-on: https://chromium-review.googlesource.com/530765Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#45834}
-
jing.bao authored
Add vpinsrd, vpextrd, vmovd. Supplement pshufd and add vpshufd. Add Movd and Pshufd macro. Add AVX support to Pextrd. Fix disassembler to recognize "pinsrd/pextrd xmm,[mem],imm8". BUG= Review-Url: https://codereview.chromium.org/2916093002 Cr-Commit-Position: refs/heads/master@{#45833}
-
- 11 Jun, 2017 3 commits
-
-
scottmg authored
Follows https://codereview.chromium.org/2931143002/. Sufficient to link d8 with target_os="fuchsia" in Chrome. No implementations of platform functions yet, just stubs. BUG=chromium:731217 Review-Url: https://codereview.chromium.org/2932053004 Cr-Commit-Position: refs/heads/master@{#45832}
-
scottmg authored
Sufficient to compile //v8 in Chrome with target_os="fuchsia". Doesn't link yet, due to missing implementations (primarily VirtualMemory, as well as a few utility functions). BUG=chromium:731217 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng Review-Url: https://codereview.chromium.org/2931143002 Cr-Commit-Position: refs/heads/master@{#45831}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/7e9e29e..b8ed7ac TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: Ibacdf4134dbdf2f943f3008d45d903fdc1266a62 Reviewed-on: https://chromium-review.googlesource.com/530704Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#45830}
-
- 10 Jun, 2017 1 commit
-
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/41581bc..7e9e29e Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/31d4daa..b53a03d Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/32bdd96..36e1cda Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/7474c16..fbd95a5 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: Idebff46b3228c7fdd16e4cc9c47dbe9de7f1bfa8 Reviewed-on: https://chromium-review.googlesource.com/530286Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#45829}
-
- 09 Jun, 2017 10 commits
-
-
bjaideep authored
Minor fix to original CL https://chromium-review.googlesource.com/527156 adding the cmp instr to set the condition code for 32bit. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2934553002 Cr-Commit-Position: refs/heads/master@{#45828}
-
Igor Sheludko authored
It was too early to remove SharedFunctionInfo::kCompilerHintsSize. TBR=jkummerow@chromium.org Bug: v8:6470 Change-Id: I6d4ff1399155ebb587896cc2b1f117df14bea082 Reviewed-on: https://chromium-review.googlesource.com/529130 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#45827}
-
bjaideep authored
Port af76779a Original Commit Message: This splits the monolithic Apply builtin into several smaller builtins, namely CallVargargs and ConstructVarargs, which accept a length and a FixedArray of elements and deal with the actual stack manipulation, and CallWithArrayLike / ConstructWithArrayLike that deal with getting the elements from the receiver (for Function.prototype.apply, Reflect.apply and Reflect.construct), which can now be written using the CSA. The idea is that these builtins can be reused by TurboFan directly in the future when we optimize apply better, and that we can also reuse the core logic in the handling of spread calls/constructs. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:4587,v8:5269 LOG=N Review-Url: https://codereview.chromium.org/2932833002 Cr-Commit-Position: refs/heads/master@{#45826}
-
Igor Sheludko authored
Define compiler hints bits as bit fields but not as enum. This eases adding new bit fields to the compiler hints field. TBR=marja@chromium.org Bug: v8:6470 Change-Id: Ia023bab25b925847924c45d5a57f85a14c8f1971 Reviewed-on: https://chromium-review.googlesource.com/529044 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#45825}
-
Clemens Hammacher authored
This CL removes most occurences of "WASM" from outputs and comments in the code. They are replaced either by "WebAssembly" or (especially in comments) "wasm". These are the spellings officially proposed on http://webassembly.org/. R=ahaas@chromium.org BUG=v8:6474 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Id39fa5e25591678263745a4eab266db546e65983 Reviewed-on: https://chromium-review.googlesource.com/529085Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-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@{#45824}
-
Jakob Kummerow authored
BUG=v8:6474 Change-Id: Ic2548b5d80d3208271d34080c3d06acd1078fe75 Reviewed-on: https://chromium-review.googlesource.com/528106Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#45823}
-
Clemens Hammacher authored
Introduce base::make_unique as a replacement for std::make_unique, introduced in C++14. Use it in the wasm code base to construct new objects and wrap them in a unique_ptr, making the code more compact and readable. R=ahaas@chromium.org BUG=v8:6474 Change-Id: I2b9c800edc456021b057f1e69d3c144889b1c9f4 Reviewed-on: https://chromium-review.googlesource.com/529167Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45822}
-
Ross McIlroy authored
Add kInternalizedNonEmptySeqString and make kInternalizedString = kEmptyString | kInternalizedNonEmptySeqString. BUG=chromium:731495 Change-Id: I60a6f37242423407ad97188b3f4bd48ae6989ad2 Reviewed-on: https://chromium-review.googlesource.com/528275Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#45821}
-
Clemens Hammacher authored
This CL changes the printed wasm locations to use the spec'ed format (see https://github.com/WebAssembly/design/blob/master/Web.md#developer-facing-display-conventions). Before: <WASM[<id>]+<offset> After: wasm-function[<id>]:<offset> R=ahaas@chromium.org Change-Id: If8018012b518143d6353f5a1f5319764ee46f148 Reviewed-on: https://chromium-review.googlesource.com/529104Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45820}
-
Michael Starzinger authored
R=cbruni@chromium.org BUG=v8:6474 Change-Id: I84be45bab041082cc66b5fdd70a9e799a44facee Reviewed-on: https://chromium-review.googlesource.com/529207Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45819}
-