Skip to content

Commit 75cb7df

Browse files
committed
crook
1 parent a817cf0 commit 75cb7df

File tree

4 files changed

+13
-10
lines changed

4 files changed

+13
-10
lines changed

hoax-plus/compile-ops.rkt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,8 +234,8 @@
234234
(Mov r9 (Mem r8 (- type-vect)))
235235
(Cmp r10 r9)
236236
(Jge 'err)
237-
(Sar r10 1) ; convert to byte offset
238-
(Mov (Mem r8 r10 (- 8 type-vect)) rax)
237+
(Sar r10 1) ; convert to byte offset
238+
(Mov (Mem r8 r10 (- 8 type-vect)) rax)
239239
(Mov rax (value->bits (void))))]))
240240

241241
(define (type-pred mask type)

iniquity-plus/compile-ops.rkt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,8 +222,8 @@
222222
(Mov r9 (Mem r8 (- type-vect)))
223223
(Cmp r10 r9)
224224
(Jge 'err)
225-
(Sar r10 1) ; convert to byte offset
226-
(Mov (Mem r8 r10 (- 8 type-vect)) rax)
225+
(Sar r10 1) ; convert to byte offset
226+
(Mov (Mem r8 r10 (- 8 type-vect)) rax)
227227
(Mov rax (value->bits (void))))]))
228228

229229
(define (type-pred mask type)

knock-plus/ast.rkt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@
5151
;; | (Box Pat)
5252
;; | (Cons Pat Pat)
5353
;; | (Conj Pat Pat)
54+
;; | (List [Listof Pat])
55+
;; | (Vect [Listof Pat])
56+
;; | (Pred Id)
5457

5558
(struct Eof () #:prefab)
5659
(struct Lit (d) #:prefab)

knock-plus/compile-ops.rkt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -222,8 +222,8 @@
222222
(Mov r9 (Mem r8 (- type-vect)))
223223
(Cmp r10 r9)
224224
(Jge 'err)
225-
(Sar r10 1) ; convert to byte offset
226-
(Mov (Mem r8 r10 (- 8 type-vect)) rax)
225+
(Sar r10 1) ; convert to byte offset
226+
(Mov (Mem r8 r10 (- 8 type-vect)) rax)
227227
(Mov rax (value->bits (void))))]))
228228

229229
;; OpN Natural -> Asm
@@ -234,9 +234,9 @@
234234
(compile-op-list n))]
235235
['vector
236236
(match n
237-
[0 (seq (Mov rax type-vect))]
237+
[0 (seq (Lea rax (Mem 'empty type-vect)))]
238238
[n (seq (compile-op-vect n)
239-
(Mov r9 n)
239+
(Mov r9 (value->bits n))
240240
(Mov (Mem rbx) r9)
241241
(Mov rax rbx)
242242
(Xor rax type-vect)
@@ -246,8 +246,8 @@
246246
(match n
247247
[0 (seq)]
248248
[n (seq (Pop r9)
249-
(Mov (Mem rbx) 'rax)
250-
(Mov (Mem rbx 8) 'r9)
249+
(Mov (Mem rbx 8) rax)
250+
(Mov (Mem rbx 0) r9)
251251
(Mov rax rbx)
252252
(Xor rax type-cons)
253253
(Add rbx 16)

0 commit comments

Comments
 (0)