aboutsummaryrefslogtreecommitdiff
path: root/lib/std/debug.zig
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/debug.zig')
-rw-r--r--lib/std/debug.zig8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/std/debug.zig b/lib/std/debug.zig
index a3a8a533ee..5ddc751f3d 100644
--- a/lib/std/debug.zig
+++ b/lib/std/debug.zig
@@ -567,10 +567,12 @@ pub const StackIterator = struct {
} else void = if (have_ucontext) null else {},
pub fn init(first_address: ?usize, fp: ?usize) StackIterator {
- if (native_arch == .sparc64) {
+ if (native_arch.isSPARC()) {
// Flush all the register windows on stack.
- asm volatile (
- \\ flushw
+ asm volatile (if (std.Target.sparc.featureSetHas(builtin.cpu.features, .v9))
+ "flushw"
+ else
+ "ta 3" // ST_FLUSH_WINDOWS
::: "memory");
}