- 12 Jun, 2017 20 commits
-
-
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 16 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}
-
Toon Verwaest authored
Shape also contains the Key type. Read it through there instead. Bug: v8:6474 Also-By: cbruni@chromium.org Change-Id: Ia47f6143c671c104901a714d4151c9fe9f525b5f Reviewed-on: https://chromium-review.googlesource.com/529305Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#45818}
-
Daniel Ehrenberg authored
In some [1] cases where a lexical declaration is not allowed, ASI will cause a `let` at the end of a line to be interpreted as an identifier. A recent patch [2] to fix up the error messages from misplaced `let` usage was a little overzealous in triggering the error, throwing a SyntaxError in this edge case. This patch restores the ASI behavior, which is permitted in JSC and SpiderMonkey as well. Thanks to a test262 test from Andre Bargull for raising this issue. [1] https://tc39.github.io/ecma262/#sec-expression-statement [2] https://codereview.chromium.org/2697193007 Bug: v8:3305 Change-Id: I80ae8ad9a8a93389ff1003323f0d3f003e7a8c8e Reviewed-on: https://chromium-review.googlesource.com/529225Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Daniel Ehrenberg <littledan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45817}
-
Clemens Hammacher authored
And in one case just remove it since it is superflous. R=mstarzinger@chromium.org BUG=v8:6474 Change-Id: I60bfac75f5d65a56c7ca8d67923e9314ec703eac Reviewed-on: https://chromium-review.googlesource.com/529244Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45816}
-
Wiktor Garbacz authored
Change-Id: I2d8f4defd465b2f9838ed002add088da5b6739ef Reviewed-on: https://chromium-review.googlesource.com/528197Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#45815}
-
Toon Verwaest authored
Bug: v8:6474 Also-By: cbruni@chromium.org Change-Id: I1aefa1156b89a7f8ffafe27e58cacbfecc9a1d02 Reviewed-on: https://chromium-review.googlesource.com/528885Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#45814}
-
Ulan Degenbaev authored
This reduces confusion with GC write barrier. The word "barrier" is reserved for GC write barrier and "fence" for memory ordering fence. BUG=v8:6474 Change-Id: Ic4352f04430eaca742b72db1580ee0a42a1ffefb Reviewed-on: https://chromium-review.googlesource.com/528103Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45813}
-