- 06 Feb, 2018 21 commits
-
-
Junliang Yan authored
Port 47e272b2 Original Commit Message: This is a reland of ef06fede. Original change's description: > Reland "[builtins] Add .incbin cctest" > > This is a reland of b0128161. > > Original change's description: > > [builtins] Add .incbin cctest > > > > Just to ensure this is portable across all platforms. > > > > Credits go to https://github.com/graphitemaster/incbin, bits of the > > .incbin code were taken from there. Thanks! > > > > Reland of https://crrev.com/c/881181 > > > > Bug: v8:6666 > > Change-Id: I5c0dbf56b1c987fd88607dca69b39d65b59cdefc > > Reviewed-on: https://chromium-review.googlesource.com/895597 > > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#51042} > > Cq-Include-Trybots: luci.v8.try:v8_win64_msvc_compile_rel > Bug: v8:6666 > Change-Id: I8fc0963e28996a84ed56c2e740d895e26611abf0 > Reviewed-on: https://chromium-review.googlesource.com/897630 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51054} R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I863d01a4a7d91f9f2128e4598f417efe49c43e7b Reviewed-on: https://chromium-review.googlesource.com/902431Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#51124}
-
Deepti Gandluri authored
- Remove redundant instruction from I16x8Splat - Force F32x4Splat to use movss, as using MacroAssembler can mix SSE/AVX instructions Bug: v8:6020 Change-Id: I781c22adecf892a79b6a38c3d83fc4022f9067de Reviewed-on: https://chromium-review.googlesource.com/898429Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#51123}
-
Peter Marshall authored
This is the last piece of the TypedArray constructors that was still written in JS. Bug: v8:7102 Change-Id: I7c4dc867b09408caa4eec2873ea7185b6c61a525 Reviewed-on: https://chromium-review.googlesource.com/888751 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#51122}
-
Gabriel Charette authored
The num_tasks computation has long been based on NumberOfAvailableBackgroundThreads() We used to have one background worker per core, stealing cycles from the main thread. I fixed that @ crrev.com/534414. But now this computation is wrong and generates one less task than it should (one per worker but the main thread takes task #0 in practice). Other usage of NumberOfAvailableBackgroundThreads() in V8 seem correct already so this is the only tweak required. R=mlippautz@chromium.org Bug: chromium:808028 Change-Id: I784ed9b764017f146931547d30be4a3b180b5a2c Reviewed-on: https://chromium-review.googlesource.com/904662 Commit-Queue: Gabriel Charette <gab@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#51121}
-
Gabriel Charette authored
This merely re-uses the same ScopeId as the task. Tracing shows these as a nested layer with the same name. This is not the cleanest way to do this but it makes the trace clearer for a minimal diff. R=mlippautz@chromium.org Bug: chromium:651354 Change-Id: Ib30ec7d04a30657a63a49aba9698cacd9af950d3 Reviewed-on: https://chromium-review.googlesource.com/904164 Commit-Queue: Gabriel Charette <gab@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#51120}
-
peterwmwong authored
Removes the overhead of Zone allocating temporary space that only slightly improved performance of the overlap (less common) case. Bug: chromium:808360 Change-Id: Ic92f20f15decb12b916ee23267debd9adc785ee0 Reviewed-on: https://chromium-review.googlesource.com/904462Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#51119}
-
Pierre Langlois authored
The perf jit support assumes that if a code object has source position entries, then it has a source file associated with them. However, the WasmToJS wrapper stubs are exceptions to this rule which causes a crash when using `--perf-prof` with asm.js or WASM code. Change-Id: I047e229477844bf5357c8553ee50e22c089ab1c2 Reviewed-on: https://chromium-review.googlesource.com/897643Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#51118}
-
Yang Guo authored
Break points are cleared to empty fixed array, not undefined. R=jgruber@chromium.org Change-Id: Id8dcd08ed0aebc5c4f7745982cde48d562af9772 Reviewed-on: https://chromium-review.googlesource.com/904202Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#51117}
-
Benedikt Meurer authored
Add a fast-path to Promise#finally, which skips the "then" lookup of the Promise#then lookup chain is intact, similar to what we already do for Promise#catch. Drive-by-fix: Also use the @@species protector to speed up the lookup of the SpeciesConstructor in Promise#finally. Bug: v8:7253 Change-Id: If77e779a0188904effc4528beffc8f0bdd7c2efe Reviewed-on: https://chromium-review.googlesource.com/902283Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51116}
-
Benedikt Meurer authored
Blink get's highly confused when we change the "entered or microtask context" for MicrotaskCallbacks. Bug: chromium:808911, v8:7253 Change-Id: Iee1e872b81a7cddd7138d22d10fa12aa71935dbf Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/903769Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51115}
-
Yang Guo authored
Bug: v8:6703 Change-Id: I225cd78bedf2c0c123aedd3deeb1cd6d442f7697 Reviewed-on: https://chromium-review.googlesource.com/901522Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#51114}
-
Franziska Hinkelmann authored
Use unique pointers in vectors of current and finished profiles. Change-Id: Ifb78f7d3804e9883062741fd4e4e31109965d501 Reviewed-on: https://chromium-review.googlesource.com/898984 Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#51113}
-
Georg Neis authored
Move the nexus.IsUninitialized() check into ExtractReceiverMaps so that we don't need to duplicate the bailout. Change-Id: I55bdb9baca22f25f681a7a32f4ec56d599c748c6 Reviewed-on: https://chromium-review.googlesource.com/903169Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#51112}
-
jgruber authored
The stack overflow boilerplate has been removed since the Error refactoring in 2016. These explicit stack space checks can now be removed in favor of standard Throw semantics. Change-Id: I8b02b9641ebd01e12d12b8da2454d2d04b65df3d Reviewed-on: https://chromium-review.googlesource.com/903168Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51111}
-
Ivica Bogosavljevic authored
MIPS64 requires that each allocated page is aligned to 256 MB. This is so because we use J instruction for long branches that are withing a 256 MB block of code. Change-Id: I1222842a5b8ecfacc0397a744ab464e9a747f8b7 Reviewed-on: https://chromium-review.googlesource.com/901611 Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#51110}
-
jgruber authored
It turns out that .incbin can be problematic for build systems, in that the included binary file is not detected as a build-time dependency. The alternative is .byte inclusion, which we test here. Cq-Include-Trybots: luci.v8.try:v8_win64_msvc_compile_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Bug: v8:6666 Change-Id: Ie24f4191db17c920c617987d1bee730208776b91 Reviewed-on: https://chromium-review.googlesource.com/901352 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#51109}
-
Mathias Bynens authored
The `simpleBind` function exposed by V8 Extras was initially added to work around the terrible performance of `Function.prototype.bind` at the time. Nowadays `Function.prototype.bind` is significantly faster and fully optimized by TurboFan, however, so there’s no need for the `simpleBind` helper anymore. Bug: chromium:807522 Change-Id: I1a0456e2aa34f92a3c9a0234a812b660f969d016 Reviewed-on: https://chromium-review.googlesource.com/903164Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#51108}
-
Peter Marshall authored
We want to be able to use this from other builtins as well, so move it to somewhere common. Also adds typing and cleans up the coding style to match newer CSA code a bit more. GrowableFixedArray is now a subclass of CodeStubAssembler to make things easier and cleaner. The growing strategy has also been slightly changed so that empty arrays can be produced. Change-Id: I20cbd1069d489a6875804736d3e5abab80d0f777 Reviewed-on: https://chromium-review.googlesource.com/901324Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#51107}
-
Benedikt Meurer authored
The catch prediction logic got confused when we merged the reactions and result fields of JSPromise, because for settled promises it would start to treat the result as reactions list, leading to a crash most likely or memory corruption in the worst case (only if break on uncaught exception is enabled). We can only inspect reactions when the promise is still in "pending" state. Bug: chromium:808973, v8:7253 Change-Id: I15162c96fce959a052fbc628addd9418da39327c Reviewed-on: https://chromium-review.googlesource.com/903163Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51106}
-
Clemens Hammacher authored
This adds support for the {i64.const} opcode. Since this makes i64 values show up on the wasm stack, quite some code paths need to handle them. The {CheckSupportedType} method still returns false for kWasmI64, which will be changed in a follow-up CL. That requires more changes since it unlocks more uses of i64, e.g. in loads and stores. R=titzer@chromium.org Bug: v8:6600 Change-Id: Ie012d0cd3db001f8693573fd16a3cfafe187009b Reviewed-on: https://chromium-review.googlesource.com/893319 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#51105}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/508a6cd..ac54aef Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/f115f47..2637e7e Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/f601e51..6d0f862 Rolling v8/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu/+log/c8ca296..d888fd2 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I3fa181e44ee42eeb562570b33035cde5e0d29dbe Reviewed-on: https://chromium-review.googlesource.com/902847Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#51104}
-
- 05 Feb, 2018 17 commits
-
-
Michael Starzinger authored
R=clemensh@chromium.org TEST=mjsunit/regress/wasm/regress-808012 BUG=chromium:808012 Change-Id: Ia1e4527c6c845ffd01ecf5c7fa13b8b484d6ef6e Reviewed-on: https://chromium-review.googlesource.com/899122 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51103}
-
Junliang Yan authored
R=joransiu@ca.ibm.com Change-Id: Iabba5eb2cbd941ace02951995d727196763d1aca Reviewed-on: https://chromium-review.googlesource.com/902363Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#51102}
-
Ali Ijaz Sheikh authored
Bug: v8:7407 Change-Id: Icb13921872a9e41dced3ae95ff37ddf72ae30568 Reviewed-on: https://chromium-review.googlesource.com/902009Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> Cr-Commit-Position: refs/heads/master@{#51101}
-
sreten.kovacevic authored
Previous implementation used delay slot the wrong way. Also, trampoline pools were not generated as they should. MIPS64 changed to be the same as MIPS since there is probably same problem that is masked. test=wasm-spec-tests/tests/br_table Change-Id: I94786233714a4a2f5eb86e74e02b7e7a7328bf2b Reviewed-on: https://chromium-review.googlesource.com/901883Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#51100}
-
Choongwoo Han authored
Bug: chromium:808980 Change-Id: I7a89c6e30f473821f676fd5771365103072c78f1 Reviewed-on: https://chromium-review.googlesource.com/901306Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51099}
-
Dan Elphick authored
Modify "run_perf.py --filter Array/" so that it will let match "Array" but not "ArrayLiteralSpread". Previously --filter Array/ would match nothing. Change-Id: I1f9c677e3558fc2256a71306af5fc1a8394ac698 Reviewed-on: https://chromium-review.googlesource.com/895453 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#51098}
-
kschimpf authored
Fixes float to I64 tests to not have duplicated tests. Also changes the use of macro REQUIRE to only be needed when an opcode (i.e. operation) is not supported on some architecture. Bug: v8:7226 Change-Id: I6c18602bd836469077808c0b3c93732af7c8f0d8 Reviewed-on: https://chromium-review.googlesource.com/895408 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51097}
-
Yang Guo authored
Patch by Rumeet Dhindsa <rdhindsa@google.com>. R=jkummerow@chromium.org Change-Id: Ibff1af58bbdae52c6fb24b3d98d25e52cee0b63c Reviewed-on: https://chromium-review.googlesource.com/899006 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#51096}
-
Andreas Haas authored
The test required a special runtime function, which did not work in general but only in the context of that one test. After an offline discussion we decided that what the test is testing is not worth a runtime function, since we would also see in other tests if something goes wrong. R=clemensh@chromium.org Bug: v8:7403 Change-Id: I129a189a9df299d409a4a555eae28783e47b97d1 Reviewed-on: https://chromium-review.googlesource.com/901284Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#51095}
-
Georg Neis authored
Also slightly restructure if-chain for readability. Bug: Change-Id: I1903106f412e559536bac3369610f40fa6b58680 Reviewed-on: https://chromium-review.googlesource.com/901502Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#51094}
-
jgruber authored
Bug: v8:6666 Change-Id: I8de39b6ce31b59e5a76267cb665d42f758309c2a Reviewed-on: https://chromium-review.googlesource.com/897530Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51093}
-
Pierre Langlois authored
A previous CL lowered NumberConstant nodes into IntPtrConstant nodes during simplified lowering. It inadvertently disabled an optimization in TypeArray accesses that relied on matching NumberConstant(0). Bug: chromium:806727 Change-Id: If1938af057be66dea8edc588cc048a01410ca0ad Reviewed-on: https://chromium-review.googlesource.com/897494Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#51092}
-
Franziska Hinkelmann authored
Change-Id: Ia1289985fa715ce4de66bec91675279c203afa36 Reviewed-on: https://chromium-review.googlesource.com/897811Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#51091}
-
Michael Achenbach authored
This reverts commit 8e9eba36. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20noi18n%20-%20debug/builds/18887 Original change's description: > [regexp] fix Latin1 ignore-case bug. > > R=jgruber@chromium.org > > Bug: v8:6703 > Change-Id: I6b251191cc00d9ac8db41b91b528c130d1b23fc6 > Reviewed-on: https://chromium-review.googlesource.com/897523 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51088} TBR=yangguo@chromium.org,jgruber@chromium.org Change-Id: I09138cedb2631640709ec717045247362f653cb2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6703 Reviewed-on: https://chromium-review.googlesource.com/901184Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51090}
-
Andreas Haas authored
The multi-return fuzzer was able to generate more than 256 parameters of the same type. However, the fuzzer itself could not deal with so many parameters. With this change more than 256 parameters of the same type can be handled and tested. R=clemensh@chromium.org Bug: chromium:807862 Change-Id: I6941eb0ff7e78a8feebc437624fa100adeda4e3d Reviewed-on: https://chromium-review.googlesource.com/897673Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#51089}
-
Yang Guo authored
R=jgruber@chromium.org Bug: v8:6703 Change-Id: I6b251191cc00d9ac8db41b91b528c130d1b23fc6 Reviewed-on: https://chromium-review.googlesource.com/897523 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51088}
-
jing.bao authored
Change-Id: If796c837c621053a61008793c0a51f3138047ebb Reviewed-on: https://chromium-review.googlesource.com/898568Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#51087}
-
- 04 Feb, 2018 2 commits
-
-
Michael Achenbach authored
TBR=gsathya@chromium.org Bug: v8:7404 Change-Id: I6833be4480841f2f6f487ba3992d505bdf94a45c Reviewed-on: https://chromium-review.googlesource.com/900802Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51086}
-
Benedikt Meurer authored
This adds a new isolate wide Promise#then protector, which guards the "then" lookup for all JSPromise instances whose [[Prototype]] is the initial %PromisePrototype%. Thus arbitrary mutations to the Promise.prototype (i.e. monkey-patching other methods or installing new functions) no longer sent you down the slow-path. Use this protector in Promise.prototype.catch and in Promise.resolve. Drive-by-fix: Restructure the resolve logic a bit and avoid the expensive and large SameValue check, which can be turned into a simple reference equal, as the promise in there is known to be a JSPromise anyways. Bug: v8:7253 Change-Id: If68b12c6bc6ca9c4d10552ae84854ebc3b5774f9 Reviewed-on: https://chromium-review.googlesource.com/899302 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#51085}
-