- 31 Jan, 2018 12 commits
-
-
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}
-
Jaroslav Sevcik authored
This reverts commit 957ac364. Reason for revert: Breaks roll (crbug.com/v8/7388) 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} TBR=jarin@chromium.org,tebbi@chromium.org Change-Id: Id2546e722179e6d8f2f102ce02fb18d696a79764 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/894385Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50995}
-
Camillo Bruni authored
Bug: chromium:806388 Change-Id: Ieb343f0d532c16b6102e85222b77713f23bacf8c Reviewed-on: https://chromium-review.googlesource.com/894942Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#50990}
-
Clemens Hammacher authored
In order to support i64 values on 32 bit platforms, we extend the {LiftoffRegister} class to support storing pairs of GP registers on those platforms. On 64 bit platforms, this refactoring should cause no slowdown, as the compiler can statically determine that {LiftoffRegister::is_pair()} is always false. R=titzer@chromium.org Bug: v8:6600 Change-Id: Ie9966d599271b8779959b1809ab4e129b68b80d7 Reviewed-on: https://chromium-review.googlesource.com/890261Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50986}
-
Tobias Tebbi authored
Bug: Change-Id: I326bf518f895e7c030376210e7797f3dd4a9ae1f Reviewed-on: https://chromium-review.googlesource.com/873643Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#50984}
-
Tobias Tebbi authored
Bug: Change-Id: Ibd91a61a9fd4b673db1afe13936d68a2b4a096cd Reviewed-on: https://chromium-review.googlesource.com/892058 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50983}
-
Ross McIlroy authored
BUG=v8:5203 Change-Id: I69093626743fa1bb4865129421266f0b1aa26a0f Reviewed-on: https://chromium-review.googlesource.com/893384Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#50982}
-
Predrag Rudic authored
For mips, if 'mips_arch_variant=="r6"' and if 'mips_use_msa' flag is set to 'true', then test-run-wasm-simd tests won't be skipped for mips. It will also force 'MIPS_SIMD' bit in CpuFeatures to be set. ARM processors are assumed to support SIMD. Change-Id: Iea668b97ef995ca4949ddbf2ffc734aad89d3aa3 Reviewed-on: https://chromium-review.googlesource.com/868430Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#50981}
-
Benedikt Meurer authored
This implements the ideas outlined in the section "Microtask queue" of the exploration document "Promise and async/await performance" (at https://goo.gl/WHRar2), except that the microtask queue stays a linear FixedArray for now, to avoid running into trouble with the parallel scavenger. This way we can already save a significant amount of allocations, thereby reducing the GC frequency quite a bit. All items on the microtask queue are now proper structs that subclass Microtask, i.e. we also wrap JSFunction and MicrotaskCallback jobs into structs. We also consistently remember the context for every microtask (except for MicrotaskCallback where we don't have a context), and execute it later in exactly that context (as required by the spec anyways for the Promise related jobs). Particularly interesting is the PromiseReactionJobTask and its subclasses, since they are designed to have the same size as the PromiseReaction. When we resolve a JSPromise we just take the existing PromiseReaction instances and morph them into PromiseFulfillReactionJobTask or PromiseRejectReactionJobTask (depending whether you "Fulfill" or "Reject"). That way the JSPromise class is now only 6 words instead of 10 words. Also the PromiseReaction and the reaction tasks can either carry a JSPromise (for the fast native case) or a PromiseCapability (for the generic case), which means we don't always pay the overhead of having to also remember the "deferred resolve" and "deferred reject" handlers that are only relevant for the generic case anyways. It also fixes a spec violation where we called "then" before we actually enqueued the PromiseResolveThenableJob, which is observably wrong. Calling it later has the advantage that it should be fairly straight-forward now to completely avoid it for native Promise instances. This seems to save around 10-20% on the various Promise benchmarks and micro-benchmarks. We expect to gain even more as we're now able to inline various operations into TurboFan optimized code easily. Bug: v8:7253 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I893d24ca5bb046974b4f5826a8f6dd22f1210b6a Reviewed-on: https://chromium-review.googlesource.com/892819 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50980}
-
sreten.kovacevic authored
Register t3 is not allocatable, so register a7 is used instead. Change-Id: Ic198f038a10b4c891b417656d639477aedf6b703 Reviewed-on: https://chromium-review.googlesource.com/891823Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#50979}
-
Michael Lippautz authored
- Add WASM types - Account for FeedbackMetadata - Account entries in FunctionTemplateInfo Bug: v8:7266 Change-Id: I527792768bb11a3540a34e7c00db311609a40b01 Reviewed-on: https://chromium-review.googlesource.com/894524Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#50977}
-
Georg Neis authored
Async generators didn't correctly handle the situation where one calls .return on a suspended-at-start async generator and passes a promise-like object whose awaiting causes a new request to the generator. Bug: chromium:805729 Change-Id: I4da13ab5bd97f8c2a2c5373242a2d5e2ab0f7f10 Reviewed-on: https://chromium-review.googlesource.com/891231Reviewed-by:
Caitlin Potter <caitp@igalia.com> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#50974}
-
- 30 Jan, 2018 19 commits
-
-
Malcolm White authored
Bug=chromium:806582 Change-Id: I0d541903dfd1622ae6d4a2628c41dc28704680e6 Reviewed-on: https://chromium-review.googlesource.com/891626Reviewed-by:
Ben Smith <binji@chromium.org> Commit-Queue: Malcolm White <malcolmwhite@google.com> Cr-Commit-Position: refs/heads/master@{#50972}
-
Junliang Yan authored
Port 830e39ab Original Commit Message: Wide suspends have a "wide" (or "extra-wide") bytecode at their offset, rather than the suspend itself, so they were failing the return check. R=leszeks@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I0c95b9fd34df7232ae07fd1e508f40cd139e9734 Reviewed-on: https://chromium-review.googlesource.com/894303Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#50971}
-
Junliang Yan authored
Port 1abeb5a3 Original Commit Message: - Shift opcode numbers for asmjs-compat opcodes - Add --experimental-wasm-se flag to gate sign extension opccodes - Fix codegen for ia32 movsx instructions R=gdeepti@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I3af97112b40d159f9ffc4f465768fc7832485f20 Reviewed-on: https://chromium-review.googlesource.com/893703Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#50969}
-
Camillo Bruni authored
- Match PropertyCallbackArguments methods Change-Id: I063a368b186bcca499c8a4a217114227516127e5 Reviewed-on: https://chromium-review.googlesource.com/836891Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#50968}
-
Gabriel Charette authored
This is a reland of 76195d9e. It was reverted because the new parallel tasks (with higher number of workers) hang on client.v8.ports bots. Since each test task steals the worker thread it's assigned but only processes one item before waiting for completion by others: I think the problem is that there aren't enough workers in client.v8.ports' config. There aren't any try bots for this config... reduce the tests to use 4 tasks and hope for the best (i.e. a 4 core machine that uses "num cores")... Original change's description: > Smoother distribution of worker assignment in parallel task array. > > This is a merge of https://chromium-review.googlesource.com/c/v8/v8/+/888704 > and https://chromium-review.googlesource.com/c/v8/v8/+/887084 > > Which implements the fix in CL 887084 correctly in a world where > there can be more tasks_ than items_ (crbug.com/806237). > > Bug: chromium:805932 > Change-Id: I05401be4fdce442644a8973281a9d88bd959b271 > Reviewed-on: https://chromium-review.googlesource.com/892883 > Commit-Queue: Gabriel Charette <gab@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50956} Reverted-on: https://chromium-review.googlesource.com/893462 Bug: chromium:805932 Change-Id: I4d0bda3b9f52e9160e613a8f34a95e48b814bb9e Reviewed-on: https://chromium-review.googlesource.com/893362Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Gabriel Charette <gab@chromium.org> Cr-Commit-Position: refs/heads/master@{#50967}
-
Pierre Langlois authored
The way the code generator's AssembleMove and AssembleSwap methods are written makes it easy to forget which sort of move is being implemented when looking at a sequence of instructions. This patch is an attempt to address this by rewriting those methods using switch/case instead of a string of if/else. To do this, introduce new utility functions to detect what type of move to perform given a pair of InstructionOperands. Bug: Change-Id: I32b146c86409e595b7b59a66bf43220899024fdd Reviewed-on: https://chromium-review.googlesource.com/749201 Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#50966}
-
Gabriel Charette authored
This reverts commit 76195d9e. Reason for revert: New parallel tests timeout on the waterfall (I think because it's configured to use less worker threads and TaskProcessingOneItem is currently designed to steal a worker but only process one item...). Original change's description: > Smoother distribution of worker assignment in parallel task array. > > This is a merge of https://chromium-review.googlesource.com/c/v8/v8/+/888704 > and https://chromium-review.googlesource.com/c/v8/v8/+/887084 > > Which implements the fix in CL 887084 correctly in a world where > there can be more tasks_ than items_ (crbug.com/806237). > > Bug: chromium:805932 > Change-Id: I05401be4fdce442644a8973281a9d88bd959b271 > Reviewed-on: https://chromium-review.googlesource.com/892883 > Commit-Queue: Gabriel Charette <gab@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50956} TBR=gab@chromium.org,hpayer@chromium.org,mlippautz@chromium.org Change-Id: Icf52eb3afeb9467557c1e0db6922d590466943f0 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:805932 Reviewed-on: https://chromium-review.googlesource.com/893462Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Gabriel Charette <gab@chromium.org> Cr-Commit-Position: refs/heads/master@{#50965}
-
Michael Starzinger authored
R=jarin@chromium.org BUG=v8:6408 Change-Id: I28ac6fa2d47ec14b06e6867b3c605c307549c474 Reviewed-on: https://chromium-review.googlesource.com/890266Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50962}
-
jgruber authored
Some tests need to ensure all builtins are deserialized. This adds a helper to make that easier. Drive-by-refactoring: Centralize lazy-deserialization tracing. TBR=rmcilroy@chromium.org Bug: v8:6624 Change-Id: I1f7caa6c539b12aabcba5b7b28c50ad40355848b Reviewed-on: https://chromium-review.googlesource.com/891822 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#50959}
-
Camillo Bruni authored
Convert certain DCHECKS into CHECKS for some Map setters. This should have minimal performance impact at the same time getting us better coverage out there in the wild. Change-Id: I9a12f43e1baca15d9bf8b1aed86bb6b0dc13921d Reviewed-on: https://chromium-review.googlesource.com/866931 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#50958}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: Ifcd5d58bd27754d5ba7d05b302dc6089af5e3a53 Reviewed-on: https://chromium-review.googlesource.com/892074Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50957}
-
Gabriel Charette authored
This is a merge of https://chromium-review.googlesource.com/c/v8/v8/+/888704 and https://chromium-review.googlesource.com/c/v8/v8/+/887084 Which implements the fix in CL 887084 correctly in a world where there can be more tasks_ than items_ (crbug.com/806237). Bug: chromium:805932 Change-Id: I05401be4fdce442644a8973281a9d88bd959b271 Reviewed-on: https://chromium-review.googlesource.com/892883 Commit-Queue: Gabriel Charette <gab@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#50956}
-
Clemens Hammacher authored
The generated file only contained the last section of the module, since the decoder's range is reset in DecodeSection. This CL fixes this by remembering the original module bytes and dumping them instead. R=ahaas@chromium.org Change-Id: I5e0f97279886817d58caac6114994bb9c1a147fc Reviewed-on: https://chromium-review.googlesource.com/892980Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50953}
-
Choongwoo Han authored
- Port TypedArray.prototype.slice to CSA - Implement TypedArraySpeciesCreateByLength as a CSA - Fix spec bugs: Throw if a source typed array is neutered after creating a result typed array Bug: v8:5929 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ia7ce2239d37db6db172c00aa120ef51c31a14bac Reviewed-on: https://chromium-review.googlesource.com/830991 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#50952}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: I9f4fcddca2e478d5074d68870d0293aacdeb4aa1 Reviewed-on: https://chromium-review.googlesource.com/813920Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50951}
-
jgruber authored
The test inspects each builtin's RelocInfo. It's isolate-independent, iff there are no entries for embedded objects, runtime calls, external references (which could point to addresses on the isolate), or code targets. Bug: v8:6666 Change-Id: Ie32353db445a9e81e1c9a0a8f1b5ffe1566a0404 Reviewed-on: https://chromium-review.googlesource.com/888639 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#50949}
-
Yang Guo authored
R=machenbach@chromium.org Bug: v8:7335 Change-Id: Ib80df7aa269a8e9de7ad739f29883f61f0f0882c Reviewed-on: https://chromium-review.googlesource.com/892978Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#50948}
-
Philip Jägenstedt authored
This only affects document.all, which is the only user of |ObjectTemplate::SetCallAsFunctionHandler|, and will mean that new document.all() will throw TypeError. There are tests for this: //src/third_party/WebKit/LayoutTests/external/wpt/html/infrastructure/common-dom-interfaces/collections/htmlallcollection.html (cherry picked from commit 7233447e4ac4587c81e91077857f8a30c4a6d2df) Change-Id: Ibb39b3c61b688591c781158cf4abc0c2d74c908e Reviewed-on: https://chromium-review.googlesource.com/882642Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Philip Jägenstedt <foolip@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/890496 Cr-Commit-Position: refs/heads/master@{#50943}
-
Kanghua Yu authored
I8x16Shl/I8x16ShrS/I8x16ShrU,I8x16Mul R=bbudge@chromium.org, bmeurer@chromium.org Bug: Change-Id: I97d7f077c26fe6f8be6464582f20d4e3c8fd4667 Reviewed-on: https://chromium-review.googlesource.com/853772 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#50940}
-
- 29 Jan, 2018 9 commits
-
-
Jungshik Shin authored
This is a v8-port of https://chromium-review.googlesource.com/c/chromium/src/+/890176 . By default, ICU tries to load data items (e.g. brkitr/char.brk) from individual files before trying the common data. Because all the ICU data Chrome needs is included in the common ICU data file that is memory mapped in InitializeICU(), trying to load from the disk just wastes cycles because there's no file with separate ICU data items. Bug: chromium:805694 Test: Intl tests Change-Id: Ia7e77d658b56d98027336acd2c91fd5f7b2cea3e Reviewed-on: https://chromium-review.googlesource.com/890343Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Jungshik Shin <jshin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50939}
-
Junliang Yan authored
The stock GCC on Ubuntu 16.04 complains these constants are unused (possibly gcc issue). This CL changes these to constexpr to workaround gcc errors. R=clemensh@chromium.org, joransiu@ca.ibm.com Change-Id: I8c1772e91744bc46ace6bee576b90d40c0cdf41f Reviewed-on: https://chromium-review.googlesource.com/881554Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#50936}
-
Sathya Gunasekaran authored
Things that don't work yet: (a) pre parsed scope data is broken (b) private fields can be accessed outside classes (c) no early or runtime error for accessing unknown fields Things that do work: everything else Change-Id: I3d58be44e2be73ec50defb42403112a8a5e68c54 Bug: v8:5368 Reviewed-on: https://chromium-review.googlesource.com/865497 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#50935}
-
Benedikt Meurer authored
This adjusts the RunMicrotask logic to invoke CallHandlerInfo microtasks from CSA land directly (via a runtime function call), instead of bailing out to C++ for the rest of the microtask queue entries. Even in simple micro-benchmarks there doesn't seem to be a huge performance difference. In fact performance get's better when CallHandlerInfo and promises are mixed, which makes sense, since calling from C++ to JS land is more expensive than the other way around. But just in case the runtime function call overhead ever becomes the bottleneck we can introduce a direct C++ call and setup a handle scope around it, much like a very simple version of CallApiFunctionStub. This greatly simplifies the microtask handling and paves the way for refactoring the queue to significant reduce the GC overhead associated with promises currently. Bug: v8:7253 Change-Id: I33adb62a6bada138674d324f36d4be894e27f3c9 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/890441Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-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@{#50934}
-
Benedikt Meurer authored
The @@species protector guards the following (in case of Promises): - The initial Promise.prototype has the initial "constructor" pointing to the Promise constructor. - No JSPromise instance has a "constructor" property. So this is sufficient to guard the fast-path in PromiseResolve, given that we check whether the value is actually a JSPromise and that the [[Prototype]] of value is the (initial) Promise.prototype. Also refactor the code a bit and avoid the BranchIfSameValue, which blows up the builtin quite a lot, since we already know that constructor must be a valid JSReceiver and thus we can simply use WordEqual to compare value's "constructor" to the constructor. Bug: v8:7253 Change-Id: I6413882241c9648c95bb2299100a6c3a7c803110 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/890438Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50933}
-
Ali Ijaz Sheikh authored
We were starting an allocation step during NewSpace::AddFreshPage. At this point, we had advanced the page, but not updated allocation_info_. This ultimately led to assertions as Space::Size was not expecting to be called when to_space_.page_{high,low} are inconsistent with allocation_info_.top(). The solution here is to avoid starting the step in the middle of the space state mutation. We account for memory allocated so far before the mutation is started, and then start a new step after the mutation has been completed. Bug: chromium:806179 Change-Id: I17ee896d80c4ec752baa2b17c3fd2bef7ea2ca33 Reviewed-on: https://chromium-review.googlesource.com/889981Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> Cr-Commit-Position: refs/heads/master@{#50932}
-
Clemens Hammacher authored
Even though most compilers accept the method to be private, gcc 4.8 complains about this (which seems to be correct). Thus we make this method protected. R=franzih@chromium.org Change-Id: Ia49b2ddebe1ced7529d4943107a76a909c355b73 Reviewed-on: https://chromium-review.googlesource.com/890449Reviewed-by:
Franziska Hinkelmann <franzih@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50931}
-
Michael Achenbach authored
This adds back an option for interrupt budget available in no-snap builds. This also adds a fuzzer configuration for numfuzz that enables fuzzing the interrupt budget option. A new flag --disable-analysis allows to generally skip the fuzzer's analysis phase, which can be chosen for interrupt budget, which doesn't support an analysis phase. Bug: v8:6917 Change-Id: I546dd9ee41c3e0fb027108ef4606a34514f230d4 Reviewed-on: https://chromium-review.googlesource.com/885805Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50929}
-
Gabriel Charette authored
This reverts commit 8a27c7d3. Reason for revert: Having more tasks then work items is intentional in some use cases, i.e. Scavenging where RunInParallel() does parallel processing on a dynamic workload *after* the initial set of work items: { barrier_->Start(); TimedScope scope(&scavenging_time); PageScavengingItem* item = nullptr; while ((item = GetItem<PageScavengingItem>()) != nullptr) { item->Process(scavenger_); item->MarkFinished(); } do { scavenger_->Process(barrier_); } while (!barrier_->Wait()); scavenger_->Process(); } Original change's description: > v8::ItemParallelJob : Do not launch more Tasks than there are Items to process. > > Except when there are 0 items. For some reason I don't quite understand yet, not > calling Run() on tasks_[0] when there are 0 items results in DCHECKs... > > Bug: chromium:806237 > Change-Id: I38c8fffde64a42f93f4efda492832651137eebd7 > Reviewed-on: https://chromium-review.googlesource.com/888704 > Commit-Queue: Gabriel Charette <gab@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50924} TBR=gab@chromium.org,mlippautz@chromium.org Change-Id: Iad2ab16bb41f339de8e3fbca1c08c5d26b8a0111 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:806237 Reviewed-on: https://chromium-review.googlesource.com/891186Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Gabriel Charette <gab@chromium.org> Cr-Commit-Position: refs/heads/master@{#50928}
-