Skip to content

[Android] RISCV64 Support Based on Clang 12#1

Merged
unicornx merged 1 commit into
aosp-riscv:riscv64-android-12.0.0_devfrom
McKnight22:develop
Dec 28, 2022
Merged

[Android] RISCV64 Support Based on Clang 12#1
unicornx merged 1 commit into
aosp-riscv:riscv64-android-12.0.0_devfrom
McKnight22:develop

Conversation

@McKnight22

Copy link
Copy Markdown

Signed-off-by: McKnight22 tao.wang.22@outlook.com

Signed-off-by: McKnight22 <tao.wang.22@outlook.com>
@McKnight22 McKnight22 self-assigned this Dec 27, 2022
@McKnight22 McKnight22 requested a review from unicornx December 27, 2022 13:26
@unicornx unicornx merged commit c96ef6f into aosp-riscv:riscv64-android-12.0.0_dev Dec 28, 2022
@unicornx unicornx self-assigned this Dec 30, 2022
unicornx pushed a commit that referenced this pull request Jan 12, 2023
In a local debugging session, it happened to be be in frame 8, so was
slighly missed. Looking through the first 10 frames instead of 7 should
not hurt anyone but fixes that problem.

My stack trace:
#0 __pthread_kill_implementation
#1 __pthread_kill_internal
#2 __GI___pthread_kill
#3 ??
#4 __GI_abort
#5 v8::base::OS::Abort
v8#6 V8_Fatal
v8#7 v8::base::(anonymous namespace)::DefaultDcheckHandler
v8#8 V8_Dcheck

R=leszeks@chromium.org

