- 11 Sep, 2018 1 commit
-
-
Creddy authored
- Rename Runtime_SetProperty to Runtime_SetKeyedProperty - Create Runtime_SetNamedProperty and use it for SetNamed property in one-shot code. - Rename Object::StoreFromKeyed enum to StoreOrigin Bug: v8:8072, chromium:876839 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I22132380ca4b6ce1e0a14a38cca849814559cdcf Reviewed-on: https://chromium-review.googlesource.com/1207870Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Chandan Reddy <chandanreddy@google.com> Cr-Commit-Position: refs/heads/master@{#55790}
-
- 13 Aug, 2018 1 commit
-
-
Camillo Bruni authored
Bug: v8:6922 Change-Id: I641f654f0548c2da24cdea3ffd275461ae8ce9b0 Reviewed-on: https://chromium-review.googlesource.com/1172776Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#55098}
-
- 31 Jul, 2018 1 commit
-
-
Georg Neis authored
Use sizeof of the C type instead. Also fix a few #undef's that got reported after my changes. R=jarin@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I30a43b3d93e6df04fb9fb33050b52988edd7fdb1 Reviewed-on: https://chromium-review.googlesource.com/1155108Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54817}
-
- 17 Jul, 2018 1 commit
-
-
Dan Elphick authored
Ran GetIsolate/GetHeap removal script over all the header files included into objects.cc. Affected classes include: ScriptContextTable RuntimeCallTimerScope GlobalDictionaryShape Map LookupIterator PrototypeIterator FixedArrayBuilder Manually fixed up Map to mark its write operations as safe for GetIsolate since they modify the object as so can't be done in RO_SPACE. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I2fd0960f085d1bcb4cf54b3418899ac0217917ca Reviewed-on: https://chromium-review.googlesource.com/1138076 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54488}
-
- 13 Jul, 2018 1 commit
-
-
Dan Elphick authored
All auto-generated with some fix-ups including marking the following classes as NeverReadOnlySpaceObject so their GetIsolate/GetHeap methods are safe to use: Code, CodeDataContainer, AbstractCode, DeoptimizationData, CompilationCacheTable, NormalizedMapCache, Script, SharedFunctionInfo TBR=yangguo@chromium.org Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I6cb5dcca88a0bc99b5afe80f553e06a661b5da3c Reviewed-on: https://chromium-review.googlesource.com/1135306 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54439}
-
- 10 Jul, 2018 1 commit
-
-
Benedikt Meurer authored
This extends the Promise#then protector to also guard the intrinsic %ObjectPrototype%, making it usable for fast-path logic in the AsyncGeneratorResolve operation, where we can skip the "then" lookup on the iteratorResult in that case. We also add a corresponding fast- path to the ResolvePromise builtin itself, which avoids the second "then" lookup on the async iterator side. This reduces execution time of the fibonacci-async-es2017-native test from 298.16ms to 280.55ms, which corresponds to an improvement of ~6% in this case. This is a rebased reland of https://chromium-review.googlesource.com/967203 which landed earlier, but had to be reverted as part of the mega-revert that was necessary to fix the async_hooks breakage in Node 10. Bug: v8:7253 Change-Id: Id9dd1ddc4a8285d64e92cd2030f3168a12e4b509 Reviewed-on: https://chromium-review.googlesource.com/1130523 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#54352}
-
- 04 Jul, 2018 1 commit
-
-
Dan Elphick authored
In future the RO_SPACE root accessors in Heap will become private, so instead convert them all to use ReadOnlyRoots. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I2f2c031c03d56d360ef940fc925e0583e6ae31dc Reviewed-on: https://chromium-review.googlesource.com/1125720Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#54202}
-
- 26 Jun, 2018 1 commit
-
-
Georg Neis authored
This is a reland of f0bcbc90. A few casts were still wrong. Original change's description: > Reland "Introduce MutableHeapNumber class." > > This is a reland of 40ac6b18, which > was incorrect due to a bad merge. > > Original change's description: > > Introduce MutableHeapNumber class. > > > > V8 knows heap numbers and mutable heap numbers. They have > > difference instance types, but in C++ code we've used the > > same class for both (HeapNumber). Confusingly, however, > > IsHeapNumber would return false for mutable heap numbers, > > while HeapNumber::cast would succeed. > > > > This CL adds a separate class MutableHeapNumber and > > eliminates the confusing behavior. > > [...] > TBR=bmeurer@chromium.org > TBR=ulan@chromium.org > > Change-Id: I3af1014c949821dfac0754a3e48c65ce1bad1ad1 > Reviewed-on: https://chromium-review.googlesource.com/1114539 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54022} Change-Id: I19a33da4b6abcd445b528a84d4f56ba1964d337b Reviewed-on: https://chromium-review.googlesource.com/1114100 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54027}
-
- 25 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Roughly: GetIsolate(): -31 handle(HeapObject): -6 TBR=verwaest@chromium.org Bug: v8:7786 Change-Id: I3857f8c45f1f93c727d575d5f9244d9811949a7f Reviewed-on: https://chromium-review.googlesource.com/1111838Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53997}
-
- 23 Jun, 2018 2 commits
-
-
Leszek Swirski authored
Bug: v8:7786 Change-Id: I2d2e62001294c15411e26b022cad410d54577927 Reviewed-on: https://chromium-review.googlesource.com/1111837 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53988}
-
Leszek Swirski authored
Access Isolate* and Heap* wherever already available. Roughly: GetIsolate(): -20 GetHeap(): -22 Handle<>(HeapObject): -315 handle(HeapObject): -21 Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I2da36ed1909d849812a1cb6bf94cb735eedca45b Reviewed-on: https://chromium-review.googlesource.com/1111707 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53987}
-
- 21 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ic00953a5375f60b61a093234c03ce0df41dbe228 Reviewed-on: https://chromium-review.googlesource.com/1110125Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53944}
-
- 19 Jun, 2018 1 commit
-
-
Dan Elphick authored
This removes several GetIsolate calls from Map:: methods and instead passes the Isolate in. This is a very noisy change but mostly it is just adding Isolate to method declarations and forwarding it on. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I159505e50a9462d01066f14da0fcc29762bd5531 Reviewed-on: https://chromium-review.googlesource.com/1075267Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53826}
-
- 11 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Whenever an Isolate is available on a variable, field, or method parameter, use that instead of GetIsolate(). Also convert simple cases of the one-argument handle constructor to either use an available Isolate, or use GetIsolate() if their first parameter is a variable. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I52805905a9ca8729615ead78859f43d5e8f605f1 Reviewed-on: https://chromium-review.googlesource.com/1092853 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53629}
-
- 04 Jun, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7308 TBR=ishell@chromium.org, tebbi@chromium.org Change-Id: I0f7de13967d3e109b40d7158ee29775754c3d108 Reviewed-on: https://chromium-review.googlesource.com/1082475 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53483}
-
- 01 Jun, 2018 2 commits
-
-
Marja Hölttä authored
This reverts commit 0f23cedd. Reason for revert: buildbot failures Original change's description: > [in-place weak refs] Replace WeakCells in DescriptorArray. > > BUG=v8:7308 > > Change-Id: Ib0ad52916d6f5b65e7612981b467b491d832f505 > Reviewed-on: https://chromium-review.googlesource.com/1075053 > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53473} TBR=ulan@chromium.org,marja@chromium.org,tebbi@chromium.org,ishell@chromium.org Change-Id: I713ab10650f933a8218a61521868d6cd16cb821e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7308 Reviewed-on: https://chromium-review.googlesource.com/1082218Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53474}
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: Ib0ad52916d6f5b65e7612981b467b491d832f505 Reviewed-on: https://chromium-review.googlesource.com/1075053 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53473}
-
- 29 May, 2018 1 commit
-
-
Sebastien Marchand authored
see crbug.com/841460 , we recently hit some build issues when using Goma + jumbo builds because of a conflict on the definition of CONST, v8 defines it in globals.h and including windows.h also defines it. It should be possible to fix this by adding a bunch of #undef CONST but it seems a little bit hacky and might not always work (this could only fix the problem temporary if the jumbo merge limit changes and cause some include files to get included in a different order). Renaming the v8 definition of CONST to kConst, this follows the style guide guidelines: "there is no reason to change old code to use constant-style names, unless the old names are actually causing a compile-time problem" (https://google.github.io/styleguide/cppguide.html#Enumerator_Names) I also had to turn the PropertyConstness enum into an enum class to avoid some conflicts (both PropertyConstness and VariableMode define kConst). Bug: chromium:841460 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I2b70b9095374e88a5ae364cc557b39f20a3ab60f Reviewed-on: https://chromium-review.googlesource.com/1064197Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sébastien Marchand <sebmarchand@chromium.org> Cr-Commit-Position: refs/heads/master@{#53413}
-
- 17 May, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7490 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I83061dac1b255b239738f900b5149828bd2203ec Reviewed-on: https://chromium-review.googlesource.com/1061496Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53237}
-
- 14 May, 2018 1 commit
-
-
Maya Lekova authored
Revert "[async-await] Eliminate throwaway promise in async functions." This reverts commit a840f1f8. Revert "[async-generators] Also avoid throwaway promise here." This reverts commit feb545ce. Revert "[async-await] Turn await closures into intrinsics." This reverts commit d97bb317. Revert "[async-generators] Add fast-path for primitives in AsyncGeneratorYield." This reverts commit e57b500e. Revert "[async-generators] Add fast-path to skip "then" lookup in AsyncGeneratorResolve." This reverts commit c15802e1. Revert "[promises] Correctly run before/after hooks for await." This reverts commit ca763923. Bug: v8:7253, v8:7745 Change-Id: I25ad0d2df3cfbc84dbb431aa25b268bce8a39e89 Reviewed-on: https://chromium-review.googlesource.com/1049975 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53139}
-
- 23 Apr, 2018 3 commits
-
-
Sigurd Schneider authored
This is a reland of 5728b3fb Original change's description: > [builtins] Separate species protectors for Array, TypedArray, Promise > > Previously, there was one species protector for Array, TypedArray and > Promise. This CL splits the protector in three separate ones. This means > that invalidating one of them does not have negative performance > implications for the other ones. > > Bug: chromium:835347, v8:7340 > Change-Id: Id84aa0071f17096192965264eb60ddadd1e8e73f > Reviewed-on: https://chromium-review.googlesource.com/1023408 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52733} Bug: chromium:835347, v8:7340 Change-Id: I0c0188a0723e206ddb362834bcf872b23cd7666d Reviewed-on: https://chromium-review.googlesource.com/1023811 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52742}
-
Sigurd Schneider authored
This reverts commit 5728b3fb. Reason for revert: Breaks noi18n build Original change's description: > [builtins] Separate species protectors for Array, TypedArray, Promise > > Previously, there was one species protector for Array, TypedArray and > Promise. This CL splits the protector in three separate ones. This means > that invalidating one of them does not have negative performance > implications for the other ones. > > Bug: chromium:835347, v8:7340 > Change-Id: Id84aa0071f17096192965264eb60ddadd1e8e73f > Reviewed-on: https://chromium-review.googlesource.com/1023408 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52733} TBR=sigurds@chromium.org,bmeurer@chromium.org Change-Id: Ied8b436e7991c759eb3b98702c142aa127a7e63c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:835347, v8:7340 Reviewed-on: https://chromium-review.googlesource.com/1024151Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52736}
-
Sigurd Schneider authored
Previously, there was one species protector for Array, TypedArray and Promise. This CL splits the protector in three separate ones. This means that invalidating one of them does not have negative performance implications for the other ones. Bug: chromium:835347, v8:7340 Change-Id: Id84aa0071f17096192965264eb60ddadd1e8e73f Reviewed-on: https://chromium-review.googlesource.com/1023408 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52733}
-
- 06 Apr, 2018 1 commit
-
-
Igor Sheludko authored
Given that we got a store transition handler for free (because it's just a transition map) there's no need to wait for a second "use" of that transition in order to install a normal store transition handler. Bug: v8:5988 Change-Id: Iecdcfdd096a8efffdd0662f1b1d604943e57d85a Reviewed-on: https://chromium-review.googlesource.com/997553Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#52442}
-
- 05 Apr, 2018 1 commit
-
-
Igor Sheludko authored
It looks like the normal ways of creating lookup iterators work better. Bug: v8:5988, chromium:828282 Change-Id: Ifd623b2e93708ff8684d056d9292b7779f611a3c Reviewed-on: https://chromium-review.googlesource.com/997474Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#52392}
-
- 04 Apr, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:5988 Change-Id: I6f62199f062ea32e66903f5385fc109e47fed374 Reviewed-on: https://chromium-review.googlesource.com/970822 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#52363}
-
- 23 Mar, 2018 1 commit
-
-
Igor Sheludko authored
This eases transition handlers caching and avoids memory overhead of respective StoreHandler objects. In addition, it allows to use such transition handlers on runtime side to make Object.assign implementation a bit faster. Bug: v8:5988 Change-Id: Iba660a11d4b300cd5f80615fb7e2608e53da8fee Reviewed-on: https://chromium-review.googlesource.com/931701Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#52187}
-
- 19 Mar, 2018 1 commit
-
-
Benedikt Meurer authored
This extends the Promise#then protector to also guard the intrinsic %ObjectPrototype%, making it usable for fast-path logic in the AsyncGeneratorResolve operation, where we can skip the "then" lookup on the iteratorResult in that case. We also add a corresponding fast- path to the ResolvePromise builtin itself, which avoids the second "then" lookup on the async iterator side. This reduces execution time of the fibonacci-async-es2017-native test from 186.9ms to 171.2ms, which corresponds to an improvement of 8.4% in this case. Bug: v8:7253 Change-Id: Ia09effc81a016703780d5c308f541e3d797ccabe Reviewed-on: https://chromium-review.googlesource.com/967203Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52024}
-
- 08 Mar, 2018 1 commit
-
-
Benedikt Meurer authored
This adds a global protector to guard the lookup of "resolve" on the %Promise% intrinsic object (the initial Promise constructor), making sure that Promise.resolve yields the initial builtin method. We use this protector to avoid the lookup of "resolve" all the time inside of Promise.all and Promise.race, when called with constructor being the %Promise% intrinsic object. This improves the performance on the parallel-async-es2017-native benchmark by roughly 2-3%. Bug: v8:7253 Change-Id: Ida93b88afbaeae61f17be4cd30ea6a78b4267cea Reviewed-on: https://chromium-review.googlesource.com/955564Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51810}
-
- 02 Mar, 2018 1 commit
-
-
Benedikt Meurer authored
Previously the array iterator protector only guarded the lookup of the @@iterator symbol on the initial Array.prototype, and we had to use an additional map check on the %ArrayIteratorPrototype% to ensure that no one messed with the next() method. This CL extends the array iterator protector to also guard the lookup of %ArrayIteratorPrototype%.next. This simplifies the code quite a bit and makes it more robust for cases where someone has to install additional methods on the iterator prototype, i.e. a custom async iterator. Bug: v8:7510, v8:7514 Change-Id: Ie6080bb837a91a2b60b224597121470614210660 Reviewed-on: https://chromium-review.googlesource.com/945728Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51684}
-
- 22 Feb, 2018 1 commit
-
-
Sathya Gunasekaran authored
Private fields should not return undefined on access miss, but instead should throw a TypeError. This patch uses a bit on v8::Symbol to mark if this symbol is a private field or not. This patch also changes the LookupIterator code path that deals with LookupIterator::State::DATA to deal with JSReceiver instead of JSObject. Note: the error message doesn't output the field name, but that's a WIP. Bug: v8:5368 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I8ae960b478eb6ae1ebf9bc90658ce3654d687977 Reviewed-on: https://chromium-review.googlesource.com/905627 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#51452}
-
- 16 Feb, 2018 1 commit
-
-
Jakob Kummerow authored
This doesn't enable the warning yet, but adds V8_FALLTHROUGH annotations in enough places so that v8 can build with the warning on on my linux box. Found one real bug (in effect-control-linearizer.cc, https://chromium-review.googlesource.com/c/v8/v8/+/850392/3/src/compiler/effect-control-linearizer.cc#825 ). Bug: chromium:812686 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I3542550b9c24b545641d0f0fc43f28f2780b0ab3 Reviewed-on: https://chromium-review.googlesource.com/911731Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#51322}
-
- 14 Feb, 2018 1 commit
-
-
Camillo Bruni authored
This CL introduces the FailureMessage and StackTraceFailureMessage objects. They are force to be stack allocated and their first and last member contain marker values. With the help of these markers we can easily extract the stored information in external tools such as grokdump and crash. Change-Id: Iec4f5195eec5a2bf08e1f674c9ced13d2345f030 Reviewed-on: https://chromium-review.googlesource.com/915067Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#51295}
-
- 08 Feb, 2018 1 commit
-
-
Adam Klein authored
This reverts commit 14108f4c. Reason for revert: Not the culprit for Canary microtask crashes Original change's description: > [builtins] Mega-revert to address the Dev blocker in crbug.com/808911. > > - Revert "[builtins] Save one word in contexts for Promise.all." > This reverts commit 7632da06. > - Revert "[builtins] Also use the Promise#then protector for Promise#finally()." > This reverts commit d4f072ce. > - Revert "[builtins] Don't mess with entered context for MicrotaskCallbacks." > This reverts commit 6703dacd. > - Revert "[debugger] Properly deal with settled promises in catch prediction." > This reverts commit 40dd0658. > - Revert "[builtins] Widen the fast-path for Promise builtins." > This reverts commit db0556b7. > - Revert "[builtins] Unify PerformPromiseThen and optimize it with TurboFan." > This reverts commit a582199c. > - Revert "[builtins] Remove obsolete PromiseBuiltinsAssembler::AppendPromiseCallback." > This reverts commit 6bf88852. > - Revert "[builtins] Turn NewPromiseCapability into a proper builtin." > This reverts commit 313b490d. > - Revert "[builtins] Inline InternalPromiseThen into it's only caller" > This reverts commit f7bd6a2f. > - Revert "[builtins] Implement Promise#catch by really calling into Promise#then." > This reverts commit b23b098f. > - Revert "[promise] Remove incorrect fast path" > This reverts commit 0f6eafe8. > - Revert "[builtins] Squeeze JSPromise::result and JSPromise::reactions into a single field." > This reverts commit 8a677a28. > - Revert "[builtins] Refactor promises to reduce GC overhead." > This reverts commit 8e7737cb. > > Tbr: hpayer@chromium.org > Bug: chromium:800651, chromium:808911, v8:5691, v8:7253 > Change-Id: I8c8ea5ed32ed62f6cd8b0d027a3707ddd891e5f1 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Reviewed-on: https://chromium-review.googlesource.com/906991 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Commit-Queue: Adam Klein <adamk@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51158} Change-Id: I09d958cbebd635a325809072a290f2f53df8c5d4 Tbr: adamk@chromium.org,yangguo@chromium.org,bmeurer@chromium.org Bug: chromium:800651, chromium:808911, v8:5691, v8:7253 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/908988Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#51181}
-
- 07 Feb, 2018 1 commit
-
-
Benedikt Meurer authored
- Revert "[builtins] Save one word in contexts for Promise.all." This reverts commit 7632da06. - Revert "[builtins] Also use the Promise#then protector for Promise#finally()." This reverts commit d4f072ce. - Revert "[builtins] Don't mess with entered context for MicrotaskCallbacks." This reverts commit 6703dacd. - Revert "[debugger] Properly deal with settled promises in catch prediction." This reverts commit 40dd0658. - Revert "[builtins] Widen the fast-path for Promise builtins." This reverts commit db0556b7. - Revert "[builtins] Unify PerformPromiseThen and optimize it with TurboFan." This reverts commit a582199c. - Revert "[builtins] Remove obsolete PromiseBuiltinsAssembler::AppendPromiseCallback." This reverts commit 6bf88852. - Revert "[builtins] Turn NewPromiseCapability into a proper builtin." This reverts commit 313b490d. - Revert "[builtins] Inline InternalPromiseThen into it's only caller" This reverts commit f7bd6a2f. - Revert "[builtins] Implement Promise#catch by really calling into Promise#then." This reverts commit b23b098f. - Revert "[promise] Remove incorrect fast path" This reverts commit 0f6eafe8. - Revert "[builtins] Squeeze JSPromise::result and JSPromise::reactions into a single field." This reverts commit 8a677a28. - Revert "[builtins] Refactor promises to reduce GC overhead." This reverts commit 8e7737cb. Tbr: hpayer@chromium.org Bug: chromium:800651, chromium:808911, v8:5691, v8:7253 Change-Id: I8c8ea5ed32ed62f6cd8b0d027a3707ddd891e5f1 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/906991 Commit-Queue: Yang Guo <yangguo@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51158}
-
- 04 Feb, 2018 1 commit
-
-
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}
-
- 23 Jan, 2018 1 commit
-
-
Benedikt Meurer authored
Use this in the PromiseThen operation to skip the (expensive) lookup in the SpeciesConstructor operation. This yields in a nice 3-5% improvement on the bluebird and wikipedia benchmarks, and paves the way for inlining certain Promise operations into TurboFan optimized code later. On the micro-benchmark mentioned in the bug (from the findings doc), we reduce the overall execution time by 25%, which makes sense given that Promise.prototype.then spends a significant portion of it's time just figuring out the appropriate constructor. Bug: v8:7253, v8:7349 Change-Id: Ia1577b59d1b7e4b8dbda83e2186583edab76695a Reviewed-on: https://chromium-review.googlesource.com/880681Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50794}
-
- 16 Jan, 2018 1 commit
-
-
Choongwoo Han authored
If there is no constructor or species updates on Array or TypedArrays, then skip lookups of constructor and species so that we can create a new typed array quickly. This path makes TA.p.slice() 2x faster in fast cases. Bug: chromium:800356, v8:7161 Change-Id: Ied8c90e23ca6708f4a3cec077c1fd733e4a6609e Reviewed-on: https://chromium-review.googlesource.com/859397Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#50617}
-
- 10 Jan, 2018 1 commit
-
-
Jakob Gruber authored
This reverts commit 8fbc6a05. Reason for revert: https://crbug.com/800356 Original change's description: > Optimize TypedArraySpeciesCreate using SpeciesProtector of Array > > If there is no constructor or species updates on Array or TypedArrays, > then skip lookups of constructor and species so that we can create a new > typed array quickly. This path makes TA.p.slice() 4x faster in fast > cases. > > Bug: v8:7161 > Change-Id: Ib8d2a3f6b8b5ed356c5822a814164166d1285f64 > Reviewed-on: https://chromium-review.googlesource.com/828343 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50423} TBR=jkummerow@chromium.org,jgruber@chromium.org,ishell@chromium.org,bmeurer@chromium.org,cwhan.tunz@gmail.com Change-Id: Icca07564d2a83710852eb797bac25f1d5600696e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7161 Reviewed-on: https://chromium-review.googlesource.com/859156Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#50470}
-
- 09 Jan, 2018 1 commit
-
-
Choongwoo Han authored
If there is no constructor or species updates on Array or TypedArrays, then skip lookups of constructor and species so that we can create a new typed array quickly. This path makes TA.p.slice() 4x faster in fast cases. Bug: v8:7161 Change-Id: Ib8d2a3f6b8b5ed356c5822a814164166d1285f64 Reviewed-on: https://chromium-review.googlesource.com/828343 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#50423}
-