- 12 Oct, 2020 24 commits
-
-
Ng Zhi An authored
Implement on interpreter and x64. Bug: v8:10997 Change-Id: I3537ce54e1b56cc3b04d91cb07c430c35b88c3aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2459109 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#70459}
-
Zhi An Ng authored
This reverts commit 5e5eaf79. Reason for revert: Failure on V8 Linux gcc https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20gcc/8929? Original change's description: > [csa] Fix semantics of PopAndReturn > > This CL prohibits using PopAndReturn from the builtins that > have calling convention with arguments on the stack. > > This CL also updates the PopAndReturn tests so that even off-by-one > errors in the number of poped arguments are caught which was not the > case before. > > Motivation: > > PopAndReturn is supposed to be using ONLY in CSA/Torque builtins for > dropping ALL JS arguments that are currently located on the stack. > Disallowing PopAndReturn in builtins with stack arguments simplifies > semantics of this instruction because in case of presence of declared > stack parameters it's impossible to distinguish the following cases: > 1) stack parameter is included in JS arguments (and therefore it will > be dropped as a part of 'pop' number of arguments), > 2) stack parameter is NOT included in JS arguments (and therefore it > should be dropped in ADDITION to the 'pop' number of arguments). > > This issue wasn't noticed before because builtins with stack parameters > relied on adapter frames machinery to ensure that the expected > parameters are present on the stack, but on the same time the adapter > frame tearing down code was effectively recovering the stack pointer > potentially broken by the CSA builtin. > > Once we get rid of the arguments adapter frames keeping stack pointer > in a valid state becomes crucial. > > Bug: v8:5269, v8:10201 > Change-Id: Id3ea9730bb0d41d17999c73136c4dfada374a822 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460819 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70454} TBR=tebbi@chromium.org,ishell@chromium.org Change-Id: I2673982a8f51cbecf421af11b0ce5ad5031fb406 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5269 Bug: v8:10201 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465656Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70458}
-
Ng Zhi An authored
This flag allows you to filter printing Wasm code to one particular function index. Bug: v8:10791 Change-Id: I400ccaadb8330e5e31e2faefdeddb169cdc85f71 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2459259 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70457}
-
Ng Zhi An authored
Load lane loads a value from memory and replaces a single lane of a simd value. This implements the load (no stores yet) for x64 and interpreter. Bug: v8:10975 Change-Id: I95d1b5e781ee9adaec23dda749e514f2485eda10 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2444578 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#70456}
-
Ng Zhi An authored
These instructions are not in the proposal, and will be unlikely to be requested (poor performance, insufficient use cases). As we get more instruction suggestions, these are sitting around on useful opcodes and we have to play musical chairs every time we prototype a new instruction. Bug: v8:10933 Change-Id: Ic7ce4e514c343d821f76b8c071e41f9bddfbd1ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2457669Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70455}
-
Igor Sheludko authored
This CL prohibits using PopAndReturn from the builtins that have calling convention with arguments on the stack. This CL also updates the PopAndReturn tests so that even off-by-one errors in the number of poped arguments are caught which was not the case before. Motivation: PopAndReturn is supposed to be using ONLY in CSA/Torque builtins for dropping ALL JS arguments that are currently located on the stack. Disallowing PopAndReturn in builtins with stack arguments simplifies semantics of this instruction because in case of presence of declared stack parameters it's impossible to distinguish the following cases: 1) stack parameter is included in JS arguments (and therefore it will be dropped as a part of 'pop' number of arguments), 2) stack parameter is NOT included in JS arguments (and therefore it should be dropped in ADDITION to the 'pop' number of arguments). This issue wasn't noticed before because builtins with stack parameters relied on adapter frames machinery to ensure that the expected parameters are present on the stack, but on the same time the adapter frame tearing down code was effectively recovering the stack pointer potentially broken by the CSA builtin. Once we get rid of the arguments adapter frames keeping stack pointer in a valid state becomes crucial. Bug: v8:5269, v8:10201 Change-Id: Id3ea9730bb0d41d17999c73136c4dfada374a822 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460819 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#70454}
-
Ng Zhi An authored
Use a doubly-nested switch on SimdType for conversions, this ensures that we handle all possible cases (and we actually missed one, converting i64x2 -> f32x4, which is added in this patch.) Bug: v8:10507 Change-Id: I493becb2616c51d02d5868f235653baba5a0b4af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2464144 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#70453}
-
Ng Zhi An authored
Manual copy and paste of all code found in the namespace base. I didn't change any of the implementation code. Pull in a new file for optimized ARM implementation. Added a list of adaptions made to document what is different from chromium. Change-Id: I88b4af45437506cf57755e48fdfc88027a5aed33 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2436610 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#70452}
-
Mythri A authored
For turboprop, it's a better tradeoff to reuse the code than specialising the code for a particular closure especially given we optimize quite early when compared to Turbofan. Bug: v8:9684 Change-Id: Icf5d8548bbdcac9e202dcf44c68e06cc4c732ba7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461242 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#70451}
-
v8-ci-autoroll-builder authored
Rolling v8/base/trace_event/common: https://chromium.googlesource.com/chromium/src/base/trace_event/common/+log/23ef533..e0f2b84 Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/1cb6993..7e6351e Rolling v8/third_party/aemu-linux-x64: FgthknmEoQugl3GqOyqz_RsAjIMmeLsa960mZcmhE9UC..PL87Lj_q7GOEzYJ2eJIJAzMtQbuLWVnmjDQPqfu2O64C Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/d82d30d..cd2eebd Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/1407cfd..b073999 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/f513a0b..7e5979b Rolling v8/tools/luci-go: git_revision:83c3df996b224edf5061840744395707a0e513e7..git_revision:576741d3eed0fa33971fb34cd823650e6f5b47fb Rolling v8/tools/luci-go: git_revision:83c3df996b224edf5061840744395707a0e513e7..git_revision:576741d3eed0fa33971fb34cd823650e6f5b47fb Rolling v8/tools/luci-go: git_revision:83c3df996b224edf5061840744395707a0e513e7..git_revision:576741d3eed0fa33971fb34cd823650e6f5b47fb Rolling v8/tools/swarming_client: https://chromium.googlesource.com/infra/luci/client-py/+log/44c13d7..d46ea76 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I5a5acd9aa6eeab96a1999d55654349cdfb664275 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465037Reviewed-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@{#70450}
-
Pierre Langlois authored
This test allocates a large mapping and splits into kThunkBufferSize areas that it needs to be able to change permissions on. So kThunkBufferSize needs to be set to the largest page size possible, which is 64k at the moment. It doesn't matter if kThunkBufferSize is larger than the actual page size. Bug: v8:10808 Change-Id: I3a8947f04a7ec25be49a54015cd128e901065ea6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463404Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#70449}
-
Nico Hartmann authored
According to this change in chromium's DEPS https://chromium-review.googlesource.com/c/chromium/src/+/2446832 Bug: chromium:1137317 No-Try: true No-Presubmit: true Change-Id: I2b9e804f151834b58b77db1aca591e2eade91243 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465826 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#70448}
-
Zhao Jiazhong authored
Bug: v8:10201 Change-Id: I86cd6b73787cea307013dd311d048b20459ad573 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465052Reviewed-by: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#70447}
-
Ross McIlroy authored
Cleanup code to factor out bit-checks on register allocations to a seperate RegisterBitVector class. BUG=v8:9684 Change-Id: I33306a858da252d0be76eecaa9ea47b9b53f088b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2464936Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#70446}
-
Anna Henningsen authored
Fix a crash/hang that occurred when deleting a snapshot during the GC that is part of taking another one. Specifically, when deleting the only other snapshot in such a situation, the `v8::HeapSnapshot::Delete()` method sees that there is only one (complete) snapshot at that point, and decides that it is okay to perform “delete all snapshots” instead of just deleting the requested one. That resets the internal string lookup table of the heap profiler, but the new snapshot that is currently in progress still holds references to the old string lookup table, leading to a use-after-free segfault or infinite loop. Fix this by guarding against resetting the string table while another heap snapshot is being taken, and add a test that would crash before this fix. This can be triggered in Node.js by repeatedly calling `v8.getHeapSnapshot()`, which provides heap snapshots as weakly held host objects. Change-Id: If9ac3728bf79114000982f1e7bb05e8034299e3c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2464823Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70445}
-
gengjiawen authored
See: https://github.com/nodejs/node/pull/35415 Change-Id: I5d77ae202d4bbfb0971246fe5de9c0ad17c485ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2459491Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Auto-Submit: Jiawen Geng <technicalcute@gmail.com> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#70444}
-
Camillo Bruni authored
This has been broken ever since we added multiple timeline-tracks. Drive-by-fix: Rename selectionMouseMove to selectTimeRange. Bug: v8:10644 Change-Id: Icff06a2d636a4a7302ac406f99e1012be4c7f25f No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463240 Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#70443}
-
Santiago Aboy Solanes authored
Clean-ups: * Remove the detaching of persistent handles from the LocalHeap if the main thread will not get the handles from the background thread. * Remove unused isolate member. * Make members private/protected as needed. Bug: v8:7790 Change-Id: I23bf4a41124bd04d4a848edfa1ef8f9e8e77182c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463234Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#70442}
-
Jakob Gruber authored
This is a reland of e2408c25 Changes since last time: also accept CRASH test results. For some reason, the CHECK failure is detected as a CRASH on mac bots. Original change's description: > [regexp] Protect against reentrant RegExpStack use > > Irregexp, and in particular the RegExpStack, are not reentrant. > Explicitly guard against reentrancy. > > Bug: chromium:1125934 > Change-Id: I0fc295f6986a89221982e6a2ccefed46193974f6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460820 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Auto-Submit: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70436} Tbr: yangguo@chromium.org Bug: chromium:1125934 Change-Id: I2116ca5944c49f6114228d4402847bdd426bdd7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465823Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#70441}
-
Santiago Aboy Solanes authored
A handful of methods were loading the same member twice in the same method. Bug: v8:7790 Change-Id: I20a1a95ed9dae2ff75bfdbf4c571d26ad02b1f94 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2454717Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#70440}
-
Ulan Degenbaev authored
This removes redundant worklist draining in the fix-point iteration. It may discover more ephemerons and break the assertion. The draining is not needed because FinishConcurrentMarking ensures that all background threads drain their worklists. Bug: chromium:1136405 Tbr: etiennep@chromium.org Change-Id: I3a311dca36dd2f88ab5006f995be235c74c1a0f6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2464933Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70439}
-
Camillo Bruni authored
- simplify CSS in index.css - fix start-page layout - reduce timeline-track height - fix timeline-track legend layout - fix scrollbar colors in dark theme Bug: v8:10644 Change-Id: If3bb7422e6866bac766e7851f489a42ecbcf1d78 No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463239 Auto-Submit: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#70438}
-
Nico Hartmann authored
This reverts commit e2408c25. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Mac64/36733?1 Original change's description: > [regexp] Protect against reentrant RegExpStack use > > Irregexp, and in particular the RegExpStack, are not reentrant. > Explicitly guard against reentrancy. > > Bug: chromium:1125934 > Change-Id: I0fc295f6986a89221982e6a2ccefed46193974f6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460820 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Auto-Submit: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70436} TBR=yangguo@chromium.org,jgruber@chromium.org Change-Id: I7b51659d21fe2d49ff343f4de0f6bb9720281b86 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1125934 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465822Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#70437}
-
Jakob Gruber authored
Irregexp, and in particular the RegExpStack, are not reentrant. Explicitly guard against reentrancy. Bug: chromium:1125934 Change-Id: I0fc295f6986a89221982e6a2ccefed46193974f6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460820 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#70436}
-
- 09 Oct, 2020 16 commits
-
-
Ng Zhi An authored
These tests were disabled because scalar lowering wasn't fully implemented yet. Now we are at a stage when we can enable them. The only remaining tests with lowering test disabled are prototype instructions, once they are merged into the proposal proper, scalar lowering should be implemented for them, and relevant tests enabled. Bug: v8:10507 Change-Id: I4b7c8778f70e226ebda3bf5a2a7dd5efa343bc0c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460841Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70435}
-
Ng Zhi An authored
Lowering for f32x4 and f64x2 pmin and pmax. Bug: v8:10501,v8:10507 Change-Id: I2d92d337835a62e6adb979ed573b616cc2b86c25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461453Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70434}
-
Ng Zhi An authored
Some of these functions don't need to be defined, we can directly call the same helpers defined elsewhere. Bug: v8:10933 Change-Id: I31464195b11ed14f0725d9ed9711fa72ddbb4e92 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461478Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70433}
-
Andreas Haas authored
A previous update got reverted due to a SIMD test,see https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8867662180901819968/+/steps/Check_-_ODROID/0/logs/simd_f32x4_pmin_pmax/0. R=zhin@chromium.org Bug: v8:10938 Change-Id: Id1e7e35112f127ccd8d5420b96f247d4fa2b52fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2454711Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#70432}
-
Milad Fa authored
ceilf and truncf do not preserve the sign bit when its input is passed by value and the output is rounded to 0: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97086 Change-Id: I2e3e4fc8822be9da0a16d99b4173641a91fa5957 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463505Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#70431}
-
Samuel Groß authored
This change tags pointers in the external pointer table with a type dependent value in order to prevent type confusions between different external pointers. Bug: v8:10391 Change-Id: I5a83178e5ac46d49a99c91047816926120d801d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2443133Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Samuel Groß <saelo@google.com> Cr-Commit-Position: refs/heads/master@{#70430}
-
Omer Katz authored
Tracing JSMembers uses the bailout mechanism. The bailout is implemented as a dynamic mechanism named DeferTraceToMutatorThreadIfConcurrent that is called from relevant Trace methods. Bug: chromium:1056170 Change-Id: I90e6feae25c4c832be256693f9e44a963a6794b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2426613 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#70429}
-
Michael Lippautz authored
Adds a cross-thread reference for strongly and weakly retaining objects on a thread other than the thread that owns the object. The intended use of the reference is by setting it up on the originating thread, holding the object alive from another thread, and ultimately accessing the object again on the originating thread. The reference has known caveats: - It's unsafe to use when the heap may terminate; - It's unsafe to transitively reach through the graph because of compaction; Change-Id: I84fbdde69a099eb54af5b93c34e2169915b17e64 Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2436449 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#70428}
-
Ross McIlroy authored
BUG=v8:9684 Change-Id: I064b552b021597a80e57303cab3c2fbf552be6a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463228 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#70427}
-
Clemens Backes authored
Always install the Abort builtin first, because heap validation might get triggered while we compile the wasm-to-js wrapper, and it would find an illegal WasmJSFunctionData object otherwise. TBR=manoskouk@chromium.org Bug: v8:9495 Change-Id: I959eb3b6e9944db8b7ad7ecd0a51eefdab98c751 No-Tree-Checks: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463230Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70426}
-
Ulan Degenbaev authored
Since GC can now happen during deserialization, object fields may contain the Smi sentinel value instead of pointers. This adds the required guards to methods of NativeContextInferrer Bug: chromium:1136801 Change-Id: I7338f31bf6ee34b8dee8431b8250d2cc2978e0c2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461241 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#70425}
-
Ulan Degenbaev authored
This fixes a GCC compile error Tbr: mlippautz@chromium.org Change-Id: Ia6239894c86c3131ab501128192177f30ef09d59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461744Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70424}
-
Marja Hölttä authored
(Thanks jbroman@ for the strawperson fix.) Bug: chromium:1136800 Change-Id: I4aee55ef40069b460f59ef5b7ba7fc50ab7033cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463225 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#70423}
-
Mythri A authored
HandleBase::is_identical_to() is_identical_to in handle base is used to do the exact comparison by just comparing the locations. When the locations are different the values are compared. For Smis it compares 64 bits which might lead to incorrect behaviour. Smis loaded as a TaggedField has the root address added. It is expexted that we don't use higher order bits on Smi. Hence, is_identical_to shouldn't use these bits when comparing Smis. This cl fixes it by comparing the objects created from the given location. That takes care of correctly comparing the required bits. Change-Id: I574dfbea4c1fffc7a9e3a6a10ad7631d40c518ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461743 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#70422}
-
Manos Koukoutos authored
Changes: - Add wasm-to-js wrapper field to WasmJSFunction. A WasmJSFunction might be called with call_ref without being imported to a module, and this provides a call target for this scenario. The wrapper is only compiled if --experimental-wasm-typed-funcref is set. - Add CompileWasmToJSWrapper in wasm-compiler. - Rename BuildLoadFunctionDataFromExportedFunction -> BuildLoadFunctionDataFromJSFunction to reflect its wider usage. - Rename BuildWasmImportCallWrapper -> BuildWasmToJsWrapper to reflect this function is now also used by CompileWasmToJSWrapper (unrelated to imports). - (Drive-by) Remove dead arguments from wasm-module-builder.js. Bug: v8:9495 Change-Id: I23468b69d42310cb8e96da5286ce68c701188876 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2459371Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#70421}
-
Camillo Bruni authored
Return undefined instead of hard-crashing. Bug: chromium:1130213 Change-Id: I7e573f46607fc0e7b91db62d881b4209b919028e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2456087 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#70420}
-