- 04 Apr, 2022 6 commits
-
-
Nikolaos Papaspyrou authored
This CL removes two obsolete regression tests that were taking too long on debug engine builds. Bug: v8:12753 Bug: v8:12754 Change-Id: I818101725caa22fb4b2ed22381f01a2dd9436fe4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3563563Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#79727}
-
Michael Achenbach authored
No-Try: true Bug: chromium:1288926 Change-Id: I05402b802f6d17dfea1211a682d3ed38f83e5aeb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565722 Auto-Submit: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Liviu Rau <liviurau@chromium.org> Commit-Queue: Liviu Rau <liviurau@chromium.org> Cr-Commit-Position: refs/heads/main@{#79726}
-
Michael Achenbach authored
Bug: chromium:1298903 Change-Id: Idcde256ebfc7c3446e808ee6da5118de104ef4c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565719Reviewed-by: Tamer Tas <tmrts@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#79725}
-
Michael Achenbach authored
Bug: chromium:1312860 Change-Id: I3b30e1ffea640fa1fdfdd73fc1ac1cb38d68f616 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565718Reviewed-by: Tamer Tas <tmrts@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#79724}
-
Leszek Swirski authored
Make LazyDeoptInfo and EagerDeoptInfo both store a CheckpointedInterpreterState for the bytecode position and register frame, and make codegen store pointers to these deopt infos instead of the checkpoint. This opens the door to using InputLocation for lazy deopts, same as for eager ones. Bug: v8:7700 Change-Id: I8ff3056ff72fd9f2288d41769979c5183c3d0972 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3563561Reviewed-by: Jakob Linke <jgruber@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79723}
-
jameslahm authored
In DisassembleFunction runtime, function may have available optimized code and we could directly set the optimized code for the function like in CompileLazy if it's not compiled, which avoids calling Compiler::Compile and failed in DCHECK(!function->HasAvailableOptimizedCode()). Bug: v8:12762 Change-Id: I00001fc598f3fc96dfe86b2367e8ba88f0085fd3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3563448Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79722}
-
- 02 Apr, 2022 1 commit
-
-
Frank Tang authored
Spec Text: https://tc39.es/proposal-temporal/#sec-temporal.calendar.prototype.daysinweek Note- this is only the non-intl version. intl version in https://tc39.es/proposal-temporal/#sec-temporal.calendar.prototype.daysinweek will be implemented in later cl. Bug: v8:11544 Change-Id: If54733ae7c902b4d189fc22b0800942f8748981c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3439186Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#79721}
-
- 01 Apr, 2022 21 commits
-
-
Frank Tang authored
Spect Text: https://tc39.es/proposal-temporal/#sec-temporal.calendar.prototype.daysinmonth Note- this is only the non-intl version. intl version in https://tc39.es/proposal-temporal/#sup-temporal.calendar.prototype.daysinmonth will be implemented in later cl. Bug: v8:11544 Change-Id: Id5d426d9c5fe1db94c15433afbad443c7056abe3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3441703Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#79720}
-
Anton Bikineev authored
Traced nodes can contain SMIs, e.g. when base::ScriptValue is constructed. The CL filters them out when visiting V8->C++ references, as otherwise it crashes later assuming HeapObject. Bug: chromium:1029379 Change-Id: Idaafc92d4dc1bd14c7d1a07e2177202a8af336a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3555769Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#79719}
-
Milad Fa authored
IBMi does not yet support prefixed instructions, p10 features need to be disabled until OS support is available. Change-Id: Idca7d6ebd791b06ef8f1f8419badd1a3db0f277f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3562980Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79718}
-
Frank Tang authored
Spec Text: https://tc39.es/proposal-temporal/#sec-temporal.zoneddatetime.prototype.toplainyearmonth https://tc39.es/proposal-temporal/#sec-temporal.zoneddatetime.prototype.toplainmonthday Bug: v8:11544 Change-Id: I5b109282187055df767239ff240822591f95c9a7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565009Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#79717}
-
Benoit Lize authored
For short builtin calls, the builtins are copied on the heap when they cannot be put close enough to be in range of relative calls. This costs memory, as the embedded builtins are part of the binary, and mapped from the binary, and as a consequence shared with all running processes. Rather than copying the memory, we can remap it at a different address, avoiding the memory cost. This CL does that, on ARM64 macOS only for now. This saves at least ~1.4MiB of memory per V8 process. See below the output of vmmap <PID>: [...] Memory Tag 255 7408308000-740833c000 [ 208K 144K 144K 0K] r-x/rwx SM=ZER Memory Tag 255 740833c000-7408340000 [ 16K 0K 0K 0K] ---/rwx SM=ZER Memory Tag 255 7408344000-7408348000 [ 16K 0K 0K 0K] ---/rwx SM=ZER Memory Tag 255 7408348000-740837c000 [ 208K 144K 144K 0K] r-x/rwx SM=ZER Memory Tag 255 740837c000-740fe80000 [123.0M 0K 0K 0K] ---/rwx SM=ZER mapped file 740fe80000-740ffe4000 [ 1424K 1328K 0K 0K] r-x/rwx SM=COW ...pp/Contents/Frameworks/Chromium Framework.framework/Versions/102.0.4958.0/Chromium Framework Memory Tag 255 740ffe4000-7410000000 [ 112K 0K 0K 0K] ---/rwx SM=ZER The "208K" regions are 256kiB code pages, minus the header and guard pages, meaning that they are code chunks. The mapped file are the remapped builtins, showing that they aren't copied, but remapped from the binary. Bug: chromium:1298417 Change-Id: Ia30a43e671726d01450a7db0ecb7777b34763053 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3553006Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Benoit Lize <lizeb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79716}
-
Dominik Inführ authored
Lock mutex for shared isolate in global safepoints, such that e.g. the StringTable can use isolate->heap()->safepoint()->AssertActive() even for shared isolates. Bug: v8:11708, v8:12749 Change-Id: I8d99203581dfa2d7225846e19fa981300f88589e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3563138Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79715}
-
jameslahm authored
Skipped test: https://crrev.com/c/3561199. This is a reland of commit 6e2c9bb2 Original change's description: > [serialize] copy bytes for non detachable array_buffer > in WriteJSArrayBuffer when array_buffer is not in > array_buffer_transfer_map_ > > According to https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal > steps 13.3.2-4, should normally serialize array buffer which > is not detachable. > > Bug: v8:12703 > Change-Id: I4554c5d07ae85e1a96a728ebba04c6a071575f6f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3518910 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Commit-Queue: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79466} Bug: v8:12703 Change-Id: I1ad1b8159ac7b13011831a4590e8577e954db946 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557689Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79714}
-
Dominik Inführ authored
Since the new space is always empty after a full GC, the old-to-new remembered set is also always empty after a full GC. This means we can get rid of the sweeping_slot_set_. This slot set was used to allow the main thread to insert into the old-to-new remembered set non-atomically. The sweeping slot set was owned by the sweeper, which deletes slots in free memory from it. The main thread would start with an empty old-to-new remembered set. After sweeping both slot sets are merged again. The sweeper now needs to behave differently during a GC. When sweeping a page during full GC, the sweeper needs to delete old-to-new-slots in free memory. Outside of the GC the sweeper isn't allowed to remove from the old-to-new slots anymore. This would race with the main thread that adds slots to that remembered set while the sweeper is running. However, there should be no recorded slots in free memory. DCHECKing this is tricky though, because we would need to synchronize with the main thread right-trimming objects and at least String::MakeThin only deletes slots after the map release-store. Bug: v8:12760 Change-Id: Ic0301851a714e894c3040595f456ab93b5875c81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3560638Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79713}
-
Manos Koukoutos authored
Add an array of canonical rtts on the isolate. Each wasm instance copies its rtts from there, based on the type index -> canonical index mapping in the module. Bug: v8:7748 Change-Id: I0958686c51ecab15a3215a0da3bee1ad6d543cb3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3548821Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79712}
-
Thibaud Michaud authored
The current safety margin between the JS stack limit and the actual boundary of the stack space reserved by the simulator can be overrun by a large frame. Raise this margin to 4KiB, corresponding to the "large frame" threshold. This ensures that the stack check is executed before the frame is allocated if the frame is larger than this margin. R=clemensb@chromium.org Bug: chromium:1308333 Change-Id: I3e1a51bb36c630c7e37e58679971392dada2a83e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3560435Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#79711}
-
Dominik Inführ authored
While this field isn't used, inititialize it to null. Bug: v8:11708 Change-Id: I9698e73183f49ef54b8978383e1406e5cf765c75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3562982 Auto-Submit: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79710}
-
Yuly Novikov authored
Bug: chromium:1292528 Change-Id: If4da2ec92afb7b4fe9942778eca385344b9b6409 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3563539 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79709}
-
Liviu Rau authored
Change-Id: I34cc92cf75e242db5a0873635989c097afd245bf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3564563Reviewed-by: Lutz Vahl <vahl@chromium.org> Commit-Queue: Liviu Rau <liviurau@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#79708}
-
Igor Sheludko authored
... in JSObject::DefineOwnPropertyIgnoreAttributes(). Don't execute interceptor again if it declined to handle the operation. Bug: chromium:1311641 Change-Id: If61ed40665ff7d81e96fa6bf29bbb5dfbeadfcc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3562979Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#79707}
-
Liu Yu authored
Port daa3ce75 Bug: v8:11798 Change-Id: I693b98309b62bd1cb9c7d0d1cac1b28189085d5d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3523580 Auto-Submit: Yu Liu <liuyu@loongson.cn> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#79706}
-
Marja Hölttä authored
Bug: v8:11111,v8:12746,chromium:1307480 Change-Id: I7775776ae98c3727b435aca4f269400ff8e31c53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3560440Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#79705}
-
v8-ci-autoroll-builder authored
Rolling v8/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu/+log/493fb32..5fb4338 Remove deprecated android related targets (Mohamed Heikal) https://chromium.googlesource.com/chromium/deps/icu/+/5fb4338 R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com,ftang@chromium.org Change-Id: I256b8496be046011fe8e612f7e4d839795d7a3dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565165 Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#79704}
-
Frank Tang authored
https://chromium.googlesource.com/external/github.com/tc39/test262/+log/f7fb969..4c7c246 Bug: v8:7834 Change-Id: Ic1ea873e635a761dd4cd36a9dde20d481055425e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3561904Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#79703}
-
Adam Klein authored
This reverts commit 3ce690ee. Reason for revert: failures on CrOS MSan build: https://crbug.com/1312188 Original change's description: > [osr] Basic support for concurrent OSR > > This CL adds basic support behind --concurrent-osr, > disabled by default. > > When enabled: > 1) the first OSR request starts a concurrent OSR compile job. > 2) on completion, the code object is inserted into the OSR cache. > 3) the next OSR request picks up the cached code (assuming the request > came from the same JumpLoop bytecode). > > We add a new osr optimization marker on the feedback vector to > track whether an OSR compile is currently in progress. > > One fundamental issue remains: step 3) above is not guaranteed to > hit the same JumpLoop, and a mismatch means the OSR'd code cannot > be installed. This will be addressed in a followup by targeting > specific bytecode offsets for the install request. > > This change is based on fanchen.kong@intel.com's earlier > change crrev.com/c/3369361, thank you! > > Bug: v8:12161 > Change-Id: Ib162906dd4b6ba056f62870aea2990f1369df235 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3548820 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79685} Bug: v8:12161, chromium:1312188 Change-Id: Iac1e3fd67ecc658a1cdee8f4d13354c097ed6697 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3564983 Auto-Submit: Adam Klein <adamk@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79702}
-
Adam Klein authored
This reverts commit dc9b48e4. Reason for revert: https://crbug.com/1312188 Original change's description: > Address comments from `[osr] Basic support for concurrent OSR` > > - Unhandlify OSROptimizedCodeCache::GetOptimizedCode. > - Unstatic-fy FeedbackVector::SetOptimizedCode. > - Remove frame-walking logic during the OSR tierup decision. > > Bug: v8:12161 > Change-Id: I4fa8c972cb50d369b17898ba57e1909c86e933df > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3560478 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79686} Bug: v8:12161, chromium:1312188 Change-Id: Ia64c4204f9f65f19aa858c61f32658cee310033e No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3564990 Auto-Submit: Adam Klein <adamk@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#79701}
-
Adam Klein authored
This reverts commit d368dcf4. Reason for revert: https://crbug.com/1312188 Original change's description: > Refactor OSROptimizedCodeCache > > Tweak a few names, remove a few GetIsolate calls, other minor > usability refactors. > > It may be worth taking a closer look at the impl in the future, > currently the design choices don't seem ideal (see the added TODO > on top of the class). > > Bug: v8:12161 > Change-Id: Ib34e372aa58a30c68c9c5cdd0d1da0ec3e86717c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3560447 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79687} Bug: v8:12161, chromium:1312188 Change-Id: Ieb3a91682845a23536fdfdf3208af74b3c6585f8 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3564989 Auto-Submit: Adam Klein <adamk@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#79700}
-
- 31 Mar, 2022 12 commits
-
-
Frank Tang authored
Spec Text: https://tc39.es/proposal-temporal/#sec-temporal.calendar.prototype.inleapyear Note- this is only the non-intl version. intl version in https://tc39.es/proposal-temporal/#sup-temporal.calendar.prototype.inleapyear will be implemented in later cl. Bug: v8:11544 Change-Id: I0f30d45ed6d742acaeaa2f7ddf5b393ef7fa5437 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3531561Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#79699}
-
Frank Tang authored
Also add AO: ToISODayOfWeek Spec Text: https://tc39.es/proposal-temporal/#sec-temporal.calendar.prototype.dayofweek https://tc39.es/proposal-temporal/#sec-temporal-toisodayofweek Note- this is only the non-intl version. intl version in https://tc39.es/proposal-temporal/#sup-temporal.calendar.prototype.dayofweek will be implemented in later cl. Bug: v8:11544 Change-Id: I0b3448209741e4aa56cd8170a331d837853bff17 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3531564Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#79698}
-
Shu-yu Guo authored
These tests are too slow to be generally run. Bug: v8:12741 Change-Id: I142a81a90558942a61b8582756b9227e6d8d634e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3558558 Auto-Submit: Shu-yu Guo <syg@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#79697}
-
Milad Fa authored
Port dbff2a67 R=dmercadier@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I6b34e6cd502012474c619bbcb1e473ee4f7472db Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3564278Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79696}
-
jameslahm authored
In JSCallReducer::ReduceArrayPrototypeShift, when disable FLAG_turbo_loop_variable, typer cannot infer loop phi variable is in [1, kMaxCopyElements-1], and will break in representing kRepFloat64 (Range(1, inf)) to kRepWord64 when converting input for kLoadElement. So we need to add type guard for loop variable. And we need to use loop phi variable when using NumberLessThan to check terminate and updating phi loop variable, otherwise which will break inducing variables in LoopVariableOptimizer. Bug: v8:12632, chromium:1308241, chromium:1308029, chromium:1308087 Change-Id: I9f96e696f1103f39e633890b17b87bfb28b1dbc4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3546577Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#79695}
-
Joyee Cheung authored
As a follow-up of https://chromium-review.googlesource.com/c/v8/v8/+/3481475, this renames a few more operations related to property stores to keep them consistent and adds comments to explain about what they do. Summary of the renamed identifiers: - SetPropertyInLiteral -> CreateDataProperty: this implements [[CreateDataProperty]] in the spec which does [[DefineOwnProperty]] instead of [[Set]], so rename for clarity. - IsStoreIC(), IsStoreICKind() -> IsSetNamedIC(), IsSetNamedICKind(): these only check whether the feedback kind is kSetNamedSloppy or kSetNamedStrict, so the scope can be narrowed. - StoreMode::kOrdinary -> StoreMode::kSet: this implements [[Set]] in the spec and is used by both KeyedStoreIC and StoreIC to set the properties when there is no feedback. - StoreMode::kInLiteral -> StoreMode::kDefineKeyedOwnInLiteral: this implements [[CreateDataProperty]] while expecting the receiver to be a JSObject created by us (the `InLiteral` part). Prepend `DefineKeyedOwn` to it so that it's more aligned with other StoreModes - it should be possible to just merge this into the more generic StoreMode::kDefineKeyedOwn later. - KeyedStoreGenericAssembler::SetProperty -> KeyedStoreGenericAssembler::StoreProperty: these helpers are used by both define and set operations, distinguished with the StoreMode, so rename it to the more generic StoreProperty. Bug: v8:12548 Change-Id: Iccef673c1dc707bbdbf010f02f7db1e9ec32b3e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557690Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/main@{#79694}
-
Hans Wennborg authored
Recent Clang versions have enhanced -Wunused-but-set-variable which now warns about this. Bug: chromium:1309955 Change-Id: If5c1ce77bdcdb1e04eed4ae9e10ee1d7f2e8658d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3563139Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Hans Wennborg <hans@chromium.org> Auto-Submit: Hans Wennborg <hans@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79693}
-
Manos Koukoutos authored
This is a reland of commit e76ad5c6 Changes compared to original: - Move invocation of LAZY_INSTANCE_INITIALIZER to a static global variable, as some builds were failing with a function-level static. - Drive-by: Improve documentation a bit. Original change's description: > [wasm-gc] Implement isorecursive canonicalization > > This implements isorecursive canonicalization for static types. > > Not implemented in this CL: > - Runtime type canonicalization. > - Cross-module signature canonicalization for purposes of call_indirect. > > Bug: v8:7748 > Change-Id: I6214f947444eea8d7b15a29b35c94c3d07ddb525 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3541925 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79665} Bug: v8:7748 Change-Id: I493fba1906491762f7d8bae50108e3e4a743391d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3560480Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79692}
-
Al Muthanna Athamina authored
Bug: chromium:1306474 Change-Id: Id01949dc413ca5af5132827001fbe380f8477368 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557250 Auto-Submit: Almothana Athamneh <almuthanna@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#79691}
-
Leszek Swirski authored
Bug: v8:7700 Change-Id: Ib2ea6be1e9a69c724e526287e05de0e65029b672 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3560441 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79690}
-
Stephen Roettger authored
Deprecate signature checks in * Template::SetNativeDataProperty * ObjectTemplate::SetAccessor These are not used in Chrome and require some complicated check in the IC code, which we want to remove. Change-Id: I413fafc8658e922fd590e7fe200600a624f019a6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557253Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Stephen Röttger <sroettger@google.com> Cr-Commit-Position: refs/heads/main@{#79689}
-
Leszek Swirski authored
Nodes can now hold a LazyDeoptSafepoint which stores the frame state in case they trigger a lazy deopt. OpProperties have a new CanLazyDeopt bit, and codegen emits a safepoint table entry + lazy deopt for all nodes with this bit. Also, we now check the deoptimized code bit on entry into the maglev compiled function. An example use of these lazy deopts is added as a PropertyCell fast path for LdaGlobal, which adds a code dependency on the property cell. Bug: v8:7700 Change-Id: I663db38dfa7325d38fc6d5f079d263a958074e36 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557251Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79688}
-