[pypy-commit] pypy arm64: This is done
arigo
pypy.commits at gmail.com
Fri Jul 5 02:36:20 EDT 2019
Author: Armin Rigo <arigo at tunes.org>
Branch: arm64
Changeset: r96952:dbb6f23ca77d
Date: 2019-07-05 08:35 +0200
http://bitbucket.org/pypy/pypy/changeset/dbb6f23ca77d/
Log: This is done
diff --git a/rpython/jit/backend/aarch64/TODO b/rpython/jit/backend/aarch64/TODO
--- a/rpython/jit/backend/aarch64/TODO
+++ b/rpython/jit/backend/aarch64/TODO
@@ -16,26 +16,6 @@
_build_failure_recovery(), build_frame_realloc_slowpath(), etc.
-* here's what gcc uses to acquire and release a lock, instead of mc.DMB
- in callbuilder.py. It would make the control flow mess easier, too,
- because we can simply loop back to .L2 (rare case) instead of trying
- to handle it as a 3rd path.
- - to release a lock:
- (x0 is the address of the lock)
- stlr xzr, [x0]
- - to acquire a lock:
- (x1 is the address of the lock)
- mov x2, 1
- .L2: ldxr x0, [x1]
- stxr w3, x2, [x1]
- cbnz w3, .L2 (I think it's a rare case when it follows .L2)
- dmb ish (see below)
- (we're left with x0 being the old value in the lock, 0 or 1)
- - note that "dmb" only appears sometimes, depending on the exact gcc
- intrinsic I use. I *think* that it can be safely removed, and so
- it should be.
-
-
* malloc_cond() and malloc_cond_varsize_frame() hard-code forward jump
distances by guessing the number of instructions that follows. Bad
idea because some of these instructions could easily be optimized in
More information about the pypy-commit
mailing list