aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/sys_linux_arm64.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/sys_linux_arm64.s')
-rw-r--r--src/runtime/sys_linux_arm64.s14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/runtime/sys_linux_arm64.s b/src/runtime/sys_linux_arm64.s
index 7a81d5479e..88f7213525 100644
--- a/src/runtime/sys_linux_arm64.s
+++ b/src/runtime/sys_linux_arm64.s
@@ -225,6 +225,13 @@ TEXT runtime·mincore(SB),NOSPLIT|NOFRAME,$0-28
// func walltime() (sec int64, nsec int32)
TEXT runtime·walltime(SB),NOSPLIT,$24-12
+#ifdef GOEXPERIMENT_runtimesecret
+ MOVW g_secret(g), R20
+ CBZ R20, nosecret
+ BL ·secretEraseRegisters(SB)
+
+nosecret:
+#endif
MOVD RSP, R20 // R20 is unchanged by C code
MOVD RSP, R1
@@ -309,6 +316,13 @@ finish:
RET
TEXT runtime·nanotime1(SB),NOSPLIT,$24-8
+#ifdef GOEXPERIMENT_runtimesecret
+ MOVW g_secret(g), R20
+ CBZ R20, nosecret
+ BL ·secretEraseRegisters(SB)
+
+nosecret:
+#endif
MOVD RSP, R20 // R20 is unchanged by C code
MOVD RSP, R1