summaryrefslogtreecommitdiff
path: root/yjit/src/backend/tests.rs
diff options
context:
space:
mode:
authorMaxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>2022-07-07 16:28:17 -0400
committerTakashi Kokubun <takashikkbn@gmail.com>2022-08-29 08:46:59 -0700
commitab2fa6ebddc13679452ad9f0fc3a7b630a1cbe3a (patch)
treeae392fc66b8fc80a2756aff1bc52646f1c3b3332 /yjit/src/backend/tests.rs
parent580f26959eb31d523ac21d640e21ddbe70779512 (diff)
Add a backend test with a load of a GC'd VALUE
Diffstat (limited to 'yjit/src/backend/tests.rs')
-rw-r--r--yjit/src/backend/tests.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/yjit/src/backend/tests.rs b/yjit/src/backend/tests.rs
index 9ec986f734..d72f0ec0ac 100644
--- a/yjit/src/backend/tests.rs
+++ b/yjit/src/backend/tests.rs
@@ -138,6 +138,21 @@ fn test_load_reg()
asm.compile_with_num_regs(&mut cb, 1);
}
+// Test load of a GC'd value
+#[test]
+fn test_load_value()
+{
+ let (mut asm, mut cb) = setup_asm();
+
+ let gcd_value = VALUE(0xFFFFFFFFFFFF00);
+ assert!(!gcd_value.special_const_p());
+
+ let out = asm.load(Opnd::Value(gcd_value));
+ asm.mov(Opnd::mem(64, SP, 0), out);
+
+ asm.compile_with_num_regs(&mut cb, 1);
+}
+
// Multiple registers needed and register reuse
#[test]
fn test_reuse_reg()