- 22 Sep, 2020 22 commits
-
-
Tobias Tebbi authored
This is to establish a naming rule for Torque-generated files: - If the file is called foo/bar-tq..., then it is derived from a file foo/bar.tq - Otherwise it doesn't belong to a specific .tq file. So far, we attached -tq to all Torque-generated file names, where it sometimes corresponded to a .tq file name and sometimes not. It is not necessary to add -tq to file names to indicate that they are Torque-generated, since they are already in a directory called torque-generated, and we always refer to them as "torque-generated/filename", so there is no confusion even though some files now have the same name as a corresponding hand-written file, for example factory.cc. TBR: hpayer@chromium.org Bug: v8:7793 Change-Id: Ie172babad1fc7422fd1059c48f5dafaa53e50c8b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414218 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#70060}
-
Dominik Inführ authored
It is not allowed to invoke ResetPendingObject() in MarkCompactCollector::StartMarking(). This method is invoked when starting incremental marking, at this point the object might not be initialized. Bug: v8:10315 Change-Id: I7659855d78fbb28536f57b26e8a7d33c1ba4092e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2424267Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70059}
-
Dominik Inführ authored
Avoid race with concurrent allocation thread by updating the flag conditionally. Bug: v8:10315 Change-Id: I63df8ab5a6a506e9337281c9fef7555b9deaaee6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2424264Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70058}
-
Leszek Swirski authored
Also remove yangguo@ at his behest. Change-Id: Ief4176663ab01ff7b1d75aa8d6907c96ab519310 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421822Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#70057}
-
Andreas Haas authored
The tests are flaky because of missing safepoint information for stack checks. Adding the safepoint information there is not trivial though, so I disable these tests for now to keep at least the bots green. An alternative would be to revert the CLs that add safepoints in the first place. However, I would prefer to avoid the overhead that would be caused by it. The implementation is completely hidden behind a flag, so it does not have impact on production code. R=clemensb@chromium.org Bug: v8:10929 Change-Id: I38c0e3c3806de2cc39ba26bc3b47c2ea8d1cf81a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423705Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#70056}
-
Tobias Tebbi authored
Bug: v8:10577 Change-Id: I28aaec30b73def5034294f71bb6bda466172b4ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400978 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Cr-Commit-Position: refs/heads/master@{#70055}
-
Dominik Inführ authored
Otherwise concurrent allocation might start incremental marking, which would then mark the global handle. Bug: v8:10315 Change-Id: Ibc681b001847a7c52e9fd8a0420e42a0d0ecfbda Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2424004Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70054}
-
Cong Zuo authored
Change-Id: I257cd745966cbd9ee87eb725b3f80fbf5bf40ca3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423743Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#70053}
-
Clemens Backes authored
This flag has no uses in any tests, and it's hard to image a use case for debugging or similar. R=ahaas@chromium.org Bug: v8:10933 Change-Id: I2e96187e4410805824d213e9a9df152b54dd3fb2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421825Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70052}
-
Michael Achenbach authored
No-Try: true Bug: chromium:1126457 Change-Id: Iea2f8f37b172fb130c13b0f1d397eb5789c82893 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423720 Auto-Submit: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#70051}
-
Vicky Kontoura authored
This CL improves the condition that checks all parameters received from JavaScript when calling an exported WebAssembly function to determine whether they can be transformed without calls to built-in functions. The condition is now updated to stop checking if one parameter that cannot be transformed quickly is encountered. Bug: v8:10943 Change-Id: If199aa8d2ffcef86f973c23d9663f8091dfced8d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423713Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Vicky Kontoura <vkont@google.com> Cr-Commit-Position: refs/heads/master@{#70050}
-
Nico Hartmann authored
This reverts commit 4a2b2b2e. Reason for revert: Speculative revert due to https://ci.chromium.org/p/chromium/builders/try/linux-rel/495075? Original change's description: > [Heap]: Marking use Jobs. > > StopRequest is removed in favor of: > COMPLETE_TASKS_FOR_TESTING -> JoinForTesting() > PREEMPT_TASKS -> Pause() > COMPLETE_ONGOING_TASKS now has the same behavior as PREEMPT_TASKS > - we should avoid waiting on the main thread as much as possible. > > Change-Id: Icceeb4f0c0fda2ed234b2f26fe308b11410fcfb7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2376166 > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70037} TBR=ulan@chromium.org,etiennep@chromium.org Change-Id: I63f24bffa0f56c6ffa1d1977fc4fb8a76b6f3ba2 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423722Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#70049}
-
Dominik Inführ authored
Tests fails sometimes with concurrent allocation. Bug: v8:10315 Change-Id: Ic055a3573f6daacc435670efcf2e310f4c746451 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423714Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70048}
-
Jakob Kummerow authored
Choose the page size based on V8_HOST_ARCH_ARM64 (i.e. we're building an arm64 binary) instead of V8_TARGET_ARCH_ARM64 (i.e. V8's compilers are emitting arm64 instructions, which is the case in simulator builds as well). Drive-by: - use V8_TARGET_OS_MACOSX instead of __APPLE__ - drop implementation difference between AllocatePageSize and CommitPageSize on POSIX (they must return the same value anyway) This continues and obsoletes the work at https://chromium-review.googlesource.com/c/v8/v8/+/2314102 . Bug: chromium:1107945, chromium:1128932 Change-Id: Iaaa509dd496ff581ddda4d957bc3d35d806cf81e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421817 Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#70047}
-
Marja Hölttä authored
It's inherently timing-dependent, leading to false positives. Bug: chromium:1127612, v8:10239 Change-Id: Ibf6f3cb07f520a404daf8e860a0c2e5f2319529e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423707 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#70046}
-
Marja Hölttä authored
The actual fix is in LoadIC::ComputeHandler (checking lookup_start_object == holder instead of receiver == holder) + the LookupIterator changes for preserving lookup_start_object. The rest is renaming / refactoring. Bug: v8:9237, chromium:1127653 Change-Id: Ieef46fb46ababa79623951c48639429c5b552d2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414039 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#70045}
-
Dominik Inführ authored
StressConcurrentAllocatorTask now checks whether tear down was started for the isolate to avoid allocation failures. As a drive-by change remove the unused method ConcurrentAllocator::PerformCollectionAndAllocateAgain. Bug: v8:10315 Change-Id: Iba329ebbd782e9f8f11e9b8ec644bf28ab9c80ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423703Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70044}
-
Almothana Athamneh authored
Bug: v8:10875 Change-Id: Idde7011b82a292c83758e5a181442960e55a8592 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421824 Auto-Submit: Almothana Athamneh <almuthanna@chromium.org> Reviewed-by: Liviu Rau <liviurau@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Liviu Rau <liviurau@chromium.org> Cr-Commit-Position: refs/heads/master@{#70043}
-
Dominik Inführ authored
Added scopes to diallow/allow GCs from happening using a DCHECK. It is stricter than DisallowHeapAllocation, since this also doesn't allow safepoints. As soon as Turbofan is ready, we can replace all usages of DisallowHeapAllocation with DisallowGarbageCollection. Bug: v8:10315 Change-Id: I12c144ec099d9af57d692ff343adbe7aec46c0c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2362960Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70042}
-
Ulan Degenbaev authored
Building and running tests with v8_enabled_concurrent_marking=false currently produces two failures: 1) Segmentation fault on attempt to mark a read-only object. This is fixed by changing MarkBit::Set to be a no-op if the object is already marked (which is the case for the readonly space). 2) Missing write-barrier due to bogus condition in the bailout. The barrier can be skipped only if the host object is not marked yet. This also disables two concurrent allocation tests that rely on concurrent marking write-barrier. Bug: v8:10875 Change-Id: Ib3a238fc34c8f20c697470e0bd4ac427fb4bdc0e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421816Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70041}
-
johnx authored
See b/169093796 for details Change-Id: Icdb6fac9d3063cc0dedd68e318805b88f4c06bc6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421982 Auto-Submit: John Xu <johnx@google.com> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70040}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/4070870..e78873c Rolling v8/third_party/aemu-linux-x64: LUFkW5GTwXItfKWgJt7kkk1hEf35ZueIbx73KwUN5K0C..zVhDYckO5pABaht9PlF8y1S_JicWTnMzwymJyNabQj4C Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/244d770..cc29098 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/92b3622..7c1d1f3 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: Ief975fc418bf135578e441c849e41f1635897980 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2422777Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#70039}
-
- 21 Sep, 2020 18 commits
-
-
Ng Zhi An authored
Instantiating a module that contains a function (exported) with a v128 in its signature is fine, but then later calling it will trap. So v128 values are technically not callable from JS, but we can give it a default argument of 0, and will later trap anyway. This is useful when fuzzers generate functions with v128 in the signature of the main function that we then later try to call. Bug: chromium:1129068 Change-Id: I93f239a0355b8059e25b8bd5f1274d151d71ee11 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2419657 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70038}
-
Etienne Pierre-doray authored
StopRequest is removed in favor of: COMPLETE_TASKS_FOR_TESTING -> JoinForTesting() PREEMPT_TASKS -> Pause() COMPLETE_ONGOING_TASKS now has the same behavior as PREEMPT_TASKS - we should avoid waiting on the main thread as much as possible. Change-Id: Icceeb4f0c0fda2ed234b2f26fe308b11410fcfb7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2376166 Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70037}
-
Dominik Inführ authored
Avoid resetting log flags as this could cause data races with allocating background threads. Bug: v8:10315 Change-Id: I7be01ff54e349652f182b944ed3f3366d1239ad7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421814 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70036}
-
Dominik Inführ authored
Test doesn't finish in 60s with --stress-concurrent-allocation, similar to --stress-gc. Bug: v8:10315 Change-Id: Id46231616387605ee49bfb54512828c0c8e84745 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2422000 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70035}
-
Dominik Inführ authored
Test was asserting heap size before and after GC. With background thread allocation those assertions might not hold. Bug: v8:10315 Change-Id: I4f8c0f6d0b80040b3c89f85e801416abb29ed30e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421999Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70034}
-
Vicky Kontoura authored
This CL introduces a fast path for transforming JavaScript parameters to WebAssembly when calling an exported WebAssembly function from JavaScript. A transformation is considered fast when it does not require a call to a built-in function, thus spilling registers for the call can be avoided. Bug: v8:10943 Change-Id: I5563bfdf77a68bef7ab8afc6d0f4ab2d2ea67bd4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2418857Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Vicky Kontoura <vkont@google.com> Cr-Commit-Position: refs/heads/master@{#70033}
-
Manos Koukoutos authored
Changes: - When checking if a table is a function table, check for subtyping to funcref instead of equality. - Add WasmModuleObject argument to GetFunctionTableEntry. - Implement WasmTableObject::Get/Set for all legal table types. - Factor out SetFunctionTableEntry from WasmTableObject::Set. - Write unittests and JS tests. Bug: v8:9495 Change-Id: I4f0c7a7013f17c561afb3039c5e0811634a4d313 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416387 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#70032}
-
Seth Brenith authored
Change-Id: I65ed798968b602891e7f8d13c08c9065ab58d6d7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2418367Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#70031}
-
Tobias Tebbi authored
regarding --no-enable-experimental-regexp-engine Bug: v8:10941 Change-Id: I9c3d9f8616b4ba9464ae699e1edf458c1f994952 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421812 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70030}
-
Manos Koukoutos authored
Drive-by: add const modifier to some StructType fields Bug: v8:7748 Change-Id: Ic0b4bb51ed01502f19d082c669683f69b85e76e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2419015 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#70029}
-
Clemens Backes authored
Remove the hack introduced in https://crrev.com/c/2412176, use the existing {ValueTypeToConstantName} function instead. R=ahaas@chromium.org Bug: chromium:1127717 Change-Id: I4ac50346825d7b00ea8dadccd7798a273ae84499 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421568Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70028}
-
Santiago Aboy Solanes authored
Bug: v8:7790 Change-Id: Ibe41dcc3d1717326b8ce7bf3491bf32a8d0882b0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421810 Commit-Queue: Georg Neis <neis@chromium.org> Auto-Submit: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#70027}
-
Martin Bidlingmaier authored
Assertions are implemented with the new ASSERTION instruction. The nfa interpreter evaluates the assertion based on the current context in the subject string every time a thread executes ASSERTION. This is analogous to what re2 and rust/regex do. Alternatives to this approach: - The interpreter could calculate eagerly for all assertion types whether they are satisfied whenever the current input position is advanced. This would make evaluating the ASSERTION instruction itself cheaper, but at the cost of making every advance in the input string more expensive. I suspect this would be slower on average because assertions are not that common that we typically evaluate >= 2 assertions at every input position. - Assertions in a regexp could be desugared into CONSUME_RANGE instructions, so that no new instruction would be necessary. For example, the word boundary assertion \b is satisfied at a given position/state if we have just consumed a word character and will consume a non-word character next, or vice-versa. The tricky part about this is that the assertion itself should not consume input, so we'd have to split (automaton) states according to whether we've arrived at them via a word character or not. The current compiler is not really equipped for this kind of transformation. For {start,end} of {line,file} assertions, we'd need to introduce dummy characters indicating start/end of input (say, 0x10000 and 0x10001) which we feed to the interpreter before respectively after the actual input. I suspect that this approach wouldn't make much of a difference for NFA execution. It would likely speed up (lazy) DFA execution though because assertions would be dealt with in the fast path. Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Bug: v8:10765 Change-Id: Ic2012c943e0ce54eb8662789fb3d4c1b6cd8d606 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398644 Commit-Queue: Martin Bidlingmaier <mbid@google.com> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#70026}
-
Dominik Inführ authored
Return MaybeHandle directly instead of converting to Handle first and then back to MaybeHandle. Bug: v8:10315 Change-Id: I7d0b67ea3931ad4eba48fc58d934d5722ff70905 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2418402Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70025}
-
Zhao Jiazhong authored
emit_u32_to_intptr should zero-extend the low 32 bits of the src. Bug: v8:10925 Change-Id: I48135da054d5f30d7aa4d67918c839debc7cdb2f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2418031Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#70024}
-
Ulan Degenbaev authored
When a compaction space allocates a new code page, that pages needs to be added to the Isolate::code_pages_ array used for stack unwinding. Since the array is owned by the main thread, compaction thread cannot directly modify it. Because of that code pages are added upon merging of the compaction space to the main space in MergeLocalSpace. The bug was that all code pages coming from the compaction space were added to the code_pages_ array. However, some of the pages are not newly allocated but merely borrowed from the main space. This CL keeps track of all newly allocated paged by a compaction space. Bug: v8:10900 Change-Id: Iff3ff5d608df60fb752d2e0ffc29e51f2d967936 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2418718 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#70023}
-
Ulan Degenbaev authored
Since the flag is enabled by default, it is more useful to have the reverse implications so that disabling the flag is guaranteed to work. Bug: v8:10315 Change-Id: I191c35682442925f3fed691460d074ba6715fc99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2409498 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#70022}
-
Dominik Inführ authored
That DCHECK could fail even though GC was in the right state. It could happen that the first load gets the old value NOT_IN_GC, since this isn't TEAR_DOWN a second load needs to be performed. The load then returns TEAR_DOWN but that doesn't match NOT_IN_GC either. Fix this by only loading gc_state() once. Bug: v8:10315 Change-Id: Ibcad540fa4d5f578c9936c472b294bbccebdc09a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2418719Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70021}
-