- 02 Feb, 2018 24 commits
-
-
Ulan Degenbaev authored
It was accidentally added to debug-only flags. Change-Id: I329d23da5dc31186c27d43eedb021202d2694216 Reviewed-on: https://chromium-review.googlesource.com/899009Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#51072}
-
Benedikt Meurer authored
This creates a uniform PerformPromiseThen builtin, which performs the operation with the same name from the spec, except that it expects the handlers to be either undefined or callable already, since this is only relevant for a single callsite (namely Promise.prototype.then). Introduce a matching operator JSPerformPromiseThen into TurboFan, which represents this operation and removes the additional checks in case of Promise.prototype.then based on the information we can derived from the receiver maps. This yields a nice 20-25% improvement on Promise.prototype.then, as illustrated by the following micro-benchmark ```js const N = 1e7; function inc(x) { return x + 1; } function chain(promise) { return promise.then(inc).then(value => { if (value < N) chain(Promise.resolve(value)); }); } console.time('total'); chain(Promise.resolve(0)); setTimeout(console.timeEnd.bind(console, 'total')); ``` which goes from around 1230ms to 930ms with this patch. Bug: v8:7253 Change-Id: I5712a863acdbe7da3bb8e621887c7b952148c51a Reviewed-on: https://chromium-review.googlesource.com/899064Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51071}
-
Michael Achenbach authored
TBR=sergiyb@chromium.org NOTRY=true Bug: v8:6917 Change-Id: Ie585754c84f42cd864ab3b161a1ae27f7c2d2ab5 Reviewed-on: https://chromium-review.googlesource.com/899303Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51070}
-
Michael Achenbach authored
All tests are sensitive to internal state, which is incompatible with GC fuzzing. TBR=ulan@chromium.org NOTRY=true Bug: v8:7360 Change-Id: I4b28f40e099b7395e39725aaf6e9e199939ebd9f Reviewed-on: https://chromium-review.googlesource.com/899087 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51069}
-
Franziska Hinkelmann authored
Change-Id: Ibda6dc025e9a1584480154fba63ecf3c7b51394b Reviewed-on: https://chromium-review.googlesource.com/897765Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#51068}
-
Leszek Swirski authored
Record the various types of feedback vector slot separately, to estimate the relative impact of e.g. load ICs vs call ICs. Also, log the unused (i.e. uninitialized or premonomorphic) ones separately. Bug: v8:7266 Change-Id: Ie035cf48969e39f7156dfe523fd9218749b95cfe Reviewed-on: https://chromium-review.googlesource.com/897813 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#51067}
-
Michael Achenbach authored
Load mjsunit.js inside the realm as otherwise the functions are not available in the realm's scope. This also prints timestamps after each test to easier track down slow tests. We also pass --omit-quit to not stop too early. This also adds the ability to skip certain tests for endurance fuzzing and skips some tests with known problems. TBR=ulan@chromium.org,hpayer@chromium.org Bug: v8:6972, v8:7400 Change-Id: I44464c28bfb10c84f2e59972e7b86945a47ca3b3 Reviewed-on: https://chromium-review.googlesource.com/899008Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51066}
-
Bill Budge authored
- Adds a DCHECK to AllocatePages to enforce hint address alignment. - Adds a DCHECK to AllocatePages to make length a multiple of allocation granularity. - Properly aligns the hint address in MemoryAllocator::AllocateChunk to MemoryChunk::kAlignment. This is to conform more closely to Chromium's page allocator API. Bug:chromium:756050 Change-Id: Ib991fa80609834107829a9559f4b5b6b0996fc72 Reviewed-on: https://chromium-review.googlesource.com/898095Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#51065}
-
Bill Budge authored
- Adds a DCHECK to FreePages that size is a multiple of allocation granularity. - Makes VirtualMemory::Free conform to this. This is to conform more closely to Chromium's page allocator API. Bug:chromium:756050 Change-Id: I673e1c225b8bd1009775de1597b575120bd06f8e Reviewed-on: https://chromium-review.googlesource.com/898008Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#51064}
-
Michael Starzinger authored
This makes sure that {JSFunction} invocations always load the code start address into the fixed {kJavaScriptCallCodeStartRegister} register. This allows us to perform PC-relative operations more effective. For now this only applies to code with {kCallJSFunction} linkage. R=jarin@chromium.org Change-Id: I16a32184c07f5e90b05114dff7530acf46c175f1 Reviewed-on: https://chromium-review.googlesource.com/888700 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#51063}
-
Tobias Tebbi authored
Bug: chromium:798964 Change-Id: Ia34e901ed04daae62e6ec82c972225fb5de68419 Reviewed-on: https://chromium-review.googlesource.com/892443 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#51062}
-
Pierre Langlois authored
Replace hard-coded uses of `kScratchDoubleReg`, `kScratchDoubleReg2` and `kScratchQuadReg` with the safer `UseScratchRegisterScope`. The reason for doing this is to be able to safely use these scratch registers inside the assembler without having to worry about the code generator using them too. For instance, using this scope showed us that `TryInlineTruncateDoubleToI` is using a FP scratch register while the caller, the `DoubleToI` stub, is using it too. We are safe only because the stub passes the scratch register to `TryInlineTruncateDoubleToI` as an input. Using the scope forces us to explicitely use the input register instead of acquiring a new scratch. Bug: v8:6553 Change-Id: I84c53cd851d31ea33b0e3ef398d7a858b7e3e3c4 Reviewed-on: https://chromium-review.googlesource.com/895460Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#51061}
-
Michael Achenbach authored
This reverts commit ef06fede. Reason for revert: path problems when building cctest in chromium: https://build.chromium.org/p/client.v8.fyi/builders/Linux%20Snapshot%20Builder/builds/10415 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} TBR=machenbach@chromium.org,jgruber@chromium.org Change-Id: I312f427ab3bc9750af17cd08ef3f1f39077a01a1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6666 Cq-Include-Trybots: luci.v8.try:v8_win64_msvc_compile_rel Reviewed-on: https://chromium-review.googlesource.com/897764Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51060}
-
Clemens Hammacher authored
Especially "invalid function" and "invalid type" could contain much more information. Drive-by: Remove unused WasmTrapInvalidIndex. R=ahaas@chromium.org Change-Id: I7fd72c095eaad94e3e2d9bfe6ab4a9ce0bb4798b Reviewed-on: https://chromium-review.googlesource.com/897526Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51059}
-
Clemens Hammacher authored
We were generating sequences of instructions for generating i32, i64, f32 and f64 values, but not for generating an instruction without a result value. This CL adds that. R=ahaas@chromium.org Change-Id: I5c17d4182dfc6a827c7cdaa611ba7941b9c5d12f Reviewed-on: https://chromium-review.googlesource.com/897790Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51058}
-
Yang Guo authored
Debug info carries more information than just break points. It also carries debugging-related flags and data for block coverage and type profiling. In production we won't run into the situation where debug info is created with the debugger not enabled. But this way seems a bit more robust. Bug: v8:7396 Change-Id: I6989bbab82a3c597a43dde382a74114f945adf5f Reviewed-on: https://chromium-review.googlesource.com/898923Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#51057}
-
Franziska Hinkelmann authored
Small cleanup. Change-Id: I80f7ede4de1aed3e37c2b20cb3706cb9ef3aa9be Reviewed-on: https://chromium-review.googlesource.com/897810Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#51056}
-
Clemens Hammacher authored
R=ahaas@chromium.org Change-Id: I373bcf852d6d850a6269a0fd24d474606e836dfc Reviewed-on: https://chromium-review.googlesource.com/897568Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51055}
-
jgruber authored
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}
-
Georg Neis authored
For stack frame types that don't provide their own Print function, we used to print nothing at all. Now we print at least the type and the pc. Bug: Change-Id: I8453d705589bc83c284ce4eb4e981f2ad32ee901 Reviewed-on: https://chromium-review.googlesource.com/897425 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51053}
-
Benedikt Meurer authored
This method is now dead code since we introduced PromiseReaction chains as linked lists. Bug: v8:7253, v8:7310 Change-Id: I505a23d9ba4de456dbeeba9e603e70218cf6e767 Reviewed-on: https://chromium-review.googlesource.com/897515Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51052}
-
Michael Starzinger authored
R=adamk@chromium.org Change-Id: Ib6b66003aaf8694c1e5eed6db7d2537322eddad8 Reviewed-on: https://chromium-review.googlesource.com/897498Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51051}
-
Yang Guo authored
R=jgruber@chromium.org Bug: chromium:803591/ Change-Id: I3f2d1126df4362c2f434551a28953a1bdebfeff5 Reviewed-on: https://chromium-review.googlesource.com/894523Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#51050}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/8222c43..5aa28c4 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/f384e37..744dac9 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/3d55f9c..2a49b96 Rolling v8/tools/luci-go: https://chromium.googlesource.com/chromium/src/tools/luci-go/+log/d882048..ff0709d TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: Ic6c29711b62f4b056b4ed50e022edca5a33ce0b7 Reviewed-on: https://chromium-review.googlesource.com/898702Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#51049}
-
- 01 Feb, 2018 16 commits
-
-
Hannes Payer authored
This is a preparation CL for OOL free-lists. Bug: chromium:774108 Change-Id: Ied7853d1d625f650ced135faec4b729d880961c3 Reviewed-on: https://chromium-review.googlesource.com/897809 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#51048}
-
Georg Neis authored
Bug: v8:7387 Change-Id: I831bf8f580d4112d7e0f48d90bbe2f44eff73225 Reviewed-on: https://chromium-review.googlesource.com/897326Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#51047}
-
Michael Achenbach authored
TBR=ulan@chromium.org Bug: v8:6972 Change-Id: Ibc8405184828337f9a102cbde437c69ec9542816 Reviewed-on: https://chromium-review.googlesource.com/897366Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51046}
-
Ulan Degenbaev authored
The flag is enabled by default and provides a quick way to switch between the old RetainerInfo and the new EmbedderGraph snapshoting in local testing. Bug: chromium:749490 Change-Id: I36406597a289090879cfa5051037c8cf35988e59 Reviewed-on: https://chromium-review.googlesource.com/897532Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#51045}
-
Michael Achenbach authored
This reverts commit b0128161. Reason for revert: Still breaks the bot: https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20msvc/builds/1217 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} TBR=machenbach@chromium.org,jgruber@chromium.org Change-Id: I41a48908b6e0ff6a28beb8b28a1a9a739302081a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6666 Reviewed-on: https://chromium-review.googlesource.com/897788Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51044}
-
Sigurd Schneider authored
Bug: v8:7270 Change-Id: Ia7fcd230adbf0f81a99a7f34b554c00c07649bfa Reviewed-on: https://chromium-review.googlesource.com/888742Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51043}
-
jgruber authored
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}
-
Leszek Swirski authored
Change-Id: I9c64f70585592bb46e993041a275b989ea71489d Reviewed-on: https://chromium-review.googlesource.com/897529 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#51041}
-
Michael Achenbach authored
TBR=ulan@chromium.org NOTRY=true Bug: v8:6972 Change-Id: I78d15094499d134b97903d97249c667c0c244291 Reviewed-on: https://chromium-review.googlesource.com/897365Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51040}
-
Tobias Tebbi authored
Change-Id: I963215506a87945ae863427c572989c857bca2ff Reviewed-on: https://chromium-review.googlesource.com/897608Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#51039}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: I2fb63e05336798606dee558d4adc253d5aace040 Reviewed-on: https://chromium-review.googlesource.com/897807Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#51038}
-
Michael Lippautz authored
No-try: true Bug: v8:7266 Change-Id: I65e5cdfcb3d15c4b9ebb1e5da5e69de79032a5d3 Reviewed-on: https://chromium-review.googlesource.com/897609 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#51037}
-
Benedikt Meurer authored
Instead of inlining NewPromiseCapability everywhere, we should have it as a separate builtin that can be called. The motivation for doing so is to reduce the overhead of the builtins and just share the slow-path handling in a single place, plus this way we can also utilize the NewPromiseCapability functionality from TurboFan optimized code eventually. Also remove the unused %new_promise_capability intrinsic and the builtin backing it. Bug: v8:7253 Change-Id: Ic7c916a11f12d063a645e2c25cc4120badee5640 Reviewed-on: https://chromium-review.googlesource.com/897804Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51036}
-
Daniel Clifford authored
Bug: chromium:802060 Change-Id: I032930af26f7eab8d5d3469ad273bdcdff85b045 Reviewed-on: https://chromium-review.googlesource.com/897723Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#51035}
-
Clemens Hammacher authored
The wasm call fuzzer is superseded by the wasm compile fuzzer, thus remove it. The chromium side will land in https://crrev.com/c/895531. R=ahaas@chromium.org Change-Id: I211d9f8ad2ca5432dbbc6ecce0b6e13760f1af60 Reviewed-on: https://chromium-review.googlesource.com/895534Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51034}
-
Michal Majewski authored
Bug: v8:6917 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I6bfea537347fb236d41b31f0c6c64c108928bf28 Reviewed-on: https://chromium-review.googlesource.com/897784Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#51033}
-