- 19 Feb, 2019 1 commit
-
-
Benedikt Meurer authored
When setting up the initial map for a (class or function) constructor, we always over-allocate a bunch of in-object properties, in case not all property assignments happen as `this.prop = val` assignments in the constructor. However this over-allocation was a bit too aggressive and added a slack of 8 to each class constructor (plus a minimum of two, when there was no `this.prop = val` assignment). So in total this would yield an object with initially 40 in-object property slots in case of a simple class hierarchy like this: ```js class A {}; class B extends A {}; class C extends B {}; class D extends C {}; new D; ``` While the slack tracking takes care of eventually shrinking the objects to appropriate sizes, this aggressive over-allocation is still going to hurt performance quite a bit in the beginning, and will also lead to more traffic on the minor GC for now good reason. Instead of the above, we now allocate a minimum of 2 in-object properties per class (in a hierarchy) and then add a slack of 8 in the end. Meaning for the example above we end up with 16 initial in-object property slots, which seems sensible. Bug: v8:8853 Change-Id: I4a11e35a8612ceef1d776ca2f0543a26c8c2a2bf Reviewed-on: https://chromium-review.googlesource.com/c/1477276Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#59670}
-
- 18 Feb, 2019 2 commits
-
-
Andrew Comminos authored
Signal a condition variable when profiling thread shutdown should occur, waking up a profiling thread that's currently waiting for the next tick. Mitigates the case where if a high sample interval is specified (e.g. 60s), the main thread is blocked until the next sample occurs due to a Sleep() call. Bug: v8:8843 Change-Id: Ied6b0bfb5c47a072ade17870911b961f5091f613 Reviewed-on: https://chromium-review.googlesource.com/c/1470953 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#59648}
-
Ulan Degenbaev authored
This replaces Heap::InNewSpace with Heap::InYoungGeneration and fixes tests that are sensitive to page size. Bug: chromium:852420 Change-Id: I32b1eafb45813ea3bdcbda075f9e6156aaf4c5e3 Reviewed-on: https://chromium-review.googlesource.com/c/1475766Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59647}
-
- 15 Feb, 2019 8 commits
-
-
Sigurd Schneider authored
This is a step towards making gn check pass on v8 without third_party Change-Id: I6a256d65159695e2ba2a5d44c0437cac9b28aa3a Bug: v8:8834, v8:8855 Reviewed-on: https://chromium-review.googlesource.com/c/1475460Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59641}
-
Igor Sheludko authored
... and verify that upper 32-bits of on-heap tagged values contain zero. This CL also removes scratch register argument from decompression snippets. Bug: v8:7703 Change-Id: Ia69d1c5de423c465735719ed07d92df03d9db97c Reviewed-on: https://chromium-review.googlesource.com/c/1460953 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#59634}
-
Toon Verwaest authored
Escaped contextual keywords are simply valid identifiers if they do not occur in the context where they are a keyword. Escape sequences of the form \uNNNN or \u{NNNNNN} must be consumed as part of the identifier. If such escaped contextual keywords do occur in a context where they are a keyword, they are a syntax error. In that case we manually check locally whether they are escaped. Bug: v8:6543, v8:6541 Change-Id: I7e1557963883e722310b9078d7d7636ec94aa603 Reviewed-on: https://chromium-review.googlesource.com/c/1473293Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#59628}
-
Peter Marshall authored
Also drive-by cleanup the TestMemoryAllocatorScope class so that it takes ownership of the old allocator while it holds onto it, and so that the MemoryAllocator for testing is constructed inside the scope rather than passed into it. This means users don't need to explicitly call TearDown() and delete the allocator as the scope does it for them. Change-Id: Id7da3c074618a376d2edfe3385bb185ba8287cea Reviewed-on: https://chromium-review.googlesource.com/c/1392194 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59627}
-
Tobias Tebbi authored
This changes the behavior of overload resolution to not consider if the call happens in a branching context (i.e., with implicit True and False labels from a conditional operator or statement). That way, it is not possible to get different behavior accidentially by using an operator in the wrong context. Instead, there will be a compile error because the call happened in a non-branching context, or because it is ambiguous without this information. The test doesn't perfectly fit the issue (impossible until we have negative tests), but instead tests that equality on HeapNumber's works in boolean contexts, which is something Peter fixed already in https://crrev.com/c/1432596. Bug: v8:8737 v8:7793 Change-Id: I08a3801891587aac705dc93b1c65b0c6cf164107 Reviewed-on: https://chromium-review.googlesource.com/c/1456093Reviewed-by:
Peter Wong <peter.wm.wong@gmail.com> Reviewed-by:
Daniel Clifford <danno@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59625}
-
Igor Sheludko authored
Bug: v8:8477, v8:8834 Change-Id: If613bc4a32cdce68d9bcf747bf0bf528e3c2a90c Reviewed-on: https://chromium-review.googlesource.com/c/1473290Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59620}
-
Igor Sheludko authored
Bug: v8:8477, v8:8834 Change-Id: I5ff2df3988cde5f806cecc9e40259ba02f6265d2 Reviewed-on: https://chromium-review.googlesource.com/c/1473291Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59619}
-
Jakob Kummerow authored
This takes heap-inl.h out of the "Giant Include Cluster". Naturally, that means adding a bunch of explicit includes in a bunch of places that relied on transitively including them before. As of this patch, no header file outside src/heap/ includes heap-inl.h. Bug: v8:8562,v8:8499 Change-Id: I65fa763f90e66afc30d105b9277792721f05a6d4 Reviewed-on: https://chromium-review.googlesource.com/c/1459659 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59617}
-
- 14 Feb, 2019 4 commits
-
-
Alexei Filippov authored
Change-Id: I4f7c80f89ad4d023f96a9113ebb6628df44fb61c Reviewed-on: https://chromium-review.googlesource.com/c/1469325Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#59607}
-
Igor Sheludko authored
Bug: v8:8477, v8:8834 Change-Id: I9213cca077a2758b87a6cb95bcb01d0186c32098 Reviewed-on: https://chromium-review.googlesource.com/c/1472633Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59602}
-
Alexander Timokhin authored
HeapNumbers and MutableHeapNumber requires alignment for their double value field but for now this field can be misaligned on 32-bit platforms. According to code in Heap::GetFillToAlign() function, kDoubleUnaligned doesn't actually mean "unaligned" but "aligned to half of double". This CL fixes this misalignment. Change-Id: I9b9c58d580bb287e7dad44bc96cd6b4593707b5e Reviewed-on: https://chromium-review.googlesource.com/c/1470113 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59599}
-
Dan Elphick authored
If enable_omit_source_positions is true (defaults to false), source position tables are not generated when compiling bytecode. They will then be regenerated when exceptions are thrown. This adds a new function Compiler::CollectSourcePositions which given a SharedFunctionInfo with bytecode but no source position table re-parses and regenerates the bytecode but this time with source positions collection enabled. Note this will reparse all inner functions that have previously been compiled since the preparse data is no longer available. With the flag enabled there still 18 test failures mostly related to debugging. v8: 8510 Change-Id: I46dff9818d8a89c901ba8ae8df94dcaca83aa658 Reviewed-on: https://chromium-review.googlesource.com/c/1385165 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#59595}
-
- 13 Feb, 2019 7 commits
-
-
Jakob Gruber authored
This is a reland of c79a63e6 Original change's description: > [nojit] Don't expose wasm in jitless mode > > Wasm currently still creates executable memory even in > interpreter-only mode, and is thus unsupported in jitless mode. This > hides wasm completely, which will help e.g. fuzzers that attempt to > run wasm code (and currently crash on the CHECK in AddOwnedCode). > > Bug: v8:7777,chromium:931068 > Change-Id: Iee692cb947d482ba16fb0f4da32490d42d5daef8 > Reviewed-on: https://chromium-review.googlesource.com/c/1470124 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59561} Tbr: mstarzinger@chromium.org Bug: v8:7777, chromium:931068 Change-Id: I535c3f598c90cd5c4072a73544cc33c5bf5460c1 Reviewed-on: https://chromium-review.googlesource.com/c/1470132Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59571}
-
Jakob Gruber authored
This reverts commit c79a63e6. Reason for revert: Needs addtl test skips: https://chromium-review.googlesource.com/c/1470124 Original change's description: > [nojit] Don't expose wasm in jitless mode > > Wasm currently still creates executable memory even in > interpreter-only mode, and is thus unsupported in jitless mode. This > hides wasm completely, which will help e.g. fuzzers that attempt to > run wasm code (and currently crash on the CHECK in AddOwnedCode). > > Bug: v8:7777,chromium:931068 > Change-Id: Iee692cb947d482ba16fb0f4da32490d42d5daef8 > Reviewed-on: https://chromium-review.googlesource.com/c/1470124 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59561} TBR=mstarzinger@chromium.org,jgruber@chromium.org Change-Id: Ic242db3efe73ef362e0f0c3efde90682db6de4a8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7777, chromium:931068 Reviewed-on: https://chromium-review.googlesource.com/c/1470131Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59570}
-
Georg Neis authored
They did the same thing. Change-Id: I6b63762352dae2dce58fb3a6182af52cd0aadef6 Reviewed-on: https://chromium-review.googlesource.com/c/1470126 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#59566}
-
Jakob Gruber authored
Wasm currently still creates executable memory even in interpreter-only mode, and is thus unsupported in jitless mode. This hides wasm completely, which will help e.g. fuzzers that attempt to run wasm code (and currently crash on the CHECK in AddOwnedCode). Bug: v8:7777,chromium:931068 Change-Id: Iee692cb947d482ba16fb0f4da32490d42d5daef8 Reviewed-on: https://chromium-review.googlesource.com/c/1470124Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59561}
-
Nico Weber authored
For macros expanding to function definitions, I removed the spurious ; after macro invocations. For macros expandign to function declarations, I made the ; required and consistently inserted it. No behavior change. Bug: chromium:926235 Change-Id: Ib8085d85d913d74307e3481f7fee4b7dc78c7549 Reviewed-on: https://chromium-review.googlesource.com/c/1467545Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59558}
-
Georg Neis authored
They didn't take the new premonomorphic state into account. My bad. Bug: chromium:931424 Change-Id: I74ad1f0f8ce0eb764d63c2a3527e597962baca6d Reviewed-on: https://chromium-review.googlesource.com/c/1470125Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59552}
-
Andrew Comminos authored
Sets an atomic field on each sampler when it requests a sample, to be checked when the SIGPROF handler is executed. A counter is not used since signals may be coalesced. Prior to this change, all samplers attached to an isolate received samples when other samplers sent SIGPROF to the VM thread. This change alters the behaviour of different CpuProfiler instances on the same isolate to be in line with the Windows / Fuchsia behaviour. Bug: v8:8835 Change-Id: I0caaa845b596efc9d8b1cd7716c067d9a6359c57 Reviewed-on: https://chromium-review.googlesource.com/c/1468941 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#59545}
-
- 12 Feb, 2019 5 commits
-
-
Maya Lekova authored
Implemented branching and merging of Environments to facilitate handling of conditional and unconditional jumps in the SerializerForBackgroundCompilation. Added tests and printing helpers for the Environment. The internal structure of the hints was changed to ZoneSet to support avoiding of duplicates. Alternative implementation considerations were documented here: https://docs.google.com/document/d/1vCQYhtFPqXafSMweSnGD8l0TKEIB6cPV5UGMHJtpy8k/edit?ts=5bf7d341#heading=h.jx4br0df5qzm R=neis@chromium.org Bug: v8:7790 Change-Id: Ib929c75ddb7f7fb290a5ca28d4422680a1514a4f Reviewed-on: https://chromium-review.googlesource.com/c/1451847Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#59534}
-
Georg Neis authored
... as there's no search involved and there are never multiple names. Change-Id: Ice88c4d98195e74f6540926b0a1199df62b42da2 Reviewed-on: https://chromium-review.googlesource.com/c/1466645Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59532}
-
Ulan Degenbaev authored
Most of the users of InNewSpace actually mean InYoungGeneration. Subsequent CL will remove InNewSpace to avoid confusion. Bug: chromium:852420 Tbr: mlippautz@chromium.org Change-Id: I6234d162d51c215787972e7ada1cd5b804b60fda Reviewed-on: https://chromium-review.googlesource.com/c/1463521Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59523}
-
Georg Neis authored
This avoids confusion with the code that is being generated. R=sigurds@chromium.org Change-Id: Icb5bd417ca8502553af201654cca1419b9eac87d Reviewed-on: https://chromium-review.googlesource.com/c/1462001 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59522}
-
Sigurd Schneider authored
Change-Id: I2bd8027801e978a4469aa18daedf2d7b3a6a0322 Reviewed-on: https://chromium-review.googlesource.com/c/1463524Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59520}
-
- 11 Feb, 2019 8 commits
-
-
Alexei Filippov authored
TBR=petermarshall@chromium.org NOTRY=true BUG=v8:8821 Change-Id: I5493047aed19e664f2ee4e2a2e90ad035c12c175 Reviewed-on: https://chromium-review.googlesource.com/c/1464940 Commit-Queue: Alexei Filippov <alph@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#59516}
-
Caitlin Potter authored
Currently, PRIVATE_NAME / PrivateIdentifier is not valid in ObjectLiterals or other places expecting the PropertyName production. A SyntaxError here prevents an access violation later on when attempting to dereference a null property key BUG=v8:8808 R=gsathya@chromium.org, littledan@chromium.org Change-Id: Idde9c669cb48c1595b83115351a8fe0caed40eef Reviewed-on: https://chromium-review.googlesource.com/c/1461161Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#59515}
-
Alexei Filippov authored
The line number is associated with each sample along with pointer to the ProfileNode and timeDelta. Once collected line numbers are streamed as an array of integers in "ProfileChunk" trace events. If all the line numbers are zero, the array may be omitted. Otherwise the array length matches length of samples and timeDeltas arrays. BUG=chromium:925089 Change-Id: I1ef5cd1b208b03bb127f4d17b1efa74c01959542 Reviewed-on: https://chromium-review.googlesource.com/c/1459739Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#59514}
-
Michael Lippautz authored
Change-Id: I9544759a42f66dc384d354204be64081c5cc39fe Reviewed-on: https://chromium-review.googlesource.com/c/1461996 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#59509}
-
Igor Sheludko authored
Bug: v8:7703 Change-Id: I8fa2659814f1d9585d0e2313540e8c11997eec6b Reviewed-on: https://chromium-review.googlesource.com/c/1459636 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59507}
-
Andrew Comminos authored
Fixes a segfault that occurs when v8::CpuProfilers are restarted caused by the reuse of a stale CodeEventObserver. Bug: chromium:929928 Change-Id: I5d5f7eaf5cd903910130cdb0cfec8c3fd6608edd Reviewed-on: https://chromium-review.googlesource.com/c/1459740Reviewed-by:
Alexei Filippov <alph@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#59506}
-
Ulan Degenbaev authored
Bug: chromium:852420 Change-Id: I659e8d2d047387d7b73f11406b29696d74d84ff7 Reviewed-on: https://chromium-review.googlesource.com/c/1462965Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59503}
-
Clemens Hammacher authored
When executing the interpreter, we should not try to create compiled code. Otherwise we cannot implement and test a feature in the interpreter in isolation. R=ahaas@chromium.org CC=fgm@chromium.org Change-Id: I2074de31650a52b38b2f6e530e20b427d2d1db65 Reviewed-on: https://chromium-review.googlesource.com/c/1462876Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59493}
-
- 09 Feb, 2019 5 commits
-
-
Mike Stanton authored
This is a reland of 7179cdb1 The node integration build failure appears to be constant. Original change's description: > Reland "Introduce a PREMONOMORPHIC state to StoreGlobalIC" > > (Fixed test failure in lite-mode) > > Introduce a PREMONOMORPHIC state to StoreGlobalIC > > It's used rather narrowly for now -- only when we run into an > interceptor during the lookup. After the call to SetProperty, we know > more. That is, the interceptor was only there because it's a new > property, and the call to SetProperty ends up creating it. > > By delaying the initialization of the IC, we recognize the (now) > created property, and can provide good feedback downstream to > TurboFan. > > TBR=ishell@chromium.org > > Bug: v8:8712 > Change-Id: Ieb79dcf1354ee294ad0f479a4a6c41a77f389850 > Reviewed-on: https://chromium-review.googlesource.com/c/1460955 > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Commit-Queue: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59483} TBR=ishell@chromium.org Bug: v8:8712 Change-Id: I31aa4c066ff46cb39187eed392313d2e524f4445 Reviewed-on: https://chromium-review.googlesource.com/c/1461998Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#59485}
-
Michael Stanton authored
This reverts commit 7179cdb1. Reason for revert: Breaks node integration build. Original change's description: > Reland "Introduce a PREMONOMORPHIC state to StoreGlobalIC" > > (Fixed test failure in lite-mode) > > Introduce a PREMONOMORPHIC state to StoreGlobalIC > > It's used rather narrowly for now -- only when we run into an > interceptor during the lookup. After the call to SetProperty, we know > more. That is, the interceptor was only there because it's a new > property, and the call to SetProperty ends up creating it. > > By delaying the initialization of the IC, we recognize the (now) > created property, and can provide good feedback downstream to > TurboFan. > > TBR=ishell@chromium.org > > Bug: v8:8712 > Change-Id: Ieb79dcf1354ee294ad0f479a4a6c41a77f389850 > Reviewed-on: https://chromium-review.googlesource.com/c/1460955 > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Commit-Queue: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59483} TBR=mvstanton@chromium.org,ishell@chromium.org Change-Id: Ifd45908ee66760ef9199d9722b7e558c31f77830 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8712 Reviewed-on: https://chromium-review.googlesource.com/c/1461997Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#59484}
-
Mike Stanton authored
(Fixed test failure in lite-mode) Introduce a PREMONOMORPHIC state to StoreGlobalIC It's used rather narrowly for now -- only when we run into an interceptor during the lookup. After the call to SetProperty, we know more. That is, the interceptor was only there because it's a new property, and the call to SetProperty ends up creating it. By delaying the initialization of the IC, we recognize the (now) created property, and can provide good feedback downstream to TurboFan. TBR=ishell@chromium.org Bug: v8:8712 Change-Id: Ieb79dcf1354ee294ad0f479a4a6c41a77f389850 Reviewed-on: https://chromium-review.googlesource.com/c/1460955Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#59483}
-
Michael Stanton authored
This reverts commit ec06b5c4. Reason for revert: Breaks "lite" builder. Original change's description: > Introduce a PREMONOMORPHIC state to StoreGlobalIC > > It's used rather narrowly for now -- only when we run into an > interceptor during the lookup. After the call to SetProperty, we know > more. That is, the interceptor was only there because it's a new > property, and the call to SetProperty ends up creating it. > > By delaying the initialization of the IC, we recognize the (now) > created property, and can provide good feedback downstream to > TurboFan. > > Bug: v8:8712 > Change-Id: I4e10ba220c8363b393c6de84ce35fe5ef0e9c427 > Reviewed-on: https://chromium-review.googlesource.com/c/1456090 > Commit-Queue: Michael Stanton <mvstanton@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59481} TBR=mvstanton@chromium.org,ishell@google.com,ishell@chromium.org Change-Id: I072a55275d64315924090a68247bb430f5c4f03d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8712 Reviewed-on: https://chromium-review.googlesource.com/c/1460954Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#59482}
-
Mike Stanton authored
It's used rather narrowly for now -- only when we run into an interceptor during the lookup. After the call to SetProperty, we know more. That is, the interceptor was only there because it's a new property, and the call to SetProperty ends up creating it. By delaying the initialization of the IC, we recognize the (now) created property, and can provide good feedback downstream to TurboFan. Bug: v8:8712 Change-Id: I4e10ba220c8363b393c6de84ce35fe5ef0e9c427 Reviewed-on: https://chromium-review.googlesource.com/c/1456090 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59481}
-