- 04 Apr, 2022 7 commits
-
-
Jakob Gruber authored
- Unhandlify OSROptimizedCodeCache::GetOptimizedCode. - Unstatic-fy FeedbackVector::SetOptimizedCode. - Remove frame-walking logic during the OSR tierup decision. The reland is unchanged from the original CL. Bug: v8:12161 Change-Id: Ibf03a9dd9a6fcd38c0664e5d5014a26d0240e035 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3568463Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79752}
-
Benedikt Meurer authored
This changes the logic for generating method names in `error.stack` to prepend an inferred type name only when the function name is a valid ECMAScript identifiers and does not equal the inferred type name, to (1) give developers more control over the exact name shown in `error.stack`, as well as (2) avoid confusion in the presence of renaming of local variables. Previously we'd leave the function name as-is if it was prefixed by the inferred type name, but that condition is unnecessarily strict, and led to a bunch of inconsistencies around special names like `<instance_member_initializer>` where this dynamic approached often prefixed it with the correct type name, but also sometimes got it wrong and prepended `Object.`, which is very unfortunate and misleading. Specifically for these special names, we'll add logic later in the parser to infer a useful (complete) name. The design doc (https://bit.ly/devtools-method-names-in-stack-traces) contains more background and examples of why we do this change. Doc: https://bit.ly/devtools-method-names-in-stack-traces Fixed: chromium:1294619 Bug: chromium:1283435 Change-Id: Ib8b528ba25255dcd07e9d11044c562c11d699bcb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565724Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#79748}
-
Jakob Gruber authored
This is a reland of commit 3ce690ee Changed for the reland: - Remove the currently-unused BytecodeArray member to avoid MSAN failures. - s/return/continue/ in optimizing-compile-dispatcher. 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 Change-Id: I48b100e5980c909ec5e79d190aaea730c83e9386 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565720Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Auto-Submit: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79746}
-
Alexander Schulze authored
Bug: v8:12581 Change-Id: I4d98e48801ffcfbe507c61ba296da67359e3f5cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3568464 Auto-Submit: Alexander Schulze <alexschulze@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Liviu Rau <liviurau@chromium.org> Commit-Queue: Alexander Schulze <alexschulze@chromium.org> Cr-Commit-Position: refs/heads/main@{#79743}
-
Jakob Gruber authored
.. since they are the same as eager deopts (% an unused counter). Fixed: v8:12765 Change-Id: I2be6210e476ead4ac6629a49259f28321e965867 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565717Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79729}
-
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}
-
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 13 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}
-
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}
-
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}
-
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}
-
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}
-
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 10 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}
-
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}
-
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}
-
Jakob Gruber authored
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/+/3560447Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79687}
-
Jakob Gruber authored
- 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/+/3560478Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79686}
-
Jakob Gruber authored
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/+/3548820Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79685}
-
Frank Tang authored
Spec Text: https://tc39.es/proposal-temporal/#sec-temporal.calendar.prototype.monthsinyear Note- this is only the non-intl version. intl version in https://tc39.es/proposal-temporal/#sup-temporal.calendar.prototype.monthsinyear will be implemented in later cl. Bug: v8:11544 Change-Id: Ibf7a9f1e64ce638f745df2649ee3a69dc9e08139 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3531559Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#79682}
-
- 30 Mar, 2022 8 commits
-
-
Frank Tang authored
Also add AO: ToISODayOfYear Spec Text: https://tc39.es/proposal-temporal/#sec-temporal.calendar.prototype.dayofyear https://tc39.es/proposal-temporal/#sec-temporal-toisodayofyear Note- this is only the non-intl version. intl version in https://tc39.es/proposal-temporal/#sup-temporal.calendar.prototype.dayofyear will be implemented in later cl. Bug: v8:11544 Change-Id: I5e5f9ea93cc0577df8d9b228efe5c3a97d118b88 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3531566Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#79681}
-
Adam Klein authored
Bug: v8:12749 Change-Id: I33d0313625c38f9634ffba5ed358c1782811ddde Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3561184 Commit-Queue: Adam Klein <adamk@chromium.org> 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@{#79680}
-
Marja Hölttä authored
Bug: chromium:1308360,chromium:1309467,v8:9237 Change-Id: I2923e3ee60b4b30c4e2b57b9c8569a030fc7bfbd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3550588Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#79676}
-
Dominik Inführ authored
When starting a global safepoint, it could happen that one isolate is waiting/blocking in the event loop, which prevents this isolate from reaching a safepoint. As a consequence we therefore deadlock when performing the safepoint. We can solve this by simply posting a task for each isolate that when run performs a safepoint check. This CL also renames IncludeMainThreadUnlessInitiator to ShouldIncludeMainThread. Bug: v8:11708, v8:12645 Change-Id: Ide956b3c39b350c2bb0279a7dd94ff79cb9d771b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3555771Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79675}
-
Jakob Gruber authored
.. with readability and simplicity in mind. - Rename OptimizationMarker to the (shorter) TieringState. 'Tiering' also matches 'TieringManager' terminology. - Rename the values: kNone -> kNone kInOptimizationQueue -> kInProgress kCompileFoo_NotConcurrent -> kRequestFoo_Synchronous kCompileFoo_Concurrent -> kRequestFoo_Concurrent - Likewise rename ConcurrencyMode::kNotConcurrent to kSynchronous. - Add predicates to test enum values. - Consistent lower case names for accessors on JSFunction and FeedbackVector. - Instead of having to call HasOptimizationMarker() before using any other accessor, simply have optimization_marker() return kNone if no feedback vector exists. - Drive-by: Enable the Unreachable() in MaybeOptimizeCode() unconditionally - this should never happen, there's no reason not to protect against this in release builds as well. Bug: v8:12161 Change-Id: I67c03e2b7bd0a6b86d0c64f504ad8cb47e9e26ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3555774Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Auto-Submit: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79669}
-
jameslahm authored
- For y = x & 0xFF, we could use movzxbq y, x. - For y = x & 0xFFFF, we could use movzxwq y, x. - For y = x & 0xFFFFFFFF, we could use movl y, x. - For y = x & immediate and immediate fits into uint32, we could use andl x, immediate. Bug: v8:12337 Change-Id: I31f04fa9058c6acabb210f0fce61ac713ed1a382 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3518913Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79668}
-
Nico Hartmann authored
This reverts commit e76ad5c6. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20-%20shared/19438/overview 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: I9e26696a7113b1bacafa800c8d6ef24df38c41fd No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557233 Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#79667}
-
Manos Koukoutos authored
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/+/3541925Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79665}
-
- 29 Mar, 2022 1 commit
-
-
Shu-yu Guo authored
Bug: v8:11111, v8:12731, v8:12742 Change-Id: I2679c0e64faca25a2c16e15fd3a5c727eb941c92 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3551894Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#79662}
-