No-Try: true
Change-Id: I6d8bfb482fe4c926a8ecfad8757286618a98f2c3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4061894
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84613}
unicornx pushed a commit that referenced this pull request Jan 12, 2023
Change-Id: I26c691e020890b066f67102a6b630df551c3690f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4138640
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/11.1.130@{#1}
Cr-Branched-From: 1ef0a09-refs/heads/main@{#85119}
unicornx pushed a commit that referenced this pull request Feb 16, 2023
 - add new d8_pgo isolate to be used in profile tasks;
 - configure swarming task (test) for PGO instrumentation builder
 - create script for profile only execution (no build) to be used in swarming

Led tested #1 with spike recipe #2. Example swarming task #3.

#1 https://chromium-swarm.appspot.com/task?id=60089d22e809e410
#2 https://chromium-review.googlesource.com/c/chromium/tools/build/+/4162092/11
#3 https://chromium-swarm.appspot.com/task?id=60089fcbafb0a610

Bug: chromium:1382471
Change-Id: I782b7874c8dd77e821715395dd54dbc8990bf2c6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4173584
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#85521}
unicornx pushed a commit to unicornx/v8 that referenced this pull request Feb 16, 2023
…d to kRef

In the Atomic.Wait implementation of Liftoff, BigInt values got pushed
on the stack as kPointerKind. However, kPointerKind is meant for C++
pointers, not for JavaScript heap references. With this CL, BigInts get
pushed as kRef.

R=​clemensb@chromium.org

(cherry picked from commit 012e1a8)

Bug: chromium:1380498
Change-Id: Ibb3df08b4681073b17244f0875d3572f472cb515
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4020173
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Original-Commit-Position: refs/heads/main@{#84170}
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4030577
Cr-Commit-Position: refs/branch-heads/10.9@{v8#6}
Cr-Branched-From: 8ade6bf-refs/heads/10.9.194@{aosp-riscv#1}
Cr-Branched-From: 9ff2515-refs/heads/main@{#84164}
unicornx pushed a commit to unicornx/v8 that referenced this pull request Feb 16, 2023
Change-Id: I7a02f078926c54dc3607e642f7776af6349c13a6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4030679
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/10.9@{v8#7}
Cr-Branched-From: 8ade6bf-refs/heads/10.9.194@{aosp-riscv#1}
Cr-Branched-From: 9ff2515-refs/heads/main@{#84164}
unicornx pushed a commit to unicornx/v8 that referenced this pull request Feb 16, 2023
This simplifies some call sites as they do not need to worry about
stores to external pointer fields (especially lazily initialized ones)
triggering GCs. This also keeps the sandbox and non-sandbox mode more
consistent, as these stores will never trigger GC in non-sandbox builds.
Since there must be millions of objects that own the external pointer
table entries, the chances are quite high that GCs will anyway be
scheduled. If not, we should instead see if we can introduce an API
to only schedule incremental marking but not perform GC finalization.

Bug: v8:13535
Cr-Commit-Position: refs/heads/main@{#84508}
(cherry picked from commit 852aa18)

Change-Id: I767de315ca9e672b4b5a878292da9eee1e64c213
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4062036
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Samuel Groß <saelo@chromium.org>
Cr-Commit-Position: refs/branch-heads/10.9@{v8#8}
Cr-Branched-From: 8ade6bf-refs/heads/10.9.194@{aosp-riscv#1}
Cr-Branched-From: 9ff2515-refs/heads/main@{#84164}
unicornx pushed a commit to unicornx/v8 that referenced this pull request Feb 16, 2023
Change-Id: Ife5504f3a97bd6bcc443d52a01dcf10037eeb16b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4063911
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/10.9@{v8#9}
Cr-Branched-From: 8ade6bf-refs/heads/10.9.194@{aosp-riscv#1}
Cr-Branched-From: 9ff2515-refs/heads/main@{#84164}
unicornx pushed a commit to unicornx/v8 that referenced this pull request Feb 16, 2023
Due to mismatch in strictness we otherwise invalidly mark scopes as
calling sloppy eval.

Bug: chromium:1394403
(cherry picked from commit 27fa951)

Change-Id: I8be97570588ba117f212991fd873b407e788b593
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4066542
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/branch-heads/10.9@{v8#10}
Cr-Branched-From: 8ade6bf-refs/heads/10.9.194@{aosp-riscv#1}
Cr-Branched-From: 9ff2515-refs/heads/main@{#84164}
unicornx pushed a commit to unicornx/v8 that referenced this pull request Feb 16, 2023
Change-Id: I3093c03d8a6ea6e9c4ee71e5b8cd94cbe1043ce7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4070686
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/10.9@{v8#11}
Cr-Branched-From: 8ade6bf-refs/heads/10.9.194@{aosp-riscv#1}
Cr-Branched-From: 9ff2515-refs/heads/main@{#84164}
unicornx pushed a commit to unicornx/v8 that referenced this pull request Feb 16, 2023
Otherwise it's propagated to the parent

Bug: chromium:1394973
(cherry picked from commit e1e0890)

Change-Id: Id4e3059a79924c5056823af75688494cc531df40
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4108029
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/branch-heads/10.9@{v8#12}
Cr-Branched-From: 8ade6bf-refs/heads/10.9.194@{aosp-riscv#1}
Cr-Branched-From: 9ff2515-refs/heads/main@{#84164}
unicornx pushed a commit to unicornx/v8 that referenced this pull request Feb 16, 2023
Change-Id: I7d43f5a73f07ec31375a2b5f7ff0fa02175bb92c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4108728
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/10.9@{v8#13}
Cr-Branched-From: 8ade6bf-refs/heads/10.9.194@{aosp-riscv#1}
Cr-Branched-From: 9ff2515-refs/heads/main@{#84164}
unicornx pushed a commit to unicornx/v8 that referenced this pull request Feb 16, 2023
When loading a 32-bit value from the stack, just load 32 bit and
zero-extend them into the target register, instead of loading the full
64 bits.

As there are things to fix (see https://crbug.com/1356461), we only
enable this optimization for Wasm for now.

Also include the related fix https://crrev.com/c/4096985.

R=mslekova@chromium.org

(cherry picked from commit 2ee5244)
(cherry picked from commit a382099)

Bug: chromium:1395604
Change-Id: I9c507fcb7ba3c0bf6c47f3ee361992840e02dffc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4110917
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/branch-heads/10.9@{v8#14}
Cr-Branched-From: 8ade6bf-refs/heads/10.9.194@{aosp-riscv#1}
Cr-Branched-From: 9ff2515-refs/heads/main@{#84164}
unicornx pushed a commit to unicornx/v8 that referenced this pull request Feb 16, 2023
Change-Id: I0ba7d2e8c46a48a5b30bd3c4140186b9d35ff4f1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4111701
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/10.9@{v8#15}
Cr-Branched-From: 8ade6bf-refs/heads/10.9.194@{aosp-riscv#1}
Cr-Branched-From: 9ff2515-refs/heads/main@{#84164}
unicornx pushed a commit to unicornx/v8 that referenced this pull request Feb 16, 2023
After computing the branch offset but before emitting the actual branch,
we should not emit a constant pool. Otherwise the previously computed
offset would be off.

Instead of handling this indirectly via the Assembler::branch_offset
method, do this directly in the Assembler::b method (and friends), so it
is not missed on other call sites.

R=nicohartmann@chromium.org

(cherry picked from commit 9be597d)
Bug: chromium:1399424

Change-Id: Ie7d3ea57bd8527280cc7309f7ff0040d576c5c17
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4118865
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/branch-heads/10.9@{v8#16}
Cr-Branched-From: 8ade6bf-refs/heads/10.9.194@{aosp-riscv#1}
Cr-Branched-From: 9ff2515-refs/heads/main@{#84164}
unicornx pushed a commit to unicornx/v8 that referenced this pull request Feb 16, 2023
Change-Id: I8b0056e4d836d3cd70d8fc7350250d3e27bb0d01
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4117882
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/10.9@{v8#17}
Cr-Branched-From: 8ade6bf-refs/heads/10.9.194@{aosp-riscv#1}
Cr-Branched-From: 9ff2515-refs/heads/main@{#84164}
unicornx pushed a commit that referenced this pull request May 22, 2023
Change-Id: If06a8c7fbcb0ae28c21ed3216ba175f0c885b594
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4526796
Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/11.5.112@{#1}
Cr-Branched-From: e13f3b5-refs/heads/main@{#87633}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants