- 01 Feb, 2018 26 commits
-
-
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}
-
Michael Achenbach authored
TBR=sergiyb@chromium.org NOTRY=true Bug: v8:6972 Change-Id: I3fe7a5450470256c81e027371c1e977c29e5cc6a Reviewed-on: https://chromium-review.googlesource.com/897785 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51032}
-
Benedikt Meurer authored
There's now only a single caller to InternalPromiseThen left, which is the Promise.prototype.then implementation, so there's no need to have a separate helper function. Bug: v8:7253 Change-Id: I0e1ea674c942f735dd069137182232f34d16a729 Reviewed-on: https://chromium-review.googlesource.com/897762Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51031}
-
Michal Majewski authored
Only test processors code left. It enabled to move more stuff to the base runner, like progress indicators creation. Bug: v8:6917 Change-Id: Ie6dd211cec561a07d92bcc4431ea88eb1842c8fa Reviewed-on: https://chromium-review.googlesource.com/897624Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#51030}
-
Peter Marshall authored
Where the value we are switching on is a constant, we can just look through each IfValue case and replace the switch and go straight to the appropriate case. If no case matches, expect and go to the IfDefault. For the (unrealistic) example in the linked bug, this improves performance ~1.5x. Bug: v8:7389 Change-Id: I7ffe209bda9ed22571ea106396b18e0bcf9a1e22 Reviewed-on: https://chromium-review.googlesource.com/893141 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#51029}
-
Benedikt Meurer authored
Use the base::bits::SignedAddOverflow32() function instead, which performs an addition and checks for overflow. Bug: v8:5267, v8:7109 Change-Id: I20a5316957a3f72131d318282e8b8e8bb500b4a7 Reviewed-on: https://chromium-review.googlesource.com/797451Reviewed-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@{#51028}
-
Gabriel Charette authored
It was already always high-resolution on POSIX but was never high resolution on Windows. Windows does support low latency high-resolution timers for the majority of our user base. TimeTicks::HighResolutionNow() was only explicitly requested in testing frameworks. As such I left the call in place but made it DCHECK that it's running on a Windows machine on which high-resolution clocks are used. This confirms that none of our test fleet has regressed with this change (the previous HighResolutionNow() used to be slightly more aggressive and also do it in a few configurations where we now fallback to low-resolution now). This implementation was copied as-is (modulo minor v8 API compatibility tweaks). These implementations were the same in the past but had diverged when, sadly, the same bug was fixed separately years apart, in Chromium and V8: chromium: https://codereview.chromium.org/1284053004 + https://codereview.chromium.org/2393953003 v8: https://codereview.chromium.org/1304873011 This is a prerequisite to add metrics around parallel task execution (low-resolution clocks are useless at that level, but we also don't want to incur high-latency clocks on machines that can't afford it cheaply). Bug: chromium:807606 Change-Id: Id18e7be895d8431ebd0e565a1bdf358fe7838489 Reviewed-on: https://chromium-review.googlesource.com/897485Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Gabriel Charette <gab@chromium.org> Cr-Commit-Position: refs/heads/master@{#51027}
-
Tobias Tebbi authored
Change-Id: I2e9a6e706d75a579033a3bdaf275a5af4512c8d1 Reviewed-on: https://chromium-review.googlesource.com/897492Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#51026}
-
Michal Majewski authored
System tests updated to pass. I will cleanup the code in a separate CL removing the old code. Bug: v8:6917 Change-Id: Ie49efe06c43faade846e322b35c4a2068137a88b Reviewed-on: https://chromium-review.googlesource.com/897565Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#51025}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: Ibc6a7e049a17b8f9bef6b2f5cb187c11f89cf638 Reviewed-on: https://chromium-review.googlesource.com/897564Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#51024}
-
Michal Majewski authored
Bug: v8:6917 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Id5a7b41502dfd4be43496b1edb958522a8eb0c31 Reviewed-on: https://chromium-review.googlesource.com/895588 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51023}
-
Michaël Zasso authored
See https://chromium-review.googlesource.com/c/v8/v8/+/869932 Bug: v8:6972 Change-Id: I012210a31265adb7f7038a9b447f24e2d40ebca7 Reviewed-on: https://chromium-review.googlesource.com/895762Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#51022}
-
Ilija Pavlovic authored
Because of complexity macro instructions LDC1 and SDC1, which use temporary registers on MIPS32, trampolines are prevented in these instructions. TEST= BUG= Change-Id: I40f50853f8dad195814007894ba1ad7c77c01892 Reviewed-on: https://chromium-review.googlesource.com/897422Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#51021}
-
Yang Guo authored
R=machenbach@chromium.org Change-Id: I9ecd8ef2e34a49b969e3fe38a7daea06ef4b7274 Reviewed-on: https://chromium-review.googlesource.com/895536Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51020}
-
Gabriel Charette authored
Otherwise bots with a low number of cores will hang trying to schedule a mere 4 tasks. This change allowing scheduling of an arbitrary number of test tasks, the count was also augmented to better stress test the system. Bug: chromium:805932 Change-Id: Ia10cd583c0675c256b4fd5d2765b50855d77a7f9 Reviewed-on: https://chromium-review.googlesource.com/895584 Commit-Queue: Gabriel Charette <gab@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#51019}
-
Mike Stanton authored
The case that required it is no longer in the tree. Change-Id: Ie4c82f2799c381a5a5f2f57e7e3255ebb69f02b6 Reviewed-on: https://chromium-review.googlesource.com/893262Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#51018}
-
Yang Guo authored
R=machenbach@chromium.org Fixes https://github.com/nodejs/node/issues/15784 Change-Id: I4453023a5a6c8ace45b898ea227870fb6cbc20b2 Reviewed-on: https://chromium-review.googlesource.com/893261 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51017}
-
Ulan Degenbaev authored
That patch introduces EmbedderGraph interface that embedders can use to represent C++ objects that retain or are retained by V8 JS objects. The heap snapshot generator adds nodes and edges of the EmbedderGraph to the heap snapshot, allowing arbitrarily complex retaining paths that cross V8/Embedder boundary. The new functionality is enabled only if the embedder sets the BuildEmbedderGraph callback. Bug: chromium:749490 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I10a1fa000d6d4ba47fc19d84c7cfc2c619d496fc Reviewed-on: https://chromium-review.googlesource.com/890521Reviewed-by: Alexei Filippov <alph@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#51016}
-
jgruber authored
If enabled, this mode moves code for isolate-independent builtins off the JS heap at Isolate creation. The Code object itself is rewritten to tail-call the off-heap instruction stream. Drive-by-fix: Support lazy deserialization in asm-wasm instantiation. Bug: v8:6666 Change-Id: Ic109527ff478cfc6e8942e924413fc7532da6eaf Reviewed-on: https://chromium-review.googlesource.com/888562Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51015}
-
Tobias Tebbi authored
This is a reland of 957ac364. To avoid a race condition TSAN found when accessing FLAG_turbo_disable_switch_jump_table in the InstructionSelector, this now threads the flag through the CompilationInfo. Original change's description: > [turbofan] disable indirect jumps in Turbofan generated switches > > Bug: > Change-Id: I326bf518f895e7c030376210e7797f3dd4a9ae1f > Reviewed-on: https://chromium-review.googlesource.com/873643 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50984} Change-Id: I76c2804f140cc116e30881bfd05365a09240e605 Reviewed-on: https://chromium-review.googlesource.com/895643Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#51014}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/2e93695..8222c43 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/7c98d04..f384e37 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I6b305ee31207bee9fcc8ed36a7347b9ed3452fdc Reviewed-on: https://chromium-review.googlesource.com/896804Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#51013}
-
jing.bao authored
Change-Id: I46a46bacda356b838f3b7a7a9c7fb79f703dbae3 Reviewed-on: https://chromium-review.googlesource.com/892497Reviewed-by: Aseem Garg <aseemgarg@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#51012}
-
Kanghua Yu authored
--- Optimized code --- optimization_id = 26 kind = OPTIMIZED_FUNCTION compiler = turbofan ... leaq rcx,[rip+0x0] => TO BE REDUCED movq rcx,[rcx-0x37] => movq rcx,[rip-0x37] testb [rcx+0xf],0x1 jnz CompileLazyDeoptimizedCode Change-Id: I06c10ebd33af6524c4ad9ce466fd0880268f4a83 Reviewed-on: https://chromium-review.googlesource.com/880642Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Kanghua Yu <kanghua.yu@intel.com> Cr-Commit-Position: refs/heads/master@{#51011}
-
- 31 Jan, 2018 14 commits
-
-
Sathya Gunasekaran authored
Previously we would directly take the result from a fulfilled native promise bypassing the microtask queue. This is observably different from the spec. Note: Our variant of the bluebird benchmark is heavily favored towards fulfilled native promises because we don't use setTimeout (unlike the original benchmark). I suspect this pattern doesn't appear often in the wild so it's fine to take this hit for now. PSA for Perf sheriffs: this is going to tank some benchmarks. Bug: chromium:800651, v8:5691, v8:6007 Change-Id: Ic273bf2195529424b0d87359d28d5267060d5252 Reviewed-on: https://chromium-review.googlesource.com/895416 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51010}
-
Nico Weber authored
No behavior change since that warning isn't enabled anywhere yet, and it's opt-in. This is a prerequisite for https://chromium-review.googlesource.com/c/chromium/src/+/895726 Whil here, also remove -Wsign-compare, since that's enabled by default for -Wextra (http://llvm-cs.pcc.me.uk/tools/clang/include/clang/Basic/DiagnosticGroups.td#723) and v8 builds with the chromium_code config which sets -Wextra. Bug: chromium:177475 Change-Id: I32f140296cab13ed57be08168a3f6b1d1218e4e6 Reviewed-on: https://chromium-review.googlesource.com/895704Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#51009}
-
Benedikt Meurer authored
We still avoid the "then" lookup using the current fast-path mega-guard in the baseline case, but in TurboFan we simply constant-fold the "then" lookup in the JSCallReducer. So all further optimizations on Promise#then in TurboFan will automatically apply to Promise#catch as well. Bug: v8:7253 Change-Id: Idf7252157375a0ae3a91c7a3b42c30c5f367c0a8 Reviewed-on: https://chromium-review.googlesource.com/895446 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#51008}
-
Junliang Yan authored
Port c9941af2 R=rmcilroy@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:798964 LOG=N Change-Id: Id1f6a45169a24f06605297a404461a6cbdf78347 Reviewed-on: https://chromium-review.googlesource.com/894305Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#51007}
-
Sigurd Schneider authored
Bug: v8:7092, v8:7326, chromium:806758 Change-Id: Id8a3bc2455875af9dfdc01619d8217e033099e7e Reviewed-on: https://chromium-review.googlesource.com/895690 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51006}
-
Michael Achenbach authored
TBR=majeski@google.com NOTRY=true Bug: v8:6917 Change-Id: I8ca2297ab9641b81a91ee7f8ff594bbe4b9e369b Reviewed-on: https://chromium-review.googlesource.com/895366Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51005}
-
Benedikt Meurer authored
A given JSPromise can either be in pending state, and accumulates reactions, or in settled state, where all reactions are scheduled as microtasks, and it carries a result. So we can use a single field on the JSPromise instance to hold both the result and the reactions and that field is interpreted differently depending on the status of the JSPromise. Bug: v8:7253 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I19a7d499c88f452f0d35979ab95deb110021cde9 Reviewed-on: https://chromium-review.googlesource.com/895528Reviewed-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@{#51004}
-
Dan Elphick authored
This allows base::nullopt to be used instead of base::Optional<Foo>() and implicit conversion to Optional<T> from T. Also added NOLINT comments to the implicit constructors. Change-Id: I4c688045685e2a50e0c0d38a959570f77454ec61 Reviewed-on: https://chromium-review.googlesource.com/893268Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#51003}
-
Michael Starzinger authored
This prevents unnecessary switching back and forth between internal and public API boundaries. It is also a step towards making all WebAssembly internals completely independent of "scheduled exception" values. R=ahaas@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I46e8cb4fad3d255d9bd20b9c343901a03a25426c Reviewed-on: https://chromium-review.googlesource.com/895742Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51002}
-
Karl Schimpf authored
Implements the saturating opcode i64.trunc_s:sat/f32. Also does some refactoring of the i32 saturating opcodes use a simplier solution (calling a single method to handle all i32 values). Also refactors code so that the remaining i64 saturating conversions should be easy to add to the wasm compiler. Bug: v8:7226 Change-Id: I031aca1e059b4baa989a56ecbc16941f591ff9b3 Reviewed-on: https://chromium-review.googlesource.com/887333 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51001}
-
Michael Achenbach authored
TBR=majeski@google.com NOTRY=true Bug: v8:6917 Change-Id: I088dc4492df6c1dda1f86fbd6d7153a46a4117e0 Reviewed-on: https://chromium-review.googlesource.com/895600Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51000}
-
Michael Achenbach authored
This downloads the mips tool chain into tools/mips_toolchain via runhooks if the flag download_mips_toolchain is specified for gclient. The currently uploaded version is 2015/1/7. Bug: chromium:632390 Change-Id: Ied396d1a980db962773a96e9dadd3f282c7541c0 Reviewed-on: https://chromium-review.googlesource.com/892864Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50999}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: I543c232489e6b93f5f98ccf63eea475535d82613 Reviewed-on: https://chromium-review.googlesource.com/893566 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50998}
-
Mike Stanton authored
The FeedbackNexus classes initially were one-to-one with IC classes, but over time this got out of date. We also found Nexus' useful, so we made more classes even for cases that weren't ICs. The inheritence and polymorphism became confusing and led to duplication. Better, to just talk about a (single) FeedbackNexus. Bug: v8:7344 Change-Id: I509dc9657895d56c3859de6e6589695cdff9e73e Reviewed-on: https://chromium-review.googlesource.com/890452 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#50997}
-