Last active
February 15, 2023 12:22
-
-
Save LiberalArtist/355375b5927b88f91840268b2f87b515 to your computer and use it in GitHub Desktop.
Fibonacci Optimization in Racket
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
*~ | |
\#* | |
.\#* | |
.DS_Store | |
compiled/ | |
/doc/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#lang racket/base | |
(define unsafe 39) | |
(define safe (+ unsafe 20)) | |
(define unsafe-non-tail (+ unsafe 30)) | |
(define safe-non-tail (+ 74 unsafe-non-tail)) | |
(define-syntax-rule (show id ...) | |
(list (cons 'id id) ...)) | |
(require rackunit) | |
(check-equal? | |
(show unsafe safe unsafe-non-tail safe-non-tail) | |
'((unsafe . 39) | |
(safe . 59) | |
(unsafe-non-tail . 69) | |
(safe-non-tail . 143))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#lang racket/base | |
;; SPDX-License-Identifier: CCO-1.0 | |
(require racket/fixnum | |
racket/unsafe/ops) | |
(define (unsafe n) | |
(if (fixnum? n) | |
(let unsafe➰ ([n n] | |
[prev 0] | |
[cur 1]) | |
(cond | |
[(unsafe-fx= n 0) | |
prev] | |
[(unsafe-fx= n 1) | |
cur] | |
[else | |
(unsafe➰ (unsafe-fx- n 1) | |
cur | |
(unsafe-fx+/wraparound prev cur))])) | |
0)) | |
(define (safe n) | |
;; slightly more code than `safe-extra-wraparound` | |
;; (one more function call) | |
;; about 20 lines more code than `unsafe` | |
(if (and (fixnum? n) (fx< 0 n)) | |
(let safe➰ ([n n] | |
[prev 0] | |
[cur 1]) | |
(cond | |
[(fx= n 0) | |
prev] | |
[(fx= n 1) | |
cur] | |
[else | |
(safe➰ (fx- n 1) | |
cur | |
(fx+/wraparound prev cur))])) | |
0)) | |
(define (safe-extra-wraparound n) | |
(if (and (fixnum? n) (fx< 0 n)) | |
(let safe-extra-wraparound➰ ([n n] | |
[prev 0] | |
[cur 1]) | |
(cond | |
[(fx= n 0) | |
prev] | |
[(fx= n 1) | |
cur] | |
[else | |
(safe-extra-wraparound➰ (fx-/wraparound n 1) | |
cur | |
(fx+/wraparound prev cur))])) | |
0)) | |
(define (safe-generic n) | |
(if (and (fixnum? n) (fx< 0 n)) | |
(let safe-generic➰ ([n n] | |
[prev 0] | |
[cur 1]) | |
(cond | |
[(= n 0) | |
prev] | |
[(= n 1) | |
cur] | |
[else | |
(safe-generic➰ (- n 1) | |
cur | |
(+ prev cur))])) | |
0)) | |
(define (safe-generic-unguarded n) | |
(let safe-generic-unguarded➰ ([n n] | |
[prev 0] | |
[cur 1]) | |
(cond | |
[(= n 0) | |
prev] | |
[(= n 1) | |
cur] | |
[else | |
(safe-generic-unguarded➰ (- n 1) | |
cur | |
(+ prev cur))]))) | |
(module typed typed/racket/base | |
(require typed/racket/unsafe) | |
(unsafe-require/typed | |
racket/unsafe/ops | |
;; https://github.com/racket/typed-racket/issues/1309 | |
[(unsafe-fx+/wraparound fx+/wraparound) (-> Fixnum Fixnum Fixnum)]) | |
(define (typed-clever n) : Nonnegative-Fixnum | |
(if (and (fixnum? n) (< 0 n)) | |
(let typed-clever➰ ([n : Nonnegative-Fixnum n] | |
[prev : Nonnegative-Fixnum 0] | |
[cur : Positive-Fixnum 1]) | |
(cond | |
[(= n 0) | |
prev] | |
[(= n 1) | |
cur] | |
[else | |
(define next | |
(fx+/wraparound prev cur)) | |
(if (< 0 next) | |
(typed-clever➰ (- n 1) cur next) | |
0)])) | |
0))) | |
(define (unsafe-clever n) | |
;; the same as typed-clever | |
;; slightly more code than `unsafe` | |
;; (no more function calls) | |
(if (and (fixnum? n) (unsafe-fx< 0 n)) | |
(let unsafe-clever➰ ([n n] | |
[prev 0] | |
[cur 1]) | |
(cond | |
[(unsafe-fx= n 0) | |
prev] | |
[(unsafe-fx= n 1) | |
cur] | |
[else | |
(define next | |
(unsafe-fx+/wraparound prev cur)) | |
(if (unsafe-fx< 0 next) | |
(unsafe-clever➰ (unsafe-fx- n 1) cur next) | |
0)])) | |
0)) | |
(define (safe-clever n) | |
;; slightly more code than `safe-clever-extra-wraparound` | |
;; (1 more function call) | |
;; about 20 lines more code than `unsafe-clever` | |
(if (and (fixnum? n) (fx< 0 n)) | |
(let safe-clever➰ ([n n] | |
[prev 0] | |
[cur 1]) | |
(cond | |
[(fx= n 0) | |
prev] | |
[(fx= n 1) | |
cur] | |
[else | |
(define next | |
(fx+/wraparound prev cur)) | |
(if (fx< 0 next) | |
(safe-clever➰ (fx- n 1) cur next) | |
0)])) | |
0)) | |
(define (safe-clever-extra-wraparound n) | |
(if (and (fixnum? n) (fx< 0 n)) | |
(let safe-clever-extra-wraparound➰ ([n n] | |
[prev 0] | |
[cur 1]) | |
(cond | |
[(fx= n 0) | |
prev] | |
[(fx= n 1) | |
cur] | |
[else | |
(define next | |
(fx+/wraparound prev cur)) | |
(if (fx< 0 next) | |
(safe-clever-extra-wraparound➰ (fx-/wraparound n 1) cur next) | |
0)])) | |
0)) | |
(define (safe-non-tail n) | |
;; 74 more lines of code than `unsafe-non-tail` | |
(if (and (fixnum? n) (fx< 0 n)) | |
(let safe-non-tail➰ ([n n]) | |
(if (< n 2) | |
n | |
(+ (safe-non-tail➰ (- n 2)) | |
(safe-non-tail➰ (- n 1))))) | |
0)) | |
(define (unsafe-non-tail n) | |
;; 30 more lines of code than `unsafe` | |
(if (and (fixnum? n) (unsafe-fx< 0 n)) | |
(let unsafe-non-tail➰ ([n n]) | |
(if (unsafe-fx< n 2) | |
n | |
(unsafe-fx+/wraparound (unsafe-non-tail➰ (unsafe-fx- n 2)) | |
(unsafe-non-tail➰ (unsafe-fx- n 1))))) | |
0)) | |
(module typed-again typed/racket/base | |
(require typed/racket/unsafe) | |
(unsafe-require/typed | |
racket/unsafe/ops | |
;; https://github.com/racket/typed-racket/issues/1309 | |
;; https://github.com/racket/typed-racket/issues/1310 | |
[(unsafe-fxabs fxabs) (-> Fixnum Nonnegative-Fixnum)] | |
[(unsafe-fx+/wraparound fx+/wraparound) (-> Fixnum Fixnum Fixnum)]) | |
(define (typed-max n) : Nonnegative-Fixnum | |
;; the same as `typed-clever` | |
(if (and (fixnum? n) (< 0 n)) | |
(let typed-max➰ ([n : Nonnegative-Fixnum n] | |
[prev : Nonnegative-Fixnum 0] | |
[cur : Positive-Fixnum 1]) | |
(cond | |
[(= n 0) | |
prev] | |
[(= n 1) | |
cur] | |
[else | |
(define next | |
(max 1 (fx+/wraparound prev cur))) | |
(typed-max➰ (- n 1) cur next)])) | |
0)) | |
(define (typed-abs n) : Nonnegative-Fixnum | |
;; the same as `typed-clever` | |
(if (and (fixnum? n) (< 0 n)) | |
(let typed-abs➰ ([n : Nonnegative-Fixnum n] | |
[prev : Nonnegative-Fixnum 0] | |
[cur : Nonnegative-Fixnum 1]) | |
(cond | |
[(= n 0) | |
prev] | |
[(= n 1) | |
cur] | |
[else | |
(typed-abs➰ (- n 1) | |
cur | |
(fxabs (fx+/wraparound prev cur)))])) | |
0))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(module example .... | |
(require (lib "racket/base.rkt") | |
(lib "racket/fixnum.rkt") | |
(lib "racket/unsafe/ops.rkt")) | |
(provide) | |
(define unsafe-non-tail➰ | |
(lambda (a0) | |
"/app/compiled/example.rkt:184:7" | |
(#%assembly-code | |
" 0: 4c89c5 (mov rbp r8) ; <=" | |
" 3: 4883fd10 (cmp rbp #x10)" | |
" 7: 7d04 (jnl (+ rip #x4)) ; => d" | |
" 9: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" d: 4d396e48 (cmp (mem64+ r14 #x48) r13) ; <=" | |
" 11: 0f86ac000000 (jbe (+ rip #xac)) ; => c3" | |
" 17: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 1c: 7469 (jz (+ rip #x69)) ; => 87" | |
" 1e: 4c8d45f0 (lea r8 (mem+ rbp #x-10)) ; <=" | |
" 22: 49896d08 (mov (mem64+ r13 #x8) rbp)" | |
" 26: 4983c510 (add r13 #x10)" | |
" 2a: 488d0d16000000 (lea rcx (mem+ rip #x16)) ; => 47" | |
" 31: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 35: ebc9 (jmp (+ rip #x-37)) ; => 0" | |
" 37: 7800000000000000 (data)" | |
" 3f: 8b00000000000000 (data)" | |
" 47: 4983ed10 (sub r13 #x10) ; <=" | |
" 4b: 4889e9 (mov rcx rbp)" | |
" 4e: 498b6d08 (mov rbp (mem64+ r13 #x8))" | |
" 52: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 56: 4c8d45f8 (lea r8 (mem+ rbp #x-8))" | |
" 5a: 4983c518 (add r13 #x18)" | |
" 5e: 488d0d16000000 (lea rcx (mem+ rip #x16)) ; => 7b" | |
" 65: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 69: eb95 (jmp (+ rip #x-6b)) ; => 0" | |
" 6b: ac00000000000000 (data)" | |
" 73: 0f01000000000000 (data)" | |
" 7b: 4983ed18 (sub r13 #x18) ; <=" | |
" 7f: 49036d10 (add rbp (mem64+ r13 #x10))" | |
" 83: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 87: 49896d08 (mov (mem64+ r13 #x8) rbp) ; <=" | |
" 8b: 4983c510 (add r13 #x10)" | |
" 8f: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => b6" | |
" 96: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 9a: e9a1c087fa (jmp (+ rip #x-5783f5f)) ; #<code event>" | |
" 9f: 0f1f8000000000e7 (data)" | |
" a7: 0000000000000089 (data)" | |
" af: 00000000000000 (data)" | |
" b6: 4983ed10 (sub r13 #x10) ; <=" | |
" ba: 498b6d08 (mov rbp (mem64+ r13 #x8))" | |
" be: e95bffffff (jmp (+ rip #x-a5)) ; => 1e" | |
" c3: e8887e85fa (call (+ rip #x-57a8178)) ; #<code dooverflow> ; <=" | |
" c8: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" cf: e943ffffff (jmp (+ rip #x-bd)) ; => 17" | |
""))) | |
(define unsafe-non-tail | |
(lambda (a0) | |
"/app/compiled/example.rkt:181:1" | |
(#%assembly-code | |
" 0: 4883fd01 (cmp rbp #x1)" | |
" 4: 755f (jnz (+ rip #x5f)) ; => 65" | |
" 6: 41f6c007 (test r8b #x7)" | |
" a: 7552 (jnz (+ rip #x52)) ; => 5e" | |
" c: 4983f800 (cmp r8 #x0)" | |
" 10: 7e4c (jle (+ rip #x4c)) ; => 5e" | |
" 12: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 17: 740c (jz (+ rip #xc)) ; => 25" | |
" 19: e902590000 (jmp (+ rip #x5902)) ; #<code unsafe-non-tail➰> ; <=" | |
" 1e: 0f1f8000000000 (data)" | |
" 25: 4d894508 (mov (mem64+ r13 #x8) r8) ; <=" | |
" 29: 4983c510 (add r13 #x10)" | |
" 2d: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 54" | |
" 34: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 38: e903f875fa (jmp (+ rip #x-58a07fd)) ; #<code event>" | |
" 3d: 0f1f800000000085 (data)" | |
" 45: 0000000000000089 (data)" | |
" 4d: 00000000000000 (data)" | |
" 54: 4983ed10 (sub r13 #x10) ; <=" | |
" 58: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 5c: ebbb (jmp (+ rip #x-45)) ; => 19" | |
" 5e: 4831ed (xor rbp rbp) ; <=" | |
" 61: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 65: e916ba73fa (jmp (+ rip #x-58c45ea)) ; #<code doargerr> ; <=" | |
" 6a: 0f1f8000000000 (data)" | |
""))) | |
(define safe-non-tail➰ | |
(lambda (a0) | |
"/app/compiled/example.rkt:174:7" | |
(#%assembly-code | |
" 0: 4c89c5 (mov rbp r8) ; <=" | |
" 3: 40f6c507 (test bpl #x7)" | |
" 7: 0f85a4010000 (jnz (+ rip #x1a4)) ; => 1b1" | |
" d: 4883fd10 (cmp rbp #x10)" | |
" 11: 7d04 (jnl (+ rip #x4)) ; => 17" | |
" 13: 41ff6500 (jmp (mem64+ r13 #x0)) ; <=" | |
" 17: 4d396e48 (cmp (mem64+ r14 #x48) r13) ; <=" | |
" 1b: 0f867f010000 (jbe (+ rip #x17f)) ; => 1a0" | |
" 21: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 26: 0f8438010000 (jz (+ rip #x138)) ; => 164" | |
" 2c: 40f6c507 (test bpl #x7) ; <=" | |
" 30: 0f85e5000000 (jnz (+ rip #xe5)) ; => 11b" | |
" 36: 4989e8 (mov r8 rbp)" | |
" 39: 4983e810 (sub r8 #x10)" | |
" 3d: 0f80d8000000 (jo (+ rip #xd8)) ; => 11b" | |
" 43: 49896d08 (mov (mem64+ r13 #x8) rbp) ; <=" | |
" 47: 4983c510 (add r13 #x10)" | |
" 4b: 488d0d16000000 (lea rcx (mem+ rip #x16)) ; => 68" | |
" 52: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 56: eba8 (jmp (+ rip #x-58)) ; => 0" | |
" 58: 9900000000000000 (data)" | |
" 60: 8b00000000000000 (data)" | |
" 68: 4983ed10 (sub r13 #x10) ; <=" | |
" 6c: 4989e8 (mov r8 rbp)" | |
" 6f: 498b6d08 (mov rbp (mem64+ r13 #x8))" | |
" 73: 4d894510 (mov (mem64+ r13 #x10) r8)" | |
" 77: 40f6c507 (test bpl #x7)" | |
" 7b: 755d (jnz (+ rip #x5d)) ; => da" | |
" 7d: 4989e8 (mov r8 rbp)" | |
" 80: 4983e808 (sub r8 #x8)" | |
" 84: 7054 (jo (+ rip #x54)) ; => da" | |
" 86: 4983c518 (add r13 #x18) ; <=" | |
" 8a: 488d0d19000000 (lea rcx (mem+ rip #x19)) ; => aa" | |
" 91: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 95: e966ffffff (jmp (+ rip #x-9a)) ; => 0" | |
" 9a: db00000000000000 (data)" | |
" a2: 0f01000000000000 (data)" | |
" aa: 4983ed18 (sub r13 #x18) ; <=" | |
" ae: 4889ef (mov rdi rbp)" | |
" b1: 4889f9 (mov rcx rdi)" | |
" b4: 490b4d10 (or rcx (mem64+ r13 #x10))" | |
" b8: f6c107 (test cl #x7)" | |
" bb: 750d (jnz (+ rip #xd)) ; => ca" | |
" bd: 4889fd (mov rbp rdi)" | |
" c0: 49036d10 (add rbp (mem64+ r13 #x10))" | |
" c4: 7004 (jo (+ rip #x4)) ; => ca" | |
" c6: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" ca: 4d8b4510 (mov r8 (mem64+ r13 #x10)) ; <=" | |
" ce: e95ddf73fa (jmp (+ rip #x-58c20a3)) ; #<code +>" | |
" d3: 0f1f8000000000 (data)" | |
" da: 4989e8 (mov r8 rbp) ; <=" | |
" dd: 48c7c708000000 (mov rdi #x8)" | |
" e4: 4983c518 (add r13 #x18)" | |
" e8: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 10f" | |
" ef: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" f3: e978ed73fa (jmp (+ rip #x-58c1288)) ; #<code ->" | |
" f8: 0f1f800000000040 (data)" | |
" 100: 010000000000000f (data)" | |
" 108: 01000000000000 (data)" | |
" 10f: 4983ed18 (sub r13 #x18) ; <=" | |
" 113: 4989e8 (mov r8 rbp)" | |
" 116: e96bffffff (jmp (+ rip #x-95)) ; => 86" | |
" 11b: 4989e8 (mov r8 rbp) ; <=" | |
" 11e: 48c7c710000000 (mov rdi #x10)" | |
" 125: 49896d08 (mov (mem64+ r13 #x8) rbp)" | |
" 129: 4983c510 (add r13 #x10)" | |
" 12d: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 154" | |
" 134: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 138: e933ed73fa (jmp (+ rip #x-58c12cd)) ; #<code ->" | |
" 13d: 0f1f800000000085 (data)" | |
" 145: 010000000000008b (data)" | |
" 14d: 00000000000000 (data)" | |
" 154: 4983ed10 (sub r13 #x10) ; <=" | |
" 158: 4989e8 (mov r8 rbp)" | |
" 15b: 498b6d08 (mov rbp (mem64+ r13 #x8))" | |
" 15f: e9dffeffff (jmp (+ rip #x-121)) ; => 43" | |
" 164: 49896d08 (mov (mem64+ r13 #x8) rbp) ; <=" | |
" 168: 4983c510 (add r13 #x10)" | |
" 16c: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 193" | |
" 173: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 177: e9848174fa (jmp (+ rip #x-58b7e7c)) ; #<code event>" | |
" 17c: 0f1f8000000000c4 (data)" | |
" 184: 0100000000000089 (data)" | |
" 18c: 00000000000000 (data)" | |
" 193: 4983ed10 (sub r13 #x10) ; <=" | |
" 197: 498b6d08 (mov rbp (mem64+ r13 #x8))" | |
" 19b: e98cfeffff (jmp (+ rip #x-174)) ; => 2c" | |
" 1a0: e86b3f72fa (call (+ rip #x-58dc095)) ; #<code dooverflow> ; <=" | |
" 1a5: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1ac: e970feffff (jmp (+ rip #x-190)) ; => 21" | |
" 1b1: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 1b6: 7537 (jnz (+ rip #x37)) ; => 1ef" | |
" 1b8: 49896d08 (mov (mem64+ r13 #x8) rbp)" | |
" 1bc: 4983c510 (add r13 #x10)" | |
" 1c0: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 1e7" | |
" 1c7: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 1cb: e9708674fa (jmp (+ rip #x-58b7990)) ; #<code event>" | |
" 1d0: 0f1f800000000018 (data)" | |
" 1d8: 0200000000000089 (data)" | |
" 1e0: 00000000000000 (data)" | |
" 1e7: 4983ed10 (sub r13 #x10) ; <=" | |
" 1eb: 498b6d08 (mov rbp (mem64+ r13 #x8))" | |
" 1ef: 4989e8 (mov r8 rbp) ; <=" | |
" 1f2: 48c7c710000000 (mov rdi #x10)" | |
" 1f9: 49896d08 (mov (mem64+ r13 #x8) rbp)" | |
" 1fd: 4983c510 (add r13 #x10)" | |
" 201: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 228" | |
" 208: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 20c: e96fd573fa (jmp (+ rip #x-58c2a91)) ; #<code <>" | |
" 211: 0f1f800000000059 (data)" | |
" 219: 020000000000008b (data)" | |
" 221: 00000000000000 (data)" | |
" 228: 4983ed10 (sub r13 #x10) ; <=" | |
" 22c: 4889e9 (mov rcx rbp)" | |
" 22f: 498b6d08 (mov rbp (mem64+ r13 #x8))" | |
" 233: 4883f906 (cmp rcx #x6)" | |
" 237: 0f84dafdffff (jz (+ rip #x-226)) ; => 17" | |
" 23d: e9d1fdffff (jmp (+ rip #x-22f)) ; => 13" | |
""))) | |
(define safe-non-tail | |
(lambda (a0) | |
"/app/compiled/example.rkt:171:1" | |
(#%assembly-code | |
" 0: 4883fd01 (cmp rbp #x1)" | |
" 4: 755f (jnz (+ rip #x5f)) ; => 65" | |
" 6: 41f6c007 (test r8b #x7)" | |
" a: 7552 (jnz (+ rip #x52)) ; => 5e" | |
" c: 4983f800 (cmp r8 #x0)" | |
" 10: 7e4c (jle (+ rip #x4c)) ; => 5e" | |
" 12: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 17: 740c (jz (+ rip #xc)) ; => 25" | |
" 19: e9a2cc0100 (jmp (+ rip #x1cca2)) ; #<code safe-non-tail➰> ; <=" | |
" 1e: 0f1f8000000000 (data)" | |
" 25: 4d894508 (mov (mem64+ r13 #x8) r8) ; <=" | |
" 29: 4983c510 (add r13 #x10)" | |
" 2d: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 54" | |
" 34: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 38: e9c35476fa (jmp (+ rip #x-589ab3d)) ; #<code event>" | |
" 3d: 0f1f800000000085 (data)" | |
" 45: 0000000000000089 (data)" | |
" 4d: 00000000000000 (data)" | |
" 54: 4983ed10 (sub r13 #x10) ; <=" | |
" 58: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 5c: ebbb (jmp (+ rip #x-45)) ; => 19" | |
" 5e: 4831ed (xor rbp rbp) ; <=" | |
" 61: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 65: e9d61674fa (jmp (+ rip #x-58be92a)) ; #<code doargerr> ; <=" | |
" 6a: 0f1f8000000000 (data)" | |
""))) | |
(define safe-clever-extra-wraparound | |
(lambda (a0) | |
"/app/compiled/example.rkt:153:1" | |
(#%assembly-code | |
" 0: 4883fd01 (cmp rbp #x1)" | |
" 4: 0f85ed000000 (jnz (+ rip #xed)) ; => f7" | |
" a: 41f6c007 (test r8b #x7)" | |
" e: 0f85dc000000 (jnz (+ rip #xdc)) ; => f0" | |
" 14: 4983f800 (cmp r8 #x0)" | |
" 18: 0f8ed2000000 (jle (+ rip #xd2)) ; => f0" | |
" 1e: 48c7c608000000 (mov rsi #x8)" | |
" 25: 4831d2 (xor rdx rdx)" | |
" 28: 4c89c1 (mov rcx r8)" | |
" 2b: 4889f5 (mov rbp rsi) ; <=" | |
" 2e: 4989d0 (mov r8 rdx)" | |
" 31: 4883f900 (cmp rcx #x0)" | |
" 35: 0f84ae000000 (jz (+ rip #xae)) ; => e9" | |
" 3b: f6c107 (test cl #x7)" | |
" 3e: 0f8593000000 (jnz (+ rip #x93)) ; => d7" | |
" 44: 4883f908 (cmp rcx #x8)" | |
" 48: 0f8485000000 (jz (+ rip #x85)) ; => d3" | |
" 4e: 4889ea (mov rdx rbp)" | |
" 51: 4c09c2 (or rdx r8)" | |
" 54: f6c207 (test dl #x7)" | |
" 57: 756b (jnz (+ rip #x6b)) ; => c4" | |
" 59: 4a8d740500 (lea rsi (mem+ rbp #x0 (* r8 #x1)))" | |
" 5e: 4883fe00 (cmp rsi #x0)" | |
" 62: 7e59 (jle (+ rip #x59)) ; => bd" | |
" 64: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 69: 7409 (jz (+ rip #x9)) ; => 74" | |
" 6b: 4889ea (mov rdx rbp) ; <=" | |
" 6e: 4883c1f8 (add rcx #xfffffffffffffff8)" | |
" 72: ebb7 (jmp (+ rip #x-49)) ; => 2b" | |
" 74: 49894d08 (mov (mem64+ r13 #x8) rcx) ; <=" | |
" 78: 49896d10 (mov (mem64+ r13 #x10) rbp)" | |
" 7c: 49897518 (mov (mem64+ r13 #x18) rsi)" | |
" 80: 4983c520 (add r13 #x20)" | |
" 84: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => ab" | |
" 8b: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 8f: e9ac5376fa (jmp (+ rip #x-589ac54)) ; #<code event>" | |
" 94: 0f1f8000000000dc (data)" | |
" 9c: 0000000000000091 (data)" | |
" a4: 03000000000000 (data)" | |
" ab: 4983ed20 (sub r13 #x20) ; <=" | |
" af: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" b3: 498b6d10 (mov rbp (mem64+ r13 #x10))" | |
" b7: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" bb: ebae (jmp (+ rip #x-52)) ; => 6b" | |
" bd: 4831ed (xor rbp rbp) ; <=" | |
" c0: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" c4: 4889ef (mov rdi rbp) ; <=" | |
" c7: e9b41275fa (jmp (+ rip #x-58aed4c)) ; #<code fx+/wraparound>" | |
" cc: 0f1f8000000000 (data)" | |
" d3: 41ff6500 (jmp (mem64+ r13 #x0)) ; <=" | |
" d7: 4989c8 (mov r8 rcx) ; <=" | |
" da: 4831ff (xor rdi rdi)" | |
" dd: e91e1b75fa (jmp (+ rip #x-58ae4e2)) ; #<code fx=>" | |
" e2: 0f1f8000000000 (data)" | |
" e9: 4c89c5 (mov rbp r8) ; <=" | |
" ec: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" f0: 4831ed (xor rbp rbp) ; <=" | |
" f3: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" f7: e9841574fa (jmp (+ rip #x-58bea7c)) ; #<code doargerr> ; <=" | |
" fc: 0f1f8000000000 (data)" | |
""))) | |
(define safe-clever | |
(lambda (a0) | |
"/app/compiled/example.rkt:132:1" | |
(#%assembly-code | |
" 0: 4883fd01 (cmp rbp #x1)" | |
" 4: 0f8510010000 (jnz (+ rip #x110)) ; => 11a" | |
" a: 41f6c007 (test r8b #x7)" | |
" e: 0f85ff000000 (jnz (+ rip #xff)) ; => 113" | |
" 14: 4983f800 (cmp r8 #x0)" | |
" 18: 0f8ef5000000 (jle (+ rip #xf5)) ; => 113" | |
" 1e: 48c7c608000000 (mov rsi #x8)" | |
" 25: 4831d2 (xor rdx rdx)" | |
" 28: 4889f5 (mov rbp rsi) ; <=" | |
" 2b: 4889d1 (mov rcx rdx)" | |
" 2e: 4983f800 (cmp r8 #x0)" | |
" 32: 0f84d4000000 (jz (+ rip #xd4)) ; => 10c" | |
" 38: 41f6c007 (test r8b #x7)" | |
" 3c: 0f85bb000000 (jnz (+ rip #xbb)) ; => fd" | |
" 42: 4983f808 (cmp r8 #x8)" | |
" 46: 0f84ad000000 (jz (+ rip #xad)) ; => f9" | |
" 4c: 4889ea (mov rdx rbp)" | |
" 4f: 4809ca (or rdx rcx)" | |
" 52: f6c207 (test dl #x7)" | |
" 55: 0f858c000000 (jnz (+ rip #x8c)) ; => e7" | |
" 5b: 488d740d00 (lea rsi (mem+ rbp #x0 (* rcx #x1)))" | |
" 60: 4883fe00 (cmp rsi #x0)" | |
" 64: 7e7a (jle (+ rip #x7a)) ; => e0" | |
" 66: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 6b: 742a (jz (+ rip #x2a)) ; => 97" | |
" 6d: 4889ea (mov rdx rbp) ; <=" | |
" 70: 41f6c007 (test r8b #x7)" | |
" 74: 750e (jnz (+ rip #xe)) ; => 84" | |
" 76: 4c89c1 (mov rcx r8)" | |
" 79: 4883e908 (sub rcx #x8)" | |
" 7d: 7005 (jo (+ rip #x5)) ; => 84" | |
" 7f: 4989c8 (mov r8 rcx)" | |
" 82: eba4 (jmp (+ rip #x-5c)) ; => 28" | |
" 84: 48c7c708000000 (mov rdi #x8) ; <=" | |
" 8b: e960c674fa (jmp (+ rip #x-58b39a0)) ; #<code fx->" | |
" 90: 0f1f8000000000 (data)" | |
" 97: 4d894508 (mov (mem64+ r13 #x8) r8) ; <=" | |
" 9b: 49896d10 (mov (mem64+ r13 #x10) rbp)" | |
" 9f: 49897518 (mov (mem64+ r13 #x18) rsi)" | |
" a3: 4983c520 (add r13 #x20)" | |
" a7: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => ce" | |
" ae: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" b2: e9d90d76fa (jmp (+ rip #x-589f227)) ; #<code event>" | |
" b7: 0f1f8000000000ff (data)" | |
" bf: 0000000000000091 (data)" | |
" c7: 03000000000000 (data)" | |
" ce: 4983ed20 (sub r13 #x20) ; <=" | |
" d2: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" d6: 498b6d10 (mov rbp (mem64+ r13 #x10))" | |
" da: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" de: eb8d (jmp (+ rip #x-73)) ; => 6d" | |
" e0: 4831ed (xor rbp rbp) ; <=" | |
" e3: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" e7: 4989c8 (mov r8 rcx) ; <=" | |
" ea: 4889ef (mov rdi rbp)" | |
" ed: e9decc74fa (jmp (+ rip #x-58b3322)) ; #<code fx+/wraparound>" | |
" f2: 0f1f8000000000 (data)" | |
" f9: 41ff6500 (jmp (mem64+ r13 #x0)) ; <=" | |
" fd: 4831ff (xor rdi rdi) ; <=" | |
" 100: e94bd574fa (jmp (+ rip #x-58b2ab5)) ; #<code fx=>" | |
" 105: 0f1f8000000000 (data)" | |
" 10c: 4889cd (mov rbp rcx) ; <=" | |
" 10f: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 113: 4831ed (xor rbp rbp) ; <=" | |
" 116: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 11a: e9b1cf73fa (jmp (+ rip #x-58c304f)) ; #<code doargerr> ; <=" | |
" 11f: 0f1f8000000000 (data)" | |
""))) | |
(define unsafe-clever | |
(lambda (a0) | |
"/app/compiled/example.rkt:111:1" | |
(#%assembly-code | |
" 0: 4883fd01 (cmp rbp #x1)" | |
" 4: 0f85aa000000 (jnz (+ rip #xaa)) ; => b4" | |
" a: 41f6c007 (test r8b #x7)" | |
" e: 0f8599000000 (jnz (+ rip #x99)) ; => ad" | |
" 14: 4983f800 (cmp r8 #x0)" | |
" 18: 0f8e8f000000 (jle (+ rip #x8f)) ; => ad" | |
" 1e: 48c7c208000000 (mov rdx #x8)" | |
" 25: 4831c9 (xor rcx rcx)" | |
" 28: 4889d5 (mov rbp rdx) ; <=" | |
" 2b: 4983f800 (cmp r8 #x0)" | |
" 2f: 7475 (jz (+ rip #x75)) ; => a6" | |
" 31: 4983f808 (cmp r8 #x8)" | |
" 35: 746b (jz (+ rip #x6b)) ; => a2" | |
" 37: 488d540d00 (lea rdx (mem+ rbp #x0 (* rcx #x1)))" | |
" 3c: 4883fa00 (cmp rdx #x0)" | |
" 40: 7e59 (jle (+ rip #x59)) ; => 9b" | |
" 42: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 47: 7409 (jz (+ rip #x9)) ; => 52" | |
" 49: 4889e9 (mov rcx rbp) ; <=" | |
" 4c: 4983c0f8 (add r8 #xfffffffffffffff8)" | |
" 50: ebd6 (jmp (+ rip #x-2a)) ; => 28" | |
" 52: 4d894508 (mov (mem64+ r13 #x8) r8) ; <=" | |
" 56: 49896d10 (mov (mem64+ r13 #x10) rbp)" | |
" 5a: 49895518 (mov (mem64+ r13 #x18) rdx)" | |
" 5e: 4983c520 (add r13 #x20)" | |
" 62: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 89" | |
" 69: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 6d: e9ae0c76fa (jmp (+ rip #x-589f352)) ; #<code event>" | |
" 72: 0f1f8000000000ba (data)" | |
" 7a: 0000000000000091 (data)" | |
" 82: 03000000000000 (data)" | |
" 89: 4983ed20 (sub r13 #x20) ; <=" | |
" 8d: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 91: 498b6d10 (mov rbp (mem64+ r13 #x10))" | |
" 95: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" 99: ebae (jmp (+ rip #x-52)) ; => 49" | |
" 9b: 4831ed (xor rbp rbp) ; <=" | |
" 9e: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" a2: 41ff6500 (jmp (mem64+ r13 #x0)) ; <=" | |
" a6: 4889cd (mov rbp rcx) ; <=" | |
" a9: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" ad: 4831ed (xor rbp rbp) ; <=" | |
" b0: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" b4: e9a7ce73fa (jmp (+ rip #x-58c3159)) ; #<code doargerr> ; <=" | |
" b9: 0f1f8000000000 (data)" | |
""))) | |
(define safe-generic-unguarded | |
(lambda (a0) | |
"/app/compiled/example.rkt:73:1" | |
(#%assembly-code | |
" 0: 4883fd01 (cmp rbp #x1)" | |
" 4: 0f85b3020000 (jnz (+ rip #x2b3)) ; => 2bd" | |
" a: 48c7c108000000 (mov rcx #x8)" | |
" 11: 4831f6 (xor rsi rsi)" | |
" 14: 4889cd (mov rbp rcx) ; <=" | |
" 17: 4889f1 (mov rcx rsi)" | |
" 1a: 4983f800 (cmp r8 #x0)" | |
" 1e: 0f8492020000 (jz (+ rip #x292)) ; => 2b6" | |
" 24: 41f6c007 (test r8b #x7)" | |
" 28: 0f85e3010000 (jnz (+ rip #x1e3)) ; => 211" | |
" 2e: 41f6c007 (test r8b #x7) ; <=" | |
" 32: 0f852b010000 (jnz (+ rip #x12b)) ; => 163" | |
" 38: 4983f808 (cmp r8 #x8)" | |
" 3c: 0f841d010000 (jz (+ rip #x11d)) ; => 15f" | |
" 42: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 47: 0f84c6000000 (jz (+ rip #xc6)) ; => 113" | |
" 4d: 41f6c007 (test r8b #x7) ; <=" | |
" 51: 7572 (jnz (+ rip #x72)) ; => c5" | |
" 53: 4c89c2 (mov rdx r8)" | |
" 56: 4883ea08 (sub rdx #x8)" | |
" 5a: 7069 (jo (+ rip #x69)) ; => c5" | |
" 5c: 4889ee (mov rsi rbp) ; <=" | |
" 5f: 4809ce (or rsi rcx)" | |
" 62: 40f6c607 (test sil #x7)" | |
" 66: 7513 (jnz (+ rip #x13)) ; => 7b" | |
" 68: 4889ce (mov rsi rcx)" | |
" 6b: 4801ee (add rsi rbp)" | |
" 6e: 700b (jo (+ rip #xb)) ; => 7b" | |
" 70: 4889f1 (mov rcx rsi)" | |
" 73: 4889ee (mov rsi rbp) ; <=" | |
" 76: 4989d0 (mov r8 rdx)" | |
" 79: eb99 (jmp (+ rip #x-67)) ; => 14" | |
" 7b: 4989c8 (mov r8 rcx) ; <=" | |
" 7e: 4889ef (mov rdi rbp)" | |
" 81: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 85: 49895508 (mov (mem64+ r13 #x8) rdx)" | |
" 89: 4983c520 (add r13 #x20)" | |
" 8d: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => b4" | |
" 94: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 98: e9d36475fa (jmp (+ rip #x-58a9b2d)) ; #<code +>" | |
" 9d: 0f1f8000000000e5 (data)" | |
" a5: 0000000000000093 (data)" | |
" ad: 02000000000000 (data)" | |
" b4: 4983ed20 (sub r13 #x20) ; <=" | |
" b8: 4889e9 (mov rcx rbp)" | |
" bb: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" bf: 498b5508 (mov rdx (mem64+ r13 #x8))" | |
" c3: ebae (jmp (+ rip #x-52)) ; => 73" | |
" c5: 48c7c708000000 (mov rdi #x8) ; <=" | |
" cc: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" d0: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" d4: 4983c520 (add r13 #x20)" | |
" d8: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => ff" | |
" df: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" e3: e9c87275fa (jmp (+ rip #x-58a8d38)) ; #<code ->" | |
" e8: 0f1f800000000030 (data)" | |
" f0: 0100000000000013 (data)" | |
" f8: 03000000000000 (data)" | |
" ff: 4983ed20 (sub r13 #x20) ; <=" | |
" 103: 4889ea (mov rdx rbp)" | |
" 106: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 10a: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 10e: e949ffffff (jmp (+ rip #x-b7)) ; => 5c" | |
" 113: 4d894508 (mov (mem64+ r13 #x8) r8) ; <=" | |
" 117: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 11b: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 11f: 4983c520 (add r13 #x20)" | |
" 123: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 14a" | |
" 12a: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 12e: e9ed0a76fa (jmp (+ rip #x-589f513)) ; #<code event>" | |
" 133: 0f1f80000000007b (data)" | |
" 13b: 0100000000000091 (data)" | |
" 143: 03000000000000 (data)" | |
" 14a: 4983ed20 (sub r13 #x20) ; <=" | |
" 14e: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 152: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 156: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 15a: e9eefeffff (jmp (+ rip #x-112)) ; => 4d" | |
" 15f: 41ff6500 (jmp (mem64+ r13 #x0)) ; <=" | |
" 163: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 168: 7547 (jnz (+ rip #x47)) ; => 1b1" | |
" 16a: 4d894508 (mov (mem64+ r13 #x8) r8)" | |
" 16e: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 172: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 176: 4983c520 (add r13 #x20)" | |
" 17a: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 1a1" | |
" 181: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 185: e9960a76fa (jmp (+ rip #x-589f56a)) ; #<code event>" | |
" 18a: 0f1f8000000000d2 (data)" | |
" 192: 0100000000000091 (data)" | |
" 19a: 03000000000000 (data)" | |
" 1a1: 4983ed20 (sub r13 #x20) ; <=" | |
" 1a5: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 1a9: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 1ad: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 1b1: 48c7c708000000 (mov rdi #x8) ; <=" | |
" 1b8: 4d894508 (mov (mem64+ r13 #x8) r8)" | |
" 1bc: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 1c0: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 1c4: 4983c520 (add r13 #x20)" | |
" 1c8: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 1ef" | |
" 1cf: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 1d3: e9e84f75fa (jmp (+ rip #x-58ab018)) ; #<code =>" | |
" 1d8: 0f1f800000000020 (data)" | |
" 1e0: 0200000000000093 (data)" | |
" 1e8: 03000000000000 (data)" | |
" 1ef: 4983ed20 (sub r13 #x20) ; <=" | |
" 1f3: 4889ea (mov rdx rbp)" | |
" 1f6: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 1fa: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 1fe: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 202: 4883fa06 (cmp rdx #x6)" | |
" 206: 0f8436feffff (jz (+ rip #x-1ca)) ; => 42" | |
" 20c: e94effffff (jmp (+ rip #x-b2)) ; => 15f" | |
" 211: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 216: 7547 (jnz (+ rip #x47)) ; => 25f" | |
" 218: 4d894508 (mov (mem64+ r13 #x8) r8)" | |
" 21c: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 220: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 224: 4983c520 (add r13 #x20)" | |
" 228: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 24f" | |
" 22f: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 233: e9e80976fa (jmp (+ rip #x-589f618)) ; #<code event>" | |
" 238: 0f1f800000000080 (data)" | |
" 240: 0200000000000091 (data)" | |
" 248: 03000000000000 (data)" | |
" 24f: 4983ed20 (sub r13 #x20) ; <=" | |
" 253: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 257: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 25b: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 25f: 4831ff (xor rdi rdi) ; <=" | |
" 262: 4d894508 (mov (mem64+ r13 #x8) r8)" | |
" 266: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 26a: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 26e: 4983c520 (add r13 #x20)" | |
" 272: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 299" | |
" 279: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 27d: e93e4f75fa (jmp (+ rip #x-58ab0c2)) ; #<code =>" | |
" 282: 0f1f8000000000ca (data)" | |
" 28a: 0200000000000093 (data)" | |
" 292: 03000000000000 (data)" | |
" 299: 4983ed20 (sub r13 #x20) ; <=" | |
" 29d: 4889ea (mov rdx rbp)" | |
" 2a0: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 2a4: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 2a8: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 2ac: 4883fa06 (cmp rdx #x6)" | |
" 2b0: 0f8478fdffff (jz (+ rip #x-288)) ; => 2e" | |
" 2b6: 4889cd (mov rbp rcx) ; <=" | |
" 2b9: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 2bd: e99ecb73fa (jmp (+ rip #x-58c3462)) ; #<code doargerr> ; <=" | |
" 2c2: 0f1f8000000000 (data)" | |
""))) | |
(define safe-generic | |
(lambda (a0) | |
"/app/compiled/example.rkt:57:1" | |
(#%assembly-code | |
" 0: 4883fd01 (cmp rbp #x1)" | |
" 4: 0f85ce020000 (jnz (+ rip #x2ce)) ; => 2d8" | |
" a: 41f6c007 (test r8b #x7)" | |
" e: 0f85bd020000 (jnz (+ rip #x2bd)) ; => 2d1" | |
" 14: 4983f800 (cmp r8 #x0)" | |
" 18: 0f8eb3020000 (jle (+ rip #x2b3)) ; => 2d1" | |
" 1e: 48c7c108000000 (mov rcx #x8)" | |
" 25: 4831f6 (xor rsi rsi)" | |
" 28: 4889cd (mov rbp rcx) ; <=" | |
" 2b: 4889f1 (mov rcx rsi)" | |
" 2e: 4983f800 (cmp r8 #x0)" | |
" 32: 0f8492020000 (jz (+ rip #x292)) ; => 2ca" | |
" 38: 41f6c007 (test r8b #x7)" | |
" 3c: 0f85e3010000 (jnz (+ rip #x1e3)) ; => 225" | |
" 42: 41f6c007 (test r8b #x7) ; <=" | |
" 46: 0f852b010000 (jnz (+ rip #x12b)) ; => 177" | |
" 4c: 4983f808 (cmp r8 #x8)" | |
" 50: 0f841d010000 (jz (+ rip #x11d)) ; => 173" | |
" 56: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 5b: 0f84c6000000 (jz (+ rip #xc6)) ; => 127" | |
" 61: 41f6c007 (test r8b #x7) ; <=" | |
" 65: 7572 (jnz (+ rip #x72)) ; => d9" | |
" 67: 4c89c2 (mov rdx r8)" | |
" 6a: 4883ea08 (sub rdx #x8)" | |
" 6e: 7069 (jo (+ rip #x69)) ; => d9" | |
" 70: 4889ee (mov rsi rbp) ; <=" | |
" 73: 4809ce (or rsi rcx)" | |
" 76: 40f6c607 (test sil #x7)" | |
" 7a: 7513 (jnz (+ rip #x13)) ; => 8f" | |
" 7c: 4889ce (mov rsi rcx)" | |
" 7f: 4801ee (add rsi rbp)" | |
" 82: 700b (jo (+ rip #xb)) ; => 8f" | |
" 84: 4889f1 (mov rcx rsi)" | |
" 87: 4889ee (mov rsi rbp) ; <=" | |
" 8a: 4989d0 (mov r8 rdx)" | |
" 8d: eb99 (jmp (+ rip #x-67)) ; => 28" | |
" 8f: 4989c8 (mov r8 rcx) ; <=" | |
" 92: 4889ef (mov rdi rbp)" | |
" 95: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 99: 49895508 (mov (mem64+ r13 #x8) rdx)" | |
" 9d: 4983c520 (add r13 #x20)" | |
" a1: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => c8" | |
" a8: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" ac: e9af6175fa (jmp (+ rip #x-58a9e51)) ; #<code +>" | |
" b1: 0f1f8000000000f9 (data)" | |
" b9: 0000000000000093 (data)" | |
" c1: 02000000000000 (data)" | |
" c8: 4983ed20 (sub r13 #x20) ; <=" | |
" cc: 4889e9 (mov rcx rbp)" | |
" cf: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" d3: 498b5508 (mov rdx (mem64+ r13 #x8))" | |
" d7: ebae (jmp (+ rip #x-52)) ; => 87" | |
" d9: 48c7c708000000 (mov rdi #x8) ; <=" | |
" e0: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" e4: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" e8: 4983c520 (add r13 #x20)" | |
" ec: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 113" | |
" f3: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" f7: e9a46f75fa (jmp (+ rip #x-58a905c)) ; #<code ->" | |
" fc: 0f1f800000000044 (data)" | |
" 104: 0100000000000013 (data)" | |
" 10c: 03000000000000 (data)" | |
" 113: 4983ed20 (sub r13 #x20) ; <=" | |
" 117: 4889ea (mov rdx rbp)" | |
" 11a: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 11e: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 122: e949ffffff (jmp (+ rip #x-b7)) ; => 70" | |
" 127: 4d894508 (mov (mem64+ r13 #x8) r8) ; <=" | |
" 12b: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 12f: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 133: 4983c520 (add r13 #x20)" | |
" 137: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 15e" | |
" 13e: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 142: e9c90776fa (jmp (+ rip #x-589f837)) ; #<code event>" | |
" 147: 0f1f80000000008f (data)" | |
" 14f: 0100000000000091 (data)" | |
" 157: 03000000000000 (data)" | |
" 15e: 4983ed20 (sub r13 #x20) ; <=" | |
" 162: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 166: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 16a: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 16e: e9eefeffff (jmp (+ rip #x-112)) ; => 61" | |
" 173: 41ff6500 (jmp (mem64+ r13 #x0)) ; <=" | |
" 177: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 17c: 7547 (jnz (+ rip #x47)) ; => 1c5" | |
" 17e: 4d894508 (mov (mem64+ r13 #x8) r8)" | |
" 182: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 186: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 18a: 4983c520 (add r13 #x20)" | |
" 18e: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 1b5" | |
" 195: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 199: e9720776fa (jmp (+ rip #x-589f88e)) ; #<code event>" | |
" 19e: 0f1f8000000000e6 (data)" | |
" 1a6: 0100000000000091 (data)" | |
" 1ae: 03000000000000 (data)" | |
" 1b5: 4983ed20 (sub r13 #x20) ; <=" | |
" 1b9: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 1bd: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 1c1: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 1c5: 48c7c708000000 (mov rdi #x8) ; <=" | |
" 1cc: 4d894508 (mov (mem64+ r13 #x8) r8)" | |
" 1d0: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 1d4: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 1d8: 4983c520 (add r13 #x20)" | |
" 1dc: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 203" | |
" 1e3: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 1e7: e9c44c75fa (jmp (+ rip #x-58ab33c)) ; #<code =>" | |
" 1ec: 0f1f800000000034 (data)" | |
" 1f4: 0200000000000093 (data)" | |
" 1fc: 03000000000000 (data)" | |
" 203: 4983ed20 (sub r13 #x20) ; <=" | |
" 207: 4889ea (mov rdx rbp)" | |
" 20a: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 20e: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 212: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 216: 4883fa06 (cmp rdx #x6)" | |
" 21a: 0f8436feffff (jz (+ rip #x-1ca)) ; => 56" | |
" 220: e94effffff (jmp (+ rip #x-b2)) ; => 173" | |
" 225: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 22a: 7547 (jnz (+ rip #x47)) ; => 273" | |
" 22c: 4d894508 (mov (mem64+ r13 #x8) r8)" | |
" 230: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 234: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 238: 4983c520 (add r13 #x20)" | |
" 23c: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 263" | |
" 243: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 247: e9c40676fa (jmp (+ rip #x-589f93c)) ; #<code event>" | |
" 24c: 0f1f800000000094 (data)" | |
" 254: 0200000000000091 (data)" | |
" 25c: 03000000000000 (data)" | |
" 263: 4983ed20 (sub r13 #x20) ; <=" | |
" 267: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 26b: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 26f: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 273: 4831ff (xor rdi rdi) ; <=" | |
" 276: 4d894508 (mov (mem64+ r13 #x8) r8)" | |
" 27a: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 27e: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 282: 4983c520 (add r13 #x20)" | |
" 286: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 2ad" | |
" 28d: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 291: e91a4c75fa (jmp (+ rip #x-58ab3e6)) ; #<code =>" | |
" 296: 0f1f8000000000de (data)" | |
" 29e: 0200000000000093 (data)" | |
" 2a6: 03000000000000 (data)" | |
" 2ad: 4983ed20 (sub r13 #x20) ; <=" | |
" 2b1: 4889ea (mov rdx rbp)" | |
" 2b4: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 2b8: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 2bc: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 2c0: 4883fa06 (cmp rdx #x6)" | |
" 2c4: 0f8478fdffff (jz (+ rip #x-288)) ; => 42" | |
" 2ca: 4889cd (mov rbp rcx) ; <=" | |
" 2cd: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 2d1: 4831ed (xor rbp rbp) ; <=" | |
" 2d4: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 2d8: e973c873fa (jmp (+ rip #x-58c378d)) ; #<code doargerr> ; <=" | |
" 2dd: 0f1f8000000000 (data)" | |
""))) | |
(define safe-extra-wraparound | |
(lambda (a0) | |
"/app/compiled/example.rkt:41:1" | |
(#%assembly-code | |
" 0: 4883fd01 (cmp rbp #x1)" | |
" 4: 0f85df000000 (jnz (+ rip #xdf)) ; => e9" | |
" a: 41f6c007 (test r8b #x7)" | |
" e: 0f85ce000000 (jnz (+ rip #xce)) ; => e2" | |
" 14: 4983f800 (cmp r8 #x0)" | |
" 18: 0f8ec4000000 (jle (+ rip #xc4)) ; => e2" | |
" 1e: 48c7c608000000 (mov rsi #x8)" | |
" 25: 4831d2 (xor rdx rdx)" | |
" 28: 4c89c1 (mov rcx r8)" | |
" 2b: 4889f5 (mov rbp rsi) ; <=" | |
" 2e: 4989d0 (mov r8 rdx)" | |
" 31: 4883f900 (cmp rcx #x0)" | |
" 35: 0f84a0000000 (jz (+ rip #xa0)) ; => db" | |
" 3b: f6c107 (test cl #x7)" | |
" 3e: 0f8585000000 (jnz (+ rip #x85)) ; => c9" | |
" 44: 4883f908 (cmp rcx #x8)" | |
" 48: 747b (jz (+ rip #x7b)) ; => c5" | |
" 4a: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 4f: 742b (jz (+ rip #x2b)) ; => 7c" | |
" 51: 488d79f8 (lea rdi (mem+ rcx #x-8)) ; <=" | |
" 55: 4889e9 (mov rcx rbp)" | |
" 58: 4c09c1 (or rcx r8)" | |
" 5b: f6c107 (test cl #x7)" | |
" 5e: 750d (jnz (+ rip #xd)) ; => 6d" | |
" 60: 4a8d740500 (lea rsi (mem+ rbp #x0 (* r8 #x1)))" | |
" 65: 4889ea (mov rdx rbp)" | |
" 68: 4889f9 (mov rcx rdi)" | |
" 6b: ebbe (jmp (+ rip #x-42)) ; => 2b" | |
" 6d: 4889ef (mov rdi rbp) ; <=" | |
" 70: e9abc474fa (jmp (+ rip #x-58b3b55)) ; #<code fx+/wraparound>" | |
" 75: 0f1f8000000000 (data)" | |
" 7c: 49894d08 (mov (mem64+ r13 #x8) rcx) ; <=" | |
" 80: 4d894510 (mov (mem64+ r13 #x10) r8)" | |
" 84: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 88: 4983c520 (add r13 #x20)" | |
" 8c: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => b3" | |
" 93: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 97: e9440576fa (jmp (+ rip #x-589fabc)) ; #<code event>" | |
" 9c: 0f1f8000000000e4 (data)" | |
" a4: 0000000000000091 (data)" | |
" ac: 03000000000000 (data)" | |
" b3: 4983ed20 (sub r13 #x20) ; <=" | |
" b7: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" bb: 4d8b4510 (mov r8 (mem64+ r13 #x10))" | |
" bf: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" c3: eb8c (jmp (+ rip #x-74)) ; => 51" | |
" c5: 41ff6500 (jmp (mem64+ r13 #x0)) ; <=" | |
" c9: 4989c8 (mov r8 rcx) ; <=" | |
" cc: 4831ff (xor rdi rdi)" | |
" cf: e9cccc74fa (jmp (+ rip #x-58b3334)) ; #<code fx=>" | |
" d4: 0f1f8000000000 (data)" | |
" db: 4c89c5 (mov rbp r8) ; <=" | |
" de: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" e2: 4831ed (xor rbp rbp) ; <=" | |
" e5: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" e9: e932c773fa (jmp (+ rip #x-58c38ce)) ; #<code doargerr> ; <=" | |
" ee: 0f1f8000000000 (data)" | |
""))) | |
(define safe | |
(lambda (a0) | |
"/app/compiled/example.rkt:22:1" | |
(#%assembly-code | |
" 0: 4883fd01 (cmp rbp #x1)" | |
" 4: 0f8500010000 (jnz (+ rip #x100)) ; => 10a" | |
" a: 41f6c007 (test r8b #x7)" | |
" e: 0f85ef000000 (jnz (+ rip #xef)) ; => 103" | |
" 14: 4983f800 (cmp r8 #x0)" | |
" 18: 0f8ee5000000 (jle (+ rip #xe5)) ; => 103" | |
" 1e: 48c7c608000000 (mov rsi #x8)" | |
" 25: 4831c9 (xor rcx rcx)" | |
" 28: 4889f5 (mov rbp rsi) ; <=" | |
" 2b: 4983f800 (cmp r8 #x0)" | |
" 2f: 0f84c7000000 (jz (+ rip #xc7)) ; => fc" | |
" 35: 41f6c007 (test r8b #x7)" | |
" 39: 0f85ae000000 (jnz (+ rip #xae)) ; => ed" | |
" 3f: 4983f808 (cmp r8 #x8)" | |
" 43: 0f84a0000000 (jz (+ rip #xa0)) ; => e9" | |
" 49: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 4e: 744d (jz (+ rip #x4d)) ; => 9d" | |
" 50: 41f6c007 (test r8b #x7) ; <=" | |
" 54: 7534 (jnz (+ rip #x34)) ; => 8a" | |
" 56: 4c89c2 (mov rdx r8)" | |
" 59: 4883ea08 (sub rdx #x8)" | |
" 5d: 702b (jo (+ rip #x2b)) ; => 8a" | |
" 5f: 4889ee (mov rsi rbp)" | |
" 62: 4809ce (or rsi rcx)" | |
" 65: 40f6c607 (test sil #x7)" | |
" 69: 750d (jnz (+ rip #xd)) ; => 78" | |
" 6b: 488d740d00 (lea rsi (mem+ rbp #x0 (* rcx #x1)))" | |
" 70: 4889e9 (mov rcx rbp)" | |
" 73: 4989d0 (mov r8 rdx)" | |
" 76: ebb0 (jmp (+ rip #x-50)) ; => 28" | |
" 78: 4989c8 (mov r8 rcx) ; <=" | |
" 7b: 4889ef (mov rdi rbp)" | |
" 7e: e95dc374fa (jmp (+ rip #x-58b3ca3)) ; #<code fx+/wraparound>" | |
" 83: 0f1f8000000000 (data)" | |
" 8a: 48c7c708000000 (mov rdi #x8) ; <=" | |
" 91: e96abc74fa (jmp (+ rip #x-58b4396)) ; #<code fx->" | |
" 96: 0f1f8000000000 (data)" | |
" 9d: 4d894508 (mov (mem64+ r13 #x8) r8) ; <=" | |
" a1: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" a5: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" a9: 4983c520 (add r13 #x20)" | |
" ad: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => d4" | |
" b4: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" b8: e9e30376fa (jmp (+ rip #x-589fc1d)) ; #<code event>" | |
" bd: 0f1f800000000005 (data)" | |
" c5: 0100000000000091 (data)" | |
" cd: 03000000000000 (data)" | |
" d4: 4983ed20 (sub r13 #x20) ; <=" | |
" d8: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" dc: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" e0: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" e4: e967ffffff (jmp (+ rip #x-99)) ; => 50" | |
" e9: 41ff6500 (jmp (mem64+ r13 #x0)) ; <=" | |
" ed: 4831ff (xor rdi rdi) ; <=" | |
" f0: e96bcb74fa (jmp (+ rip #x-58b3495)) ; #<code fx=>" | |
" f5: 0f1f8000000000 (data)" | |
" fc: 4889cd (mov rbp rcx) ; <=" | |
" ff: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 103: 4831ed (xor rbp rbp) ; <=" | |
" 106: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 10a: e9d1c573fa (jmp (+ rip #x-58c3a2f)) ; #<code doargerr> ; <=" | |
" 10f: 0f1f8000000000 (data)" | |
""))) | |
(define unsafe | |
(lambda (a0) | |
"/app/compiled/example.rkt:6:1" | |
(#%assembly-code | |
" 0: 4883fd01 (cmp rbp #x1)" | |
" 4: 0f8593000000 (jnz (+ rip #x93)) ; => 9d" | |
" a: 41f6c007 (test r8b #x7)" | |
" e: 0f8582000000 (jnz (+ rip #x82)) ; => 96" | |
" 14: 48c7c208000000 (mov rdx #x8)" | |
" 1b: 4831c9 (xor rcx rcx)" | |
" 1e: 4889d5 (mov rbp rdx) ; <=" | |
" 21: 4983f800 (cmp r8 #x0)" | |
" 25: 7468 (jz (+ rip #x68)) ; => 8f" | |
" 27: 4983f808 (cmp r8 #x8)" | |
" 2b: 745e (jz (+ rip #x5e)) ; => 8b" | |
" 2d: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 32: 740e (jz (+ rip #xe)) ; => 42" | |
" 34: 488d540d00 (lea rdx (mem+ rbp #x0 (* rcx #x1))) ; <=" | |
" 39: 4889e9 (mov rcx rbp)" | |
" 3c: 4983c0f8 (add r8 #xfffffffffffffff8)" | |
" 40: ebdc (jmp (+ rip #x-24)) ; => 1e" | |
" 42: 4d894508 (mov (mem64+ r13 #x8) r8) ; <=" | |
" 46: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 4a: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 4e: 4983c520 (add r13 #x20)" | |
" 52: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 79" | |
" 59: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 5d: e91ef775fa (jmp (+ rip #x-58a08e2)) ; #<code event>" | |
" 62: 0f1f8000000000aa (data)" | |
" 6a: 0000000000000091 (data)" | |
" 72: 03000000000000 (data)" | |
" 79: 4983ed20 (sub r13 #x20) ; <=" | |
" 7d: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 81: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 85: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 89: eba9 (jmp (+ rip #x-57)) ; => 34" | |
" 8b: 41ff6500 (jmp (mem64+ r13 #x0)) ; <=" | |
" 8f: 4889cd (mov rbp rcx) ; <=" | |
" 92: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 96: 4831ed (xor rbp rbp) ; <=" | |
" 99: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 9d: e91eb973fa (jmp (+ rip #x-58c46e2)) ; #<code doargerr> ; <=" | |
" a2: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 4883fd0d (cmp rbp #xd)" | |
" 4: 0f85e0010000 (jnz (+ rip #x1e0)) ; => 1ea" | |
" a: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" e: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" 12: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 16: 4d8b4528 (mov r8 (mem64+ r13 #x28))" | |
" 1a: 4d8b7d30 (mov r15 (mem64+ r13 #x30))" | |
" 1e: 4d8b5d38 (mov r11 (mem64+ r13 #x38))" | |
" 22: 4d8b5540 (mov r10 (mem64+ r13 #x40))" | |
" 26: 498b5d48 (mov rbx (mem64+ r13 #x48))" | |
" 2a: 498b6d50 (mov rbp (mem64+ r13 #x50))" | |
" 2e: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 33: 0f8435010000 (jz (+ rip #x135)) ; => 16e" | |
" 39: 4d8d61ff (lea r12 (mem+ r9 #x-1)) ; <=" | |
" 3d: 4983c160 (add r9 #x60)" | |
" 41: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 45: 0f8211010000 (jb (+ rip #x111)) ; => 15c" | |
" 4b: 4c89e7 (mov rdi r12) ; <=" | |
" 4e: 48b84d6e2a4700000000 (mov rax #x472a6e4d) ; #<procedure:unsafe>" | |
" 58: 48894709 (mov (mem64+ rdi #x9) rax)" | |
" 5c: 48b80d632a4700000000 (mov rax #x472a630d) ; #<procedure:safe>" | |
" 66: 48894711 (mov (mem64+ rdi #x11) rax)" | |
" 6a: 48b8fd622a4700000000 (mov rax #x472a62fd) ; #<procedure:safe-extra-wraparound>" | |
" 74: 48894719 (mov (mem64+ rdi #x19) rax)" | |
" 78: 48b8cd5c2a4700000000 (mov rax #x472a5ccd) ; #<procedure:safe-generic>" | |
" 82: 48894721 (mov (mem64+ rdi #x21) rax)" | |
" 86: 48b8bd5c2a4700000000 (mov rax #x472a5cbd) ; #<procedure:safe-generic-unguarded>" | |
" 90: 48894729 (mov (mem64+ rdi #x29) rax)" | |
" 94: 48b83d4a2a4700000000 (mov rax #x472a4a3d) ; #<procedure:unsafe-clever>" | |
" 9e: 48894731 (mov (mem64+ rdi #x31) rax)" | |
" a2: 48b82d4a2a4700000000 (mov rax #x472a4a2d) ; #<procedure:safe-clever>" | |
" ac: 48894739 (mov (mem64+ rdi #x39) rax)" | |
" b0: 48b88d402a4700000000 (mov rax #x472a408d) ; #<procedure:safe-clever-extra-wraparound>" | |
" ba: 48894741 (mov (mem64+ rdi #x41) rax)" | |
" be: 48b87d402a4700000000 (mov rax #x472a407d) ; #<procedure:safe-non-tail>" | |
" c8: 48894749 (mov (mem64+ rdi #x49) rax)" | |
" cc: 48b83d6e2a4700000000 (mov rax #x472a6e3d) ; #<procedure:unsafe-non-tail>" | |
" d6: 48894751 (mov (mem64+ rdi #x51) rax)" | |
" da: 48c74701a0000000 (mov (mem64+ rdi #x1) #xa0)" | |
" e2: 4d8d61ff (lea r12 (mem+ r9 #x-1))" | |
" e6: 4983c160 (add r9 #x60)" | |
" ea: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" ee: 725d (jb (+ rip #x5d)) ; => 14d" | |
" f0: 49896c2409 (mov (mem64+ r12 #x9) rbp) ; <=" | |
" f5: 49895c2411 (mov (mem64+ r12 #x11) rbx)" | |
" fa: 4d89542419 (mov (mem64+ r12 #x19) r10)" | |
" ff: 4d895c2421 (mov (mem64+ r12 #x21) r11)" | |
" 104: 4d897c2429 (mov (mem64+ r12 #x29) r15)" | |
" 109: 4d89442431 (mov (mem64+ r12 #x31) r8)" | |
" 10e: 4989742439 (mov (mem64+ r12 #x39) rsi)" | |
" 113: 4989542441 (mov (mem64+ r12 #x41) rdx)" | |
" 118: 49894c2449 (mov (mem64+ r12 #x49) rcx)" | |
" 11d: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 121: 49894c2451 (mov (mem64+ r12 #x51) rcx)" | |
" 126: 49c7442401a0000000 (mov (mem64+ r12 #x1) #xa0)" | |
" 12f: 4d89e0 (mov r8 r12)" | |
" 132: 49bcab62484200000000 (mov r12 #x424862ab) ; 'set-consistent-variables!/define" | |
" 13c: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 141: 48c7c502000000 (mov rbp #x2)" | |
" 148: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 14d: 49e8fd3c72fa (call (+ rip #x-58dc303)) ; #<code get-room> ; <=" | |
" 153: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 15a: eb94 (jmp (+ rip #x-6c)) ; => f0" | |
" 15c: 49e8ee3c72fa (call (+ rip #x-58dc312)) ; #<code get-room> ; <=" | |
" 162: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 169: e9ddfeffff (jmp (+ rip #x-123)) ; => 4b" | |
" 16e: 49894d10 (mov (mem64+ r13 #x10) rcx) ; <=" | |
" 172: 49895518 (mov (mem64+ r13 #x18) rdx)" | |
" 176: 49897520 (mov (mem64+ r13 #x20) rsi)" | |
" 17a: 4d894528 (mov (mem64+ r13 #x28) r8)" | |
" 17e: 4d897d30 (mov (mem64+ r13 #x30) r15)" | |
" 182: 4d895d38 (mov (mem64+ r13 #x38) r11)" | |
" 186: 4d895540 (mov (mem64+ r13 #x40) r10)" | |
" 18a: 49895d48 (mov (mem64+ r13 #x48) rbx)" | |
" 18e: 49896d50 (mov (mem64+ r13 #x50) rbp)" | |
" 192: 4983c558 (add r13 #x58)" | |
" 196: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 1bd" | |
" 19d: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 1a1: e9da8874fa (jmp (+ rip #x-58b7726)) ; #<code event>" | |
" 1a6: 0f1f8000000000ee (data)" | |
" 1ae: 01000000000000ad (data)" | |
" 1b6: ff010000000000 (data)" | |
" 1bd: 4983ed58 (sub r13 #x58) ; <=" | |
" 1c1: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 1c5: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" 1c9: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 1cd: 4d8b4528 (mov r8 (mem64+ r13 #x28))" | |
" 1d1: 4d8b7d30 (mov r15 (mem64+ r13 #x30))" | |
" 1d5: 4d8b5d38 (mov r11 (mem64+ r13 #x38))" | |
" 1d9: 4d8b5540 (mov r10 (mem64+ r13 #x40))" | |
" 1dd: 498b5d48 (mov rbx (mem64+ r13 #x48))" | |
" 1e1: 498b6d50 (mov rbp (mem64+ r13 #x50))" | |
" 1e5: e94ffeffff (jmp (+ rip #x-1b1)) ; => 39" | |
" 1ea: e9d14a72fa (jmp (+ rip #x-58db52f)) ; #<code doargerr> ; <=" | |
" 1ef: 0f1f8000000000 (data)" | |
"") | |
(module (example typed-again) .... | |
(require (lib "typed/racket/base.rkt") | |
(lib "typed/racket/unsafe.rkt") | |
(lib "racket/unsafe/ops.rkt") | |
(lib "typed/racket/base.rkt") | |
(lib "typed/racket/unsafe.rkt") | |
(lib "racket/unsafe/ops.rkt") | |
(for-syntax | |
(lib "typed-racket/utils/redirect-contract.rkt") | |
(submod "." #%contract-defs-reference))) | |
(provide) | |
(define typed-abs | |
(lambda (a0) | |
"/app/compiled/example.rkt:216:3" | |
(#%assembly-code | |
" 0: 4883fd01 (cmp rbp #x1)" | |
" 4: 0f85a6000000 (jnz (+ rip #xa6)) ; => b0" | |
" a: 41f6c007 (test r8b #x7)" | |
" e: 0f8595000000 (jnz (+ rip #x95)) ; => a9" | |
" 14: 4983f800 (cmp r8 #x0)" | |
" 18: 0f8e8b000000 (jle (+ rip #x8b)) ; => a9" | |
" 1e: 48c7c208000000 (mov rdx #x8)" | |
" 25: 4831c9 (xor rcx rcx)" | |
" 28: 4889d5 (mov rbp rdx) ; <=" | |
" 2b: 4983f800 (cmp r8 #x0)" | |
" 2f: 7471 (jz (+ rip #x71)) ; => a2" | |
" 31: 4983f808 (cmp r8 #x8)" | |
" 35: 7467 (jz (+ rip #x67)) ; => 9e" | |
" 37: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 3c: 7417 (jz (+ rip #x17)) ; => 55" | |
" 3e: 488d540d00 (lea rdx (mem+ rbp #x0 (* rcx #x1))) ; <=" | |
" 43: 4883fa00 (cmp rdx #x0)" | |
" 47: 7d03 (jnl (+ rip #x3)) ; => 4c" | |
" 49: 48f7da (neg rdx)" | |
" 4c: 4889e9 (mov rcx rbp) ; <=" | |
" 4f: 4983c0f8 (add r8 #xfffffffffffffff8)" | |
" 53: ebd3 (jmp (+ rip #x-2d)) ; => 28" | |
" 55: 4d894508 (mov (mem64+ r13 #x8) r8) ; <=" | |
" 59: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 5d: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 61: 4983c520 (add r13 #x20)" | |
" 65: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 8c" | |
" 6c: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 70: e93bf585f8 (jmp (+ rip #x-77a0ac5)) ; #<code event>" | |
" 75: 0f1f8000000000bd (data)" | |
" 7d: 0000000000000091 (data)" | |
" 85: 03000000000000 (data)" | |
" 8c: 4983ed20 (sub r13 #x20) ; <=" | |
" 90: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 94: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 98: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" 9c: eba0 (jmp (+ rip #x-60)) ; => 3e" | |
" 9e: 41ff6500 (jmp (mem64+ r13 #x0)) ; <=" | |
" a2: 4889cd (mov rbp rcx) ; <=" | |
" a5: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" a9: 4831ed (xor rbp rbp) ; <=" | |
" ac: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" b0: e93bb783f8 (jmp (+ rip #x-77c48c5)) ; #<code doargerr> ; <=" | |
" b5: 0f1f8000000000 (data)" | |
""))) | |
(define typed-max | |
(lambda (a0) | |
"/app/compiled/example.rkt:200:3" | |
(#%assembly-code | |
" 0: 4883fd01 (cmp rbp #x1)" | |
" 4: 0f85ab000000 (jnz (+ rip #xab)) ; => b5" | |
" a: 41f6c007 (test r8b #x7)" | |
" e: 0f859a000000 (jnz (+ rip #x9a)) ; => ae" | |
" 14: 4983f800 (cmp r8 #x0)" | |
" 18: 0f8e90000000 (jle (+ rip #x90)) ; => ae" | |
" 1e: 48c7c208000000 (mov rdx #x8)" | |
" 25: 4831c9 (xor rcx rcx)" | |
" 28: 4889d5 (mov rbp rdx) ; <=" | |
" 2b: 4983f800 (cmp r8 #x0)" | |
" 2f: 7476 (jz (+ rip #x76)) ; => a7" | |
" 31: 4983f808 (cmp r8 #x8)" | |
" 35: 746c (jz (+ rip #x6c)) ; => a3" | |
" 37: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 3c: 741c (jz (+ rip #x1c)) ; => 5a" | |
" 3e: 4801e9 (add rcx rbp) ; <=" | |
" 41: 4883f908 (cmp rcx #x8)" | |
" 45: 7d07 (jnl (+ rip #x7)) ; => 4e" | |
" 47: 48c7c108000000 (mov rcx #x8)" | |
" 4e: 4889ca (mov rdx rcx) ; <=" | |
" 51: 4889e9 (mov rcx rbp)" | |
" 54: 4983c0f8 (add r8 #xfffffffffffffff8)" | |
" 58: ebce (jmp (+ rip #x-32)) ; => 28" | |
" 5a: 4d894508 (mov (mem64+ r13 #x8) r8) ; <=" | |
" 5e: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" 62: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 66: 4983c520 (add r13 #x20)" | |
" 6a: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 91" | |
" 71: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 75: e9863e7df8 (jmp (+ rip #x-782c17a)) ; #<code event>" | |
" 7a: 0f1f8000000000c2 (data)" | |
" 82: 0000000000000091 (data)" | |
" 8a: 03000000000000 (data)" | |
" 91: 4983ed20 (sub r13 #x20) ; <=" | |
" 95: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 99: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 9d: 498b6d18 (mov rbp (mem64+ r13 #x18))" | |
" a1: eb9b (jmp (+ rip #x-65)) ; => 3e" | |
" a3: 41ff6500 (jmp (mem64+ r13 #x0)) ; <=" | |
" a7: 4889cd (mov rbp rcx) ; <=" | |
" aa: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" ae: 4831ed (xor rbp rbp) ; <=" | |
" b1: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" b5: e986007bf8 (jmp (+ rip #x-784ff7a)) ; #<code doargerr> ; <=" | |
" ba: 0f1f8000000000 (data)" | |
""))) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f8484000000 (jz (+ rip #x84)) ; => 8f" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 7572 (jnz (+ rip #x72)) ; => 83" | |
" 11: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 15: 765e (jbe (+ rip #x5e)) ; => 75" | |
" 17: 4d8b470b (mov r8 (mem64+ r15 #xb)) ; <=" | |
" 1b: 4d897d08 (mov (mem64+ r13 #x8) r15)" | |
" 1f: 4983c510 (add r13 #x10)" | |
" 23: 4d8b7f13 (mov r15 (mem64+ r15 #x13))" | |
" 27: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 4d" | |
" 2e: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 32: 48c7c501000000 (mov rbp #x1)" | |
" 39: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 3d: 7e00000000000000 (data)" | |
" 45: 8b00000000000000 (data)" | |
" 4d: 4983ed10 (sub r13 #x10) ; <=" | |
" 51: 4d8b7d08 (mov r15 (mem64+ r13 #x8))" | |
" 55: 4989e8 (mov r8 rbp)" | |
" 58: 48c7c726000000 (mov rdi #x26)" | |
" 5f: 48c7c606000000 (mov rsi #x6)" | |
" 66: 4d8b7f1b (mov r15 (mem64+ r15 #x1b))" | |
" 6a: 48c7c503000000 (mov rbp #x3)" | |
" 71: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 75: e846f67af8 (call (+ rip #x-78509ba)) ; #<code dooverflow> ; <=" | |
" 7a: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 81: eb94 (jmp (+ rip #x-6c)) ; => 17" | |
" 83: e9a8ff7af8 (jmp (+ rip #x-7850058)) ; #<code doargerr> ; <=" | |
" 88: 0f1f8000000000 (data)" | |
" 8f: e9cc237bf8 (jmp (+ rip #x-784dc34)) ; #<code event-detour> ; <=" | |
" 94: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 4883fd0b (cmp rbp #xb)" | |
" 4: 0f857f020000 (jnz (+ rip #x27f)) ; => 289" | |
" a: 4c89c1 (mov rcx r8)" | |
" d: 498b7d08 (mov rdi (mem64+ r13 #x8))" | |
" 11: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 15: 498b5538 (mov rdx (mem64+ r13 #x38))" | |
" 19: 498b7540 (mov rsi (mem64+ r13 #x40))" | |
" 1d: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 21: 0f8651020000 (jbe (+ rip #x251)) ; => 278" | |
" 27: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 2c: 0f84ea010000 (jz (+ rip #x1ea)) ; => 21c" | |
" 32: 4d8d61fd (lea r12 (mem+ r9 #x-3)) ; <=" | |
" 36: 4983c120 (add r9 #x20)" | |
" 3a: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 3e: 0f82c6010000 (jb (+ rip #x1c6)) ; => 20a" | |
" 44: 4d89e0 (mov r8 r12) ; <=" | |
" 47: 49bb5019dc4700000000 (mov r11 #x47dc1950) ; #<code>" | |
" 51: 4d895803 (mov (mem64+ r8 #x3) r11)" | |
" 55: 4989480b (mov (mem64+ r8 #xb) rcx)" | |
" 59: 4d897813 (mov (mem64+ r8 #x13) r15)" | |
" 5d: 4989781b (mov (mem64+ r8 #x1b) rdi)" | |
" 61: 49897548 (mov (mem64+ r13 #x48) rsi)" | |
" 65: 48bf19d8cf4600000000 (mov rdi #x46cfd819) ; '(blame5.1)" | |
" 6f: 48be09d8cf4600000000 (mov rsi #x46cfd809) ; '(constant)" | |
" 79: 49895538 (mov (mem64+ r13 #x38) rdx)" | |
" 7d: 4983c540 (add r13 #x40)" | |
" 81: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 8b: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 90: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => b7" | |
" 97: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 9b: 48c7c504000000 (mov rbp #x4)" | |
" a2: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" a7: e800000000000000 (data)" | |
" af: 213c000000000000 (data)" | |
" b7: 4983ed40 (sub r13 #x40) ; <=" | |
" bb: 498b5538 (mov rdx (mem64+ r13 #x38))" | |
" bf: 4989d0 (mov r8 rdx)" | |
" c2: 48b90039094000000000 (mov rcx #x40093900) ; 'fxabs" | |
" cc: 488b39 (mov rdi (mem64+ rcx))" | |
" cf: 48be9bbeea4000000000 (mov rsi #x40eabe9b) ; 'constant" | |
" d9: 4983c538 (add r13 #x38)" | |
" dd: 49bc2b61484200000000 (mov r12 #x4248612b) ; 'variable-set!/define" | |
" e7: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" ec: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 113" | |
" f3: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" f7: 48c7c503000000 (mov rbp #x3)" | |
" fe: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 103: 4401000000000000 (data)" | |
" 10b: 1d1c000000000000 (data)" | |
" 113: 4983ed38 (sub r13 #x38) ; <=" | |
" 117: 4d8b4530 (mov r8 (mem64+ r13 #x30))" | |
" 11b: 48b980eb054000000000 (mov rcx #x4005eb80) ; 'fx+/wraparound" | |
" 125: 488b39 (mov rdi (mem64+ rcx))" | |
" 128: 48be9bbeea4000000000 (mov rsi #x40eabe9b) ; 'constant" | |
" 132: 4983c530 (add r13 #x30)" | |
" 136: 49bc2b61484200000000 (mov r12 #x4248612b) ; 'variable-set!/define" | |
" 140: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 145: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 16c" | |
" 14c: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 150: 48c7c503000000 (mov rbp #x3)" | |
" 157: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 15c: 9d01000000000000 (data)" | |
" 164: 190c000000000000 (data)" | |
" 16c: 4983ed30 (sub r13 #x30) ; <=" | |
" 170: 4d8d61ff (lea r12 (mem+ r9 #x-1))" | |
" 174: 4983c120 (add r9 #x20)" | |
" 178: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 17c: 727a (jb (+ rip #x7a)) ; => 1f8" | |
" 17e: 4c89e7 (mov rdi r12) ; <=" | |
" 181: 48b9adabbf4600000000 (mov rcx #x46bfabad) ; #<procedure:typed-max>" | |
" 18b: 48894f09 (mov (mem64+ rdi #x9) rcx)" | |
" 18f: 48b9bdabbf4600000000 (mov rcx #x46bfabbd) ; #<procedure:typed-abs>" | |
" 199: 48894f11 (mov (mem64+ rdi #x11) rcx)" | |
" 19d: 48c7470120000000 (mov (mem64+ rdi #x1) #x20)" | |
" 1a5: 4d8d61ff (lea r12 (mem+ r9 #x-1))" | |
" 1a9: 4983c120 (add r9 #x20)" | |
" 1ad: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 1b1: 7236 (jb (+ rip #x36)) ; => 1e9" | |
" 1b3: 4d89e0 (mov r8 r12) ; <=" | |
" 1b6: 498b4d28 (mov rcx (mem64+ r13 #x28))" | |
" 1ba: 49894809 (mov (mem64+ r8 #x9) rcx)" | |
" 1be: 498b4d20 (mov rcx (mem64+ r13 #x20))" | |
" 1c2: 49894811 (mov (mem64+ r8 #x11) rcx)" | |
" 1c6: 49c7400120000000 (mov (mem64+ r8 #x1) #x20)" | |
" 1ce: 49bcab62484200000000 (mov r12 #x424862ab) ; 'set-consistent-variables!/define" | |
" 1d8: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 1dd: 48c7c502000000 (mov rbp #x2)" | |
" 1e4: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 1e9: 49e8f1ed7af8 (call (+ rip #x-785120f)) ; #<code get-room> ; <=" | |
" 1ef: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1f6: ebbb (jmp (+ rip #x-45)) ; => 1b3" | |
" 1f8: 49e8e2ed7af8 (call (+ rip #x-785121e)) ; #<code get-room> ; <=" | |
" 1fe: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 205: e974ffffff (jmp (+ rip #x-8c)) ; => 17e" | |
" 20a: 49e8d0ed7af8 (call (+ rip #x-7851230)) ; #<code get-room> ; <=" | |
" 210: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 217: e928feffff (jmp (+ rip #x-1d8)) ; => 44" | |
" 21c: 49894d18 (mov (mem64+ r13 #x18) rcx) ; <=" | |
" 220: 49897d08 (mov (mem64+ r13 #x8) rdi)" | |
" 224: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 228: 49895538 (mov (mem64+ r13 #x38) rdx)" | |
" 22c: 49897540 (mov (mem64+ r13 #x40) rsi)" | |
" 230: 4983c548 (add r13 #x48)" | |
" 234: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 25b" | |
" 23b: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 23f: e98c347df8 (jmp (+ rip #x-782cb74)) ; #<code event>" | |
" 244: 0f1f80000000008c (data)" | |
" 24c: 02000000000000a5 (data)" | |
" 254: 7f000000000000 (data)" | |
" 25b: 4983ed48 (sub r13 #x48) ; <=" | |
" 25f: 498b4d18 (mov rcx (mem64+ r13 #x18))" | |
" 263: 498b7d08 (mov rdi (mem64+ r13 #x8))" | |
" 267: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 26b: 498b5538 (mov rdx (mem64+ r13 #x38))" | |
" 26f: 498b7540 (mov rsi (mem64+ r13 #x40))" | |
" 273: e9bafdffff (jmp (+ rip #x-246)) ; => 32" | |
" 278: e863f27af8 (call (+ rip #x-7850d9d)) ; #<code dooverflow> ; <=" | |
" 27d: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 284: e99efdffff (jmp (+ rip #x-262)) ; => 27" | |
" 289: e9c2fb7af8 (jmp (+ rip #x-785043e)) ; #<code doargerr> ; <=" | |
" 28e: 0f1f8000000000 (data)" | |
"") | |
(begin-for-syntax | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f841b020000 (jz (+ rip #x21b)) ; => 226" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 0f8505020000 (jnz (+ rip #x205)) ; => 21a" | |
" 15: 4d897d08 (mov (mem64+ r13 #x8) r15)" | |
" 19: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 1d: 0f86e6010000 (jbe (+ rip #x1e6)) ; => 209" | |
" 23: 49c7c010000000 (mov r8 #x10) ; <=" | |
" 2a: 4983c510 (add r13 #x10)" | |
" 2e: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 32: 4c8b7913 (mov r15 (mem64+ rcx #x13))" | |
" 36: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 5c" | |
" 3d: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 41: 48c7c501000000 (mov rbp #x1)" | |
" 48: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 4c: 8d00000000000000 (data)" | |
" 54: 8b00000000000000 (data)" | |
" 5c: 4983ed10 (sub r13 #x10) ; <=" | |
" 60: 4989e8 (mov r8 rbp)" | |
" 63: 48bf6b3b4f4200000000 (mov rdi #x424f3b6b) ; 'not-free-identifier=?" | |
" 6d: 48c7c60e000000 (mov rsi #xe)" | |
" 74: 4983c510 (add r13 #x10)" | |
" 78: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 7c: 4c8b791b (mov r15 (mem64+ rcx #x1b))" | |
" 80: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => a6" | |
" 87: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 8b: 48c7c503000000 (mov rbp #x3)" | |
" 92: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 96: d700000000000000 (data)" | |
" 9e: 8b00000000000000 (data)" | |
" a6: 4983ed10 (sub r13 #x10) ; <=" | |
" aa: 4889e9 (mov rcx rbp)" | |
" ad: 49c7c018000000 (mov r8 #x18)" | |
" b4: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" b8: 4983c518 (add r13 #x18)" | |
" bc: 498b4df0 (mov rcx (mem64+ r13 #x-10))" | |
" c0: 4c8b7913 (mov r15 (mem64+ rcx #x13))" | |
" c4: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => ea" | |
" cb: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" cf: 48c7c501000000 (mov rbp #x1)" | |
" d6: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" da: 1b01000000000000 (data)" | |
" e2: 8f01000000000000 (data)" | |
" ea: 4983ed18 (sub r13 #x18) ; <=" | |
" ee: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" f2: 4889ee (mov rsi rbp)" | |
" f5: 4989c8 (mov r8 rcx)" | |
" f8: 48bfdbafa84700000000 (mov rdi #x47a8afdb) ; 'original-name" | |
" 102: 4983c510 (add r13 #x10)" | |
" 106: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 10a: 4c8b791b (mov r15 (mem64+ rcx #x1b))" | |
" 10e: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 134" | |
" 115: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 119: 48c7c503000000 (mov rbp #x3)" | |
" 120: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 124: 6501000000000000 (data)" | |
" 12c: 8b00000000000000 (data)" | |
" 134: 4983ed10 (sub r13 #x10) ; <=" | |
" 138: 4989e8 (mov r8 rbp)" | |
" 13b: 48bfcbc21b4600000000 (mov rdi #x461bc2cb) ; 'not-provide-all-defined" | |
" 145: 48c7c60e000000 (mov rsi #xe)" | |
" 14c: 4983c510 (add r13 #x10)" | |
" 150: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 154: 4c8b791b (mov r15 (mem64+ rcx #x1b))" | |
" 158: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 17e" | |
" 15f: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 163: 48c7c503000000 (mov rbp #x3)" | |
" 16a: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 16e: af01000000000000 (data)" | |
" 176: 8b00000000000000 (data)" | |
" 17e: 4983ed10 (sub r13 #x10) ; <=" | |
" 182: 4989e8 (mov r8 rbp)" | |
" 185: 4983c510 (add r13 #x10)" | |
" 189: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 18d: 4c8b7923 (mov r15 (mem64+ rcx #x23))" | |
" 191: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 1b7" | |
" 198: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 19c: 48c7c501000000 (mov rbp #x1)" | |
" 1a3: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 1a7: e801000000000000 (data)" | |
" 1af: 8b00000000000000 (data)" | |
" 1b7: 4983ed10 (sub r13 #x10) ; <=" | |
" 1bb: 4889ef (mov rdi rbp)" | |
" 1be: 49b87beb054000000000 (mov r8 #x4005eb7b) ; 'fx+/wraparound" | |
" 1c8: 4983c508 (add r13 #x8)" | |
" 1cc: 498b4d00 (mov rcx (mem64+ r13 #x0))" | |
" 1d0: 4c8b790b (mov r15 (mem64+ rcx #xb))" | |
" 1d4: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 1fa" | |
" 1db: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 1df: 48c7c502000000 (mov rbp #x2)" | |
" 1e6: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 1ea: 2b02000000000000 (data)" | |
" 1f2: 0500000000000000 (data)" | |
" 1fa: 4983ed08 (sub r13 #x8) ; <=" | |
" 1fe: 48c7c52e000000 (mov rbp #x2e)" | |
" 205: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 209: e8b2bd83f8 (call (+ rip #x-77c424e)) ; #<code dooverflow> ; <=" | |
" 20e: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 215: e909feffff (jmp (+ rip #x-1f7)) ; => 23" | |
" 21a: e911c783f8 (jmp (+ rip #x-77c38ef)) ; #<code doargerr> ; <=" | |
" 21f: 0f1f8000000000 (data)" | |
" 226: e935eb83f8 (jmp (+ rip #x-77c14cb)) ; #<code event-detour> ; <=" | |
" 22b: 0f1f8000000000 (data)" | |
""))) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f8417020000 (jz (+ rip #x217)) ; => 222" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 0f8501020000 (jnz (+ rip #x201)) ; => 216" | |
" 15: 4d897d08 (mov (mem64+ r13 #x8) r15)" | |
" 19: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 1d: 0f86e2010000 (jbe (+ rip #x1e2)) ; => 205" | |
" 23: 4d31c0 (xor r8 r8) ; <=" | |
" 26: 4983c510 (add r13 #x10)" | |
" 2a: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 2e: 4c8b7913 (mov r15 (mem64+ rcx #x13))" | |
" 32: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 58" | |
" 39: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 3d: 48c7c501000000 (mov rbp #x1)" | |
" 44: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 48: 8900000000000000 (data)" | |
" 50: 8b00000000000000 (data)" | |
" 58: 4983ed10 (sub r13 #x10) ; <=" | |
" 5c: 4989e8 (mov r8 rbp)" | |
" 5f: 48bf6b3b4f4200000000 (mov rdi #x424f3b6b) ; 'not-free-identifier=?" | |
" 69: 48c7c60e000000 (mov rsi #xe)" | |
" 70: 4983c510 (add r13 #x10)" | |
" 74: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 78: 4c8b791b (mov r15 (mem64+ rcx #x1b))" | |
" 7c: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => a2" | |
" 83: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 87: 48c7c503000000 (mov rbp #x3)" | |
" 8e: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 92: d300000000000000 (data)" | |
" 9a: 8b00000000000000 (data)" | |
" a2: 4983ed10 (sub r13 #x10) ; <=" | |
" a6: 4889e9 (mov rcx rbp)" | |
" a9: 49c7c008000000 (mov r8 #x8)" | |
" b0: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" b4: 4983c518 (add r13 #x18)" | |
" b8: 498b4df0 (mov rcx (mem64+ r13 #x-10))" | |
" bc: 4c8b7913 (mov r15 (mem64+ rcx #x13))" | |
" c0: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => e6" | |
" c7: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" cb: 48c7c501000000 (mov rbp #x1)" | |
" d2: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" d6: 1701000000000000 (data)" | |
" de: 8f01000000000000 (data)" | |
" e6: 4983ed18 (sub r13 #x18) ; <=" | |
" ea: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" ee: 4889ee (mov rsi rbp)" | |
" f1: 4989c8 (mov r8 rcx)" | |
" f4: 48bfdbafa84700000000 (mov rdi #x47a8afdb) ; 'original-name" | |
" fe: 4983c510 (add r13 #x10)" | |
" 102: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 106: 4c8b791b (mov r15 (mem64+ rcx #x1b))" | |
" 10a: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 130" | |
" 111: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 115: 48c7c503000000 (mov rbp #x3)" | |
" 11c: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 120: 6101000000000000 (data)" | |
" 128: 8b00000000000000 (data)" | |
" 130: 4983ed10 (sub r13 #x10) ; <=" | |
" 134: 4989e8 (mov r8 rbp)" | |
" 137: 48bfcbc21b4600000000 (mov rdi #x461bc2cb) ; 'not-provide-all-defined" | |
" 141: 48c7c60e000000 (mov rsi #xe)" | |
" 148: 4983c510 (add r13 #x10)" | |
" 14c: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 150: 4c8b791b (mov r15 (mem64+ rcx #x1b))" | |
" 154: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 17a" | |
" 15b: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 15f: 48c7c503000000 (mov rbp #x3)" | |
" 166: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 16a: ab01000000000000 (data)" | |
" 172: 8b00000000000000 (data)" | |
" 17a: 4983ed10 (sub r13 #x10) ; <=" | |
" 17e: 4989e8 (mov r8 rbp)" | |
" 181: 4983c510 (add r13 #x10)" | |
" 185: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 189: 4c8b7923 (mov r15 (mem64+ rcx #x23))" | |
" 18d: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 1b3" | |
" 194: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 198: 48c7c501000000 (mov rbp #x1)" | |
" 19f: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 1a3: e401000000000000 (data)" | |
" 1ab: 8b00000000000000 (data)" | |
" 1b3: 4983ed10 (sub r13 #x10) ; <=" | |
" 1b7: 4889ef (mov rdi rbp)" | |
" 1ba: 49b8fb38094000000000 (mov r8 #x400938fb) ; 'fxabs" | |
" 1c4: 4983c508 (add r13 #x8)" | |
" 1c8: 498b4d00 (mov rcx (mem64+ r13 #x0))" | |
" 1cc: 4c8b790b (mov r15 (mem64+ rcx #xb))" | |
" 1d0: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 1f6" | |
" 1d7: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 1db: 48c7c502000000 (mov rbp #x2)" | |
" 1e2: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 1e6: 2702000000000000 (data)" | |
" 1ee: 0500000000000000 (data)" | |
" 1f6: 4983ed08 (sub r13 #x8) ; <=" | |
" 1fa: 48c7c52e000000 (mov rbp #x2e)" | |
" 201: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 205: e826c083f8 (call (+ rip #x-77c3fda)) ; #<code dooverflow> ; <=" | |
" 20a: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 211: e90dfeffff (jmp (+ rip #x-1f3)) ; => 23" | |
" 216: e985c983f8 (jmp (+ rip #x-77c367b)) ; #<code doargerr> ; <=" | |
" 21b: 0f1f8000000000 (data)" | |
" 222: e9a9ed83f8 (jmp (+ rip #x-77c1257)) ; #<code event-detour> ; <=" | |
" 227: 0f1f8000000000 (data)" | |
""))) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 7425 (jz (+ rip #x25)) ; => 2c" | |
" 7: 4883fd00 (cmp rbp #x0)" | |
" b: 7513 (jnz (+ rip #x13)) ; => 20" | |
" d: 4d8b470b (mov r8 (mem64+ r15 #xb))" | |
" 11: 4d8b7f13 (mov r15 (mem64+ r15 #x13))" | |
" 15: 48c7c501000000 (mov rbp #x1)" | |
" 1c: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 20: e9fbcb83f8 (jmp (+ rip #x-77c3405)) ; #<code doargerr> ; <=" | |
" 25: 0f1f8000000000 (data)" | |
" 2c: e91ff083f8 (jmp (+ rip #x-77c0fe1)) ; #<code event-detour> ; <=" | |
" 31: 0f1f8000000000 (data)" | |
""))) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 7476 (jz (+ rip #x76)) ; => 7d" | |
" 7: 4883fd00 (cmp rbp #x0)" | |
" b: 7564 (jnz (+ rip #x64)) ; => 71" | |
" d: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 11: 7650 (jbe (+ rip #x50)) ; => 63" | |
" 13: 4d8b470b (mov r8 (mem64+ r15 #xb)) ; <=" | |
" 17: 4d897d08 (mov (mem64+ r13 #x8) r15)" | |
" 1b: 4983c510 (add r13 #x10)" | |
" 1f: 4d8b7f13 (mov r15 (mem64+ r15 #x13))" | |
" 23: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 49" | |
" 2a: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 2e: 48c7c501000000 (mov rbp #x1)" | |
" 35: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 39: 7a00000000000000 (data)" | |
" 41: 8b00000000000000 (data)" | |
" 49: 4983ed10 (sub r13 #x10) ; <=" | |
" 4d: 4d8b7d08 (mov r15 (mem64+ r13 #x8))" | |
" 51: 4989e8 (mov r8 rbp)" | |
" 54: 4d8b7f1b (mov r15 (mem64+ r15 #x1b))" | |
" 58: 48c7c501000000 (mov rbp #x1)" | |
" 5f: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 63: e818c383f8 (call (+ rip #x-77c3ce8)) ; #<code dooverflow> ; <=" | |
" 68: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 6f: eba2 (jmp (+ rip #x-5e)) ; => 13" | |
" 71: e97acc83f8 (jmp (+ rip #x-77c3386)) ; #<code doargerr> ; <=" | |
" 76: 0f1f8000000000 (data)" | |
" 7d: e99ef083f8 (jmp (+ rip #x-77c0f62)) ; #<code event-detour> ; <=" | |
" 82: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 4883fd0a (cmp rbp #xa)" | |
" 4: 0f8500030000 (jnz (+ rip #x300)) ; => 30a" | |
" a: 4d89c7 (mov r15 r8)" | |
" d: 49897d48 (mov (mem64+ r13 #x48) rdi)" | |
" 11: 49897550 (mov (mem64+ r13 #x50) rsi)" | |
" 15: 498b7d08 (mov rdi (mem64+ r13 #x8))" | |
" 19: 498b5510 (mov rdx (mem64+ r13 #x10))" | |
" 1d: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" 21: 4d8b5d30 (mov r11 (mem64+ r13 #x30))" | |
" 25: 498b4d38 (mov rcx (mem64+ r13 #x38))" | |
" 29: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 2d: 0f86c6020000 (jbe (+ rip #x2c6)) ; => 2f9" | |
" 33: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 38: 0f8457020000 (jz (+ rip #x257)) ; => 295" | |
" 3e: 4d8d61fd (lea r12 (mem+ r9 #x-3)) ; <=" | |
" 42: 4983c120 (add r9 #x20)" | |
" 46: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 4a: 0f8233020000 (jb (+ rip #x233)) ; => 283" | |
" 50: 4d89e0 (mov r8 r12) ; <=" | |
" 53: 49ba904cd34700000000 (mov r10 #x47d34c90) ; #<code>" | |
" 5d: 4d895003 (mov (mem64+ r8 #x3) r10)" | |
" 61: 4d89780b (mov (mem64+ r8 #xb) r15)" | |
" 65: 4d895813 (mov (mem64+ r8 #x13) r11)" | |
" 69: 4989781b (mov (mem64+ r8 #x1b) rdi)" | |
" 6d: 49895510 (mov (mem64+ r13 #x10) rdx)" | |
" 71: 49897518 (mov (mem64+ r13 #x18) rsi)" | |
" 75: 49894d38 (mov (mem64+ r13 #x38) rcx)" | |
" 79: 4983c558 (add r13 #x58)" | |
" 7d: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 87: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 8c: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => b3" | |
" 93: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 97: 48c7c501000000 (mov rbp #x1)" | |
" 9e: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" a3: e400000000000000 (data)" | |
" ab: 2daf010000000000 (data)" | |
" b3: 4983ed58 (sub r13 #x58) ; <=" | |
" b7: 498b5510 (mov rdx (mem64+ r13 #x10))" | |
" bb: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" bf: 498b4d38 (mov rcx (mem64+ r13 #x38))" | |
" c3: 4d8d61fd (lea r12 (mem+ r9 #x-3))" | |
" c7: 4983c120 (add r9 #x20)" | |
" cb: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" cf: 0f829c010000 (jb (+ rip #x19c)) ; => 271" | |
" d5: 4d89e0 (mov r8 r12) ; <=" | |
" d8: 48bf604dd34700000000 (mov rdi #x47d34d60) ; #<code>" | |
" e2: 49897803 (mov (mem64+ r8 #x3) rdi)" | |
" e6: 4989700b (mov (mem64+ r8 #xb) rsi)" | |
" ea: 49895013 (mov (mem64+ r8 #x13) rdx)" | |
" ee: 49894d60 (mov (mem64+ r13 #x60) rcx)" | |
" f2: 48bf29afa84700000000 (mov rdi #x47a8af29) ; '(make-redirect6.1)" | |
" fc: 48be39afa84700000000 (mov rsi #x47a8af39) ; '(constant)" | |
" 106: 4983c558 (add r13 #x58)" | |
" 10a: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 114: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 119: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 140" | |
" 120: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 124: 48c7c504000000 (mov rbp #x4)" | |
" 12b: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 130: 7101000000000000 (data)" | |
" 138: 2d8c010000000000 (data)" | |
" 140: 4983ed58 (sub r13 #x58) ; <=" | |
" 144: 4d8d61fd (lea r12 (mem+ r9 #x-3))" | |
" 148: 4983c130 (add r9 #x30)" | |
" 14c: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 150: 0f8209010000 (jb (+ rip #x109)) ; => 25f" | |
" 156: 4d89e0 (mov r8 r12) ; <=" | |
" 159: 48b9e04dd34700000000 (mov rcx #x47d34de0) ; #<code>" | |
" 163: 49894803 (mov (mem64+ r8 #x3) rcx)" | |
" 167: 498b4d50 (mov rcx (mem64+ r13 #x50))" | |
" 16b: 4989480b (mov (mem64+ r8 #xb) rcx)" | |
" 16f: 498b4d48 (mov rcx (mem64+ r13 #x48))" | |
" 173: 49894813 (mov (mem64+ r8 #x13) rcx)" | |
" 177: 498b4d20 (mov rcx (mem64+ r13 #x20))" | |
" 17b: 4989481b (mov (mem64+ r8 #x1b) rcx)" | |
" 17f: 498b4d28 (mov rcx (mem64+ r13 #x28))" | |
" 183: 49894823 (mov (mem64+ r8 #x23) rcx)" | |
" 187: 4983c558 (add r13 #x58)" | |
" 18b: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 195: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 19a: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 1c1" | |
" 1a1: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 1a5: 48c7c501000000 (mov rbp #x1)" | |
" 1ac: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 1b1: f201000000000000 (data)" | |
" 1b9: 2d8c010000000000 (data)" | |
" 1c1: 4983ed58 (sub r13 #x58) ; <=" | |
" 1c5: 4d8d61fd (lea r12 (mem+ r9 #x-3))" | |
" 1c9: 4983c130 (add r9 #x30)" | |
" 1cd: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 1d1: 727a (jb (+ rip #x7a)) ; => 24d" | |
" 1d3: 4d89e0 (mov r8 r12) ; <=" | |
" 1d6: 48b95050d34700000000 (mov rcx #x47d35050) ; #<code>" | |
" 1e0: 49894803 (mov (mem64+ r8 #x3) rcx)" | |
" 1e4: 498b4d50 (mov rcx (mem64+ r13 #x50))" | |
" 1e8: 4989480b (mov (mem64+ r8 #xb) rcx)" | |
" 1ec: 498b4d48 (mov rcx (mem64+ r13 #x48))" | |
" 1f0: 49894813 (mov (mem64+ r8 #x13) rcx)" | |
" 1f4: 498b4d20 (mov rcx (mem64+ r13 #x20))" | |
" 1f8: 4989481b (mov (mem64+ r8 #x1b) rcx)" | |
" 1fc: 498b4d28 (mov rcx (mem64+ r13 #x28))" | |
" 200: 49894823 (mov (mem64+ r8 #x23) rcx)" | |
" 204: 4983c508 (add r13 #x8)" | |
" 208: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 212: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 217: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 23e" | |
" 21e: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 222: 48c7c501000000 (mov rbp #x1)" | |
" 229: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 22e: 6f02000000000000 (data)" | |
" 236: 0500000000000000 (data)" | |
" 23e: 4983ed08 (sub r13 #x8) ; <=" | |
" 242: 48c7c52e000000 (mov rbp #x2e)" | |
" 249: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 24d: 49e88dbf83f8 (call (+ rip #x-77c4073)) ; #<code get-room> ; <=" | |
" 253: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 25a: e974ffffff (jmp (+ rip #x-8c)) ; => 1d3" | |
" 25f: 49e87bbf83f8 (call (+ rip #x-77c4085)) ; #<code get-room> ; <=" | |
" 265: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 26c: e9e5feffff (jmp (+ rip #x-11b)) ; => 156" | |
" 271: 49e869bf83f8 (call (+ rip #x-77c4097)) ; #<code get-room> ; <=" | |
" 277: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 27e: e952feffff (jmp (+ rip #x-1ae)) ; => d5" | |
" 283: 49e857bf83f8 (call (+ rip #x-77c40a9)) ; #<code get-room> ; <=" | |
" 289: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 290: e9bbfdffff (jmp (+ rip #x-245)) ; => 50" | |
" 295: 4d897d40 (mov (mem64+ r13 #x40) r15) ; <=" | |
" 299: 49897d08 (mov (mem64+ r13 #x8) rdi)" | |
" 29d: 49895510 (mov (mem64+ r13 #x10) rdx)" | |
" 2a1: 49897518 (mov (mem64+ r13 #x18) rsi)" | |
" 2a5: 4d895d30 (mov (mem64+ r13 #x30) r11)" | |
" 2a9: 49894d38 (mov (mem64+ r13 #x38) rcx)" | |
" 2ad: 4983c558 (add r13 #x58)" | |
" 2b1: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 2d8" | |
" 2b8: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 2bc: e90f0686f8 (jmp (+ rip #x-779f9f1)) ; #<code event>" | |
" 2c1: 0f1f800000000009 (data)" | |
" 2c9: 03000000000000ad (data)" | |
" 2d1: ff010000000000 (data)" | |
" 2d8: 4983ed58 (sub r13 #x58) ; <=" | |
" 2dc: 4d8b7d40 (mov r15 (mem64+ r13 #x40))" | |
" 2e0: 498b7d08 (mov rdi (mem64+ r13 #x8))" | |
" 2e4: 498b5510 (mov rdx (mem64+ r13 #x10))" | |
" 2e8: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" 2ec: 4d8b5d30 (mov r11 (mem64+ r13 #x30))" | |
" 2f0: 498b4d38 (mov rcx (mem64+ r13 #x38))" | |
" 2f4: e945fdffff (jmp (+ rip #x-2bb)) ; => 3e" | |
" 2f9: e8e2c383f8 (call (+ rip #x-77c3c1e)) ; #<code dooverflow> ; <=" | |
" 2fe: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 305: e929fdffff (jmp (+ rip #x-2d7)) ; => 33" | |
" 30a: e941cd83f8 (jmp (+ rip #x-77c32bf)) ; #<code doargerr> ; <=" | |
" 30f: 0f1f8000000000 (data)" | |
"")) | |
(module (example typed-again configure-runtime) .... | |
(require '#%kernel (lib "racket/runtime-config.rkt")) | |
(provide) | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 7476 (jz (+ rip #x76)) ; => 7d" | |
" 7: 4883fd04 (cmp rbp #x4)" | |
" b: 7564 (jnz (+ rip #x64)) ; => 71" | |
" d: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 11: 7650 (jbe (+ rip #x50)) ; => 63" | |
" 13: 49c7c00e000000 (mov r8 #xe) ; <=" | |
" 1a: 4983c508 (add r13 #x8)" | |
" 1e: 49bccbbe404200000000 (mov r12 #x4240becb) ; '1/print-as-expression" | |
" 28: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 2d: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 54" | |
" 34: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 38: 48c7c501000000 (mov rbp #x1)" | |
" 3f: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 44: 8500000000000000 (data)" | |
" 4c: 0500000000000000 (data)" | |
" 54: 4983ed08 (sub r13 #x8) ; <=" | |
" 58: 48c7c52e000000 (mov rbp #x2e)" | |
" 5f: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 63: e858c783f8 (call (+ rip #x-77c38a8)) ; #<code dooverflow> ; <=" | |
" 68: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 6f: eba2 (jmp (+ rip #x-5e)) ; => 13" | |
" 71: e9bad083f8 (jmp (+ rip #x-77c2f46)) ; #<code doargerr> ; <=" | |
" 76: 0f1f8000000000 (data)" | |
" 7d: e9def483f8 (jmp (+ rip #x-77c0b22)) ; #<code event-detour> ; <=" | |
" 82: 0f1f8000000000 (data)" | |
"")) | |
(module (example typed-again #%contract-defs-reference) .... | |
(require (lib "racket/base.rkt") | |
(lib "racket/runtime-path.rkt") | |
(for-syntax (lib "racket/base.rkt"))) | |
(provide contract-defs-submod) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f8439010000 (jz (+ rip #x139)) ; => 144" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 0f8523010000 (jnz (+ rip #x123)) ; => 138" | |
" 15: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 19: 0f8608010000 (jbe (+ rip #x108)) ; => 127" | |
" 1f: 498b5713 (mov rdx (mem64+ r15 #x13)) ; <=" | |
" 23: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 27: 4983c130 (add r9 #x30)" | |
" 2b: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 2f: 0f82e0000000 (jb (+ rip #xe0)) ; => 115" | |
" 35: 48b9cb29de4000000000 (mov rcx #x40de29cb) ; 'module ; <=" | |
" 3f: 49894c2407 (mov (mem64+ r12 #x7) rcx)" | |
" 44: 498d4c2410 (lea rcx (mem+ r12 #x10))" | |
" 49: 49894c240f (mov (mem64+ r12 #xf) rcx)" | |
" 4e: 48b90981de4300000000 (mov rcx #x43de8109) ; '(submod \"..\" #%contract-defs)" | |
" 58: 49894c2417 (mov (mem64+ r12 #x17) rcx)" | |
" 5d: 498d4c2420 (lea rcx (mem+ r12 #x20))" | |
" 62: 49894c241f (mov (mem64+ r12 #x1f) rcx)" | |
" 67: 4989542427 (mov (mem64+ r12 #x27) rdx)" | |
" 6c: 49c744242f26000000 (mov (mem64+ r12 #x2f) #x26)" | |
" 75: 4c89e1 (mov rcx r12)" | |
" 78: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 7c: 4983c110 (add r9 #x10)" | |
" 80: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 84: 727d (jb (+ rip #x7d)) ; => 103" | |
" 86: 4c89e6 (mov rsi r12) ; <=" | |
" 89: 48894e07 (mov (mem64+ rsi #x7) rcx)" | |
" 8d: 48c7460f26000000 (mov (mem64+ rsi #xf) #x26)" | |
" 95: 4d8b4713 (mov r8 (mem64+ r15 #x13))" | |
" 99: 48b9f05e3e4200000000 (mov rcx #x423e5ef0) ; 'void" | |
" a3: 488b39 (mov rdi (mem64+ rcx))" | |
" a6: 4983c508 (add r13 #x8)" | |
" aa: 4d8b7f0b (mov r15 (mem64+ r15 #xb))" | |
" ae: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => d4" | |
" b5: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" b9: 48c7c503000000 (mov rbp #x3)" | |
" c0: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" c4: 0501000000000000 (data)" | |
" cc: 0700000000000000 (data)" | |
" d4: 4983ed08 (sub r13 #x8) ; <=" | |
" d8: 4889ef (mov rdi rbp)" | |
" db: 48b9e0d0084000000000 (mov rcx #x4008d0e0) ; 'values" | |
" e5: 4c8b01 (mov r8 (mem64+ rcx))" | |
" e8: 49bc0b42444200000000 (mov r12 #x4244420b) ; 'apply" | |
" f2: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" f7: 48c7c502000000 (mov rbp #x2)" | |
" fe: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 103: 49e897b383f8 (call (+ rip #x-77c4c69)) ; #<code get-room> ; <=" | |
" 109: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 110: e971ffffff (jmp (+ rip #x-8f)) ; => 86" | |
" 115: 49e885b383f8 (call (+ rip #x-77c4c7b)) ; #<code get-room> ; <=" | |
" 11b: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 122: e90effffff (jmp (+ rip #x-f2)) ; => 35" | |
" 127: e874b883f8 (call (+ rip #x-77c478c)) ; #<code dooverflow> ; <=" | |
" 12c: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 133: e9e7feffff (jmp (+ rip #x-119)) ; => 1f" | |
" 138: e9d3c183f8 (jmp (+ rip #x-77c3e2d)) ; #<code doargerr> ; <=" | |
" 13d: 0f1f8000000000 (data)" | |
" 144: e9f7e583f8 (jmp (+ rip #x-77c1a09)) ; #<code event-detour> ; <=" | |
" 149: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 4883fd05 (cmp rbp #x5)" | |
" 4: 0f8517010000 (jnz (+ rip #x117)) ; => 121" | |
" a: 4c89c1 (mov rcx r8)" | |
" d: 498b7508 (mov rsi (mem64+ r13 #x8))" | |
" 11: 498b5510 (mov rdx (mem64+ r13 #x10))" | |
" 15: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 19: 0f86f1000000 (jbe (+ rip #xf1)) ; => 110" | |
" 1f: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 24: 0f849a000000 (jz (+ rip #x9a)) ; => c4" | |
" 2a: 4d8d61fd (lea r12 (mem+ r9 #x-3)) ; <=" | |
" 2e: 4983c120 (add r9 #x20)" | |
" 32: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 36: 727a (jb (+ rip #x7a)) ; => b2" | |
" 38: 4d89e0 (mov r8 r12) ; <=" | |
" 3b: 48bf7056d34700000000 (mov rdi #x47d35670) ; #<code>" | |
" 45: 49897803 (mov (mem64+ r8 #x3) rdi)" | |
" 49: 4989700b (mov (mem64+ r8 #xb) rsi)" | |
" 4d: 49894813 (mov (mem64+ r8 #x13) rcx)" | |
" 51: 49895510 (mov (mem64+ r13 #x10) rdx)" | |
" 55: 48bf7982de4300000000 (mov rdi #x43de8279) ; '(contract-defs-submod)" | |
" 5f: 48be8982de4300000000 (mov rsi #x43de8289) ; '(constant)" | |
" 69: 4983c508 (add r13 #x8)" | |
" 6d: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 77: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 7c: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => a3" | |
" 83: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 87: 48c7c504000000 (mov rbp #x4)" | |
" 8e: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 93: d400000000000000 (data)" | |
" 9b: 0500000000000000 (data)" | |
" a3: 4983ed08 (sub r13 #x8) ; <=" | |
" a7: 48c7c52e000000 (mov rbp #x2e)" | |
" ae: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" b2: 49e858b583f8 (call (+ rip #x-77c4aa8)) ; #<code get-room> ; <=" | |
" b8: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" bf: e974ffffff (jmp (+ rip #x-8c)) ; => 38" | |
" c4: 49894d18 (mov (mem64+ r13 #x18) rcx) ; <=" | |
" c8: 49897508 (mov (mem64+ r13 #x8) rsi)" | |
" cc: 49895510 (mov (mem64+ r13 #x10) rdx)" | |
" d0: 4983c520 (add r13 #x20)" | |
" d4: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => fb" | |
" db: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" df: e91cfc85f8 (jmp (+ rip #x-77a03e4)) ; #<code event>" | |
" e4: 0f1f80000000002c (data)" | |
" ec: 0100000000000091 (data)" | |
" f4: 03000000000000 (data)" | |
" fb: 4983ed20 (sub r13 #x20) ; <=" | |
" ff: 498b4d18 (mov rcx (mem64+ r13 #x18))" | |
" 103: 498b7508 (mov rsi (mem64+ r13 #x8))" | |
" 107: 498b5510 (mov rdx (mem64+ r13 #x10))" | |
" 10b: e91affffff (jmp (+ rip #x-e6)) ; => 2a" | |
" 110: e8fbb983f8 (call (+ rip #x-77c4605)) ; #<code dooverflow> ; <=" | |
" 115: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 11c: e9fefeffff (jmp (+ rip #x-102)) ; => 1f" | |
" 121: e95ac383f8 (jmp (+ rip #x-77c3ca6)) ; #<code doargerr> ; <=" | |
" 126: 0f1f8000000000 (data)" | |
"") | |
(begin-for-syntax | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f84c0000000 (jz (+ rip #xc0)) ; => cb" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 0f85aa000000 (jnz (+ rip #xaa)) ; => bf" | |
" 15: 498b570b (mov rdx (mem64+ r15 #xb))" | |
" 19: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 1d: 4983c130 (add r9 #x30)" | |
" 21: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 25: 0f8282000000 (jb (+ rip #x82)) ; => ad" | |
" 2b: 48b9cb29de4000000000 (mov rcx #x40de29cb) ; 'module ; <=" | |
" 35: 49894c2407 (mov (mem64+ r12 #x7) rcx)" | |
" 3a: 498d4c2410 (lea rcx (mem+ r12 #x10))" | |
" 3f: 49894c240f (mov (mem64+ r12 #xf) rcx)" | |
" 44: 48b9c919cc4000000000 (mov rcx #x40cc19c9) ; '(submod \"..\" #%contract-defs)" | |
" 4e: 49894c2417 (mov (mem64+ r12 #x17) rcx)" | |
" 53: 498d4c2420 (lea rcx (mem+ r12 #x20))" | |
" 58: 49894c241f (mov (mem64+ r12 #x1f) rcx)" | |
" 5d: 4989542427 (mov (mem64+ r12 #x27) rdx)" | |
" 62: 49c744242f26000000 (mov (mem64+ r12 #x2f) #x26)" | |
" 6b: 4c89e1 (mov rcx r12)" | |
" 6e: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 72: 4983c110 (add r9 #x10)" | |
" 76: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 7a: 7222 (jb (+ rip #x22)) ; => 9e" | |
" 7c: 4c89e7 (mov rdi r12) ; <=" | |
" 7f: 48894f07 (mov (mem64+ rdi #x7) rcx)" | |
" 83: 48c7470f26000000 (mov (mem64+ rdi #xf) #x26)" | |
" 8b: 4d8b470b (mov r8 (mem64+ r15 #xb))" | |
" 8f: 4d8b7f13 (mov r15 (mem64+ r15 #x13))" | |
" 93: 48c7c502000000 (mov rbp #x2)" | |
" 9a: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 9e: 49e84cab83f8 (call (+ rip #x-77c54b4)) ; #<code get-room> ; <=" | |
" a4: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" ab: ebcf (jmp (+ rip #x-31)) ; => 7c" | |
" ad: 49e83dab83f8 (call (+ rip #x-77c54c3)) ; #<code get-room> ; <=" | |
" b3: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" ba: e96cffffff (jmp (+ rip #x-94)) ; => 2b" | |
" bf: e99cb983f8 (jmp (+ rip #x-77c4664)) ; #<code doargerr> ; <=" | |
" c4: 0f1f8000000000 (data)" | |
" cb: e9c0dd83f8 (jmp (+ rip #x-77c2240)) ; #<code event-detour> ; <=" | |
" d0: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f84b3000000 (jz (+ rip #xb3)) ; => be" | |
" b: 4883fd04 (cmp rbp #x4)" | |
" f: 0f859d000000 (jnz (+ rip #x9d)) ; => b2" | |
" 15: 4c89c1 (mov rcx r8)" | |
" 18: 498b5508 (mov rdx (mem64+ r13 #x8))" | |
" 1c: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 20: 767f (jbe (+ rip #x7f)) ; => a1" | |
" 22: 4d8d61fd (lea r12 (mem+ r9 #x-3)) ; <=" | |
" 26: 4983c120 (add r9 #x20)" | |
" 2a: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 2e: 7262 (jb (+ rip #x62)) ; => 92" | |
" 30: 4d89e0 (mov r8 r12) ; <=" | |
" 33: 48be205fd34700000000 (mov rsi #x47d35f20) ; #<code>" | |
" 3d: 49897003 (mov (mem64+ r8 #x3) rsi)" | |
" 41: 4989480b (mov (mem64+ r8 #xb) rcx)" | |
" 45: 49895013 (mov (mem64+ r8 #x13) rdx)" | |
" 49: 4983c508 (add r13 #x8)" | |
" 4d: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 57: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 5c: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 83" | |
" 63: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 67: 48c7c501000000 (mov rbp #x1)" | |
" 6e: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 73: b400000000000000 (data)" | |
" 7b: 0500000000000000 (data)" | |
" 83: 4983ed08 (sub r13 #x8) ; <=" | |
" 87: 48c7c52e000000 (mov rbp #x2e)" | |
" 8e: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 92: 49e868ac83f8 (call (+ rip #x-77c5398)) ; #<code get-room> ; <=" | |
" 98: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 9f: eb8f (jmp (+ rip #x-71)) ; => 30" | |
" a1: e85ab183f8 (call (+ rip #x-77c4ea6)) ; #<code dooverflow> ; <=" | |
" a6: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" ad: e970ffffff (jmp (+ rip #x-90)) ; => 22" | |
" b2: e9b9ba83f8 (jmp (+ rip #x-77c4547)) ; #<code doargerr> ; <=" | |
" b7: 0f1f8000000000 (data)" | |
" be: e9ddde83f8 (jmp (+ rip #x-77c2123)) ; #<code event-detour> ; <=" | |
" c3: 0f1f8000000000 (data)" | |
"")) | |
(module (example typed-again #%contract-defs-reference configure-runtime) .... | |
(require '#%kernel (lib "racket/runtime-config.rkt")) | |
(provide) | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 7476 (jz (+ rip #x76)) ; => 7d" | |
" 7: 4883fd04 (cmp rbp #x4)" | |
" b: 7564 (jnz (+ rip #x64)) ; => 71" | |
" d: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 11: 7650 (jbe (+ rip #x50)) ; => 63" | |
" 13: 49c7c00e000000 (mov r8 #xe) ; <=" | |
" 1a: 4983c508 (add r13 #x8)" | |
" 1e: 49bccbbe404200000000 (mov r12 #x4240becb) ; '1/print-as-expression" | |
" 28: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 2d: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 54" | |
" 34: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 38: 48c7c501000000 (mov rbp #x1)" | |
" 3f: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 44: 8500000000000000 (data)" | |
" 4c: 0500000000000000 (data)" | |
" 54: 4983ed08 (sub r13 #x8) ; <=" | |
" 58: 48c7c52e000000 (mov rbp #x2e)" | |
" 5f: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 63: e898a183f8 (call (+ rip #x-77c5e68)) ; #<code dooverflow> ; <=" | |
" 68: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 6f: eba2 (jmp (+ rip #x-5e)) ; => 13" | |
" 71: e9faaa83f8 (jmp (+ rip #x-77c5506)) ; #<code doargerr> ; <=" | |
" 76: 0f1f8000000000 (data)" | |
" 7d: e91ecf83f8 (jmp (+ rip #x-77c30e2)) ; #<code event-detour> ; <=" | |
" 82: 0f1f8000000000 (data)" | |
""))) | |
(module (example typed-again #%contract-defs) .... | |
(require (submod "..") | |
(submod | |
(lib "typed-racket/private/type-contract.rkt") | |
predicates) | |
(lib "typed-racket/utils/utils.rkt") | |
(lib "typed-racket/utils/any-wrap.rkt") | |
(lib "typed-racket/utils/struct-type-c.rkt") | |
(lib "typed-racket/utils/prefab-c.rkt") | |
(lib "typed-racket/utils/opaque-object.rkt") | |
(lib "typed-racket/utils/evt-contract.rkt") | |
(lib "typed-racket/utils/hash-contract.rkt") | |
(lib "typed-racket/utils/vector-contract.rkt") | |
(lib "typed-racket/utils/sealing-contract.rkt") | |
(lib "typed-racket/utils/promise-not-name-contract.rkt") | |
(lib "typed-racket/utils/simple-result-arrow.rkt") | |
(lib "typed-racket/utils/eq-contract.rkt") | |
(lib "racket/sequence.rkt") | |
(lib "racket/contract/parametric.rkt") | |
(for-syntax (lib "typed-racket/utils/utils.rkt"))) | |
(provide) | |
(#%assembly-code | |
" 0: 4883fd03 (cmp rbp #x3)" | |
" 4: 750b (jnz (+ rip #xb)) ; => 11" | |
" 6: 48c7c52e000000 (mov rbp #x2e)" | |
" d: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 11: e96aa083f8 (jmp (+ rip #x-77c5f96)) ; #<code doargerr> ; <=" | |
" 16: 0f1f8000000000 (data)" | |
"")) | |
(module (example typed-again #%type-decl) .... | |
(require (for-template (submod "..")) | |
(lib "typed-racket/types/numeric-tower.rkt") | |
(lib "typed-racket/env/type-name-env.rkt") | |
(lib "typed-racket/env/global-env.rkt") | |
(lib "typed-racket/env/type-alias-env.rkt") | |
(lib "typed-racket/types/struct-table.rkt") | |
(lib "typed-racket/types/abbrev.rkt") | |
(lib "typed-racket/env/struct-name-env.rkt") | |
(lib "racket/private/sort.rkt")) | |
(provide) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f84c3020000 (jz (+ rip #x2c3)) ; => 2ce" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 0f85ad020000 (jnz (+ rip #x2ad)) ; => 2c2" | |
" 15: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 19: 0f8692020000 (jbe (+ rip #x292)) ; => 2b1" | |
" 1f: 49c7c018000000 (mov r8 #x18) ; <=" | |
" 26: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 2a: 4983c518 (add r13 #x18)" | |
" 2e: 4d8b7f63 (mov r15 (mem64+ r15 #x63))" | |
" 32: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 58" | |
" 39: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 3d: 48c7c501000000 (mov rbp #x1)" | |
" 44: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 48: 8900000000000000 (data)" | |
" 50: 0f01000000000000 (data)" | |
" 58: 4983ed18 (sub r13 #x18) ; <=" | |
" 5c: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 60: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 64: 498b575b (mov rdx (mem64+ r15 #x5b))" | |
" 68: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 6c: 4983c110 (add r9 #x10)" | |
" 70: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 74: 0f8225020000 (jb (+ rip #x225)) ; => 29f" | |
" 7a: 4c89e1 (mov rcx r12) ; <=" | |
" 7d: 48895107 (mov (mem64+ rcx #x7) rdx)" | |
" 81: 48c7410f26000000 (mov (mem64+ rcx #xf) #x26)" | |
" 89: 498b5753 (mov rdx (mem64+ r15 #x53))" | |
" 8d: 49895520 (mov (mem64+ r13 #x20) rdx)" | |
" 91: 498b5743 (mov rdx (mem64+ r15 #x43))" | |
" 95: 4d8b472b (mov r8 (mem64+ r15 #x2b))" | |
" 99: 498b7f23 (mov rdi (mem64+ r15 #x23))" | |
" 9d: 498b7733 (mov rsi (mem64+ r15 #x33))" | |
" a1: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" a5: 49894d08 (mov (mem64+ r13 #x8) rcx)" | |
" a9: 49895528 (mov (mem64+ r13 #x28) rdx)" | |
" ad: 4983c530 (add r13 #x30)" | |
" b1: 4d8b7f3b (mov r15 (mem64+ r15 #x3b))" | |
" b5: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => db" | |
" bc: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" c0: 48c7c503000000 (mov rbp #x3)" | |
" c7: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" cb: 0c01000000000000 (data)" | |
" d3: 9b0f000000000000 (data)" | |
" db: 4983ed30 (sub r13 #x30) ; <=" | |
" df: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" e3: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" e7: 498b5528 (mov rdx (mem64+ r13 #x28))" | |
" eb: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" ef: 4983c110 (add r9 #x10)" | |
" f3: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" f7: 0f8290010000 (jb (+ rip #x190)) ; => 28d" | |
" fd: 49896c2407 (mov (mem64+ r12 #x7) rbp) ; <=" | |
" 102: 49c744240f26000000 (mov (mem64+ r12 #xf) #x26)" | |
" 10b: 4c89e6 (mov rsi r12)" | |
" 10e: 4d8d61ff (lea r12 (mem+ r9 #x-1))" | |
" 112: 4983c110 (add r9 #x10)" | |
" 116: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 11a: 0f825b010000 (jb (+ rip #x15b)) ; => 27b" | |
" 120: 4989542401 (mov (mem64+ r12 #x1) rdx) ; <=" | |
" 125: 4989742409 (mov (mem64+ r12 #x9) rsi)" | |
" 12a: 49c7453006000000 (mov (mem64+ r13 #x30) #x6)" | |
" 132: 49894d38 (mov (mem64+ r13 #x38) rcx)" | |
" 136: 4d896540 (mov (mem64+ r13 #x40) r12)" | |
" 13a: 49c7c026000000 (mov r8 #x26)" | |
" 141: 48c7c746000000 (mov rdi #x46)" | |
" 148: 48c7c646000000 (mov rsi #x46)" | |
" 14f: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 153: 4983c528 (add r13 #x28)" | |
" 157: 4d8b7f4b (mov r15 (mem64+ r15 #x4b))" | |
" 15b: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 181" | |
" 162: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 166: 48c7c506000000 (mov rbp #x6)" | |
" 16d: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 171: b201000000000000 (data)" | |
" 179: 1707000000000000 (data)" | |
" 181: 4983ed28 (sub r13 #x28) ; <=" | |
" 185: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 189: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 18d: 4983c110 (add r9 #x10)" | |
" 191: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 195: 0f82ce000000 (jb (+ rip #xce)) ; => 269" | |
" 19b: 49896c2407 (mov (mem64+ r12 #x7) rbp) ; <=" | |
" 1a0: 49c744240f26000000 (mov (mem64+ r12 #xf) #x26)" | |
" 1a9: 4c89e1 (mov rcx r12)" | |
" 1ac: 4d8d61ff (lea r12 (mem+ r9 #x-1))" | |
" 1b0: 4983c110 (add r9 #x10)" | |
" 1b4: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 1b8: 0f8299000000 (jb (+ rip #x99)) ; => 257" | |
" 1be: 498b5520 (mov rdx (mem64+ r13 #x20)) ; <=" | |
" 1c2: 4989542401 (mov (mem64+ r12 #x1) rdx)" | |
" 1c7: 49894c2409 (mov (mem64+ r12 #x9) rcx)" | |
" 1cc: 498b4f1b (mov rcx (mem64+ r15 #x1b))" | |
" 1d0: 4883e107 (and rcx #x7)" | |
" 1d4: 4883f905 (cmp rcx #x5)" | |
" 1d8: 7522 (jnz (+ rip #x22)) ; => 1fc" | |
" 1da: 498b6f1b (mov rbp (mem64+ r15 #x1b))" | |
" 1de: 4d896508 (mov (mem64+ r13 #x8) r12) ; <=" | |
" 1e2: 4d8b4713 (mov r8 (mem64+ r15 #x13))" | |
" 1e6: 498b7f0b (mov rdi (mem64+ r15 #xb))" | |
" 1ea: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" 1ee: 4989ef (mov r15 rbp)" | |
" 1f1: 48c7c504000000 (mov rbp #x4)" | |
" 1f8: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 1fc: 4d8b471b (mov r8 (mem64+ r15 #x1b)) ; <=" | |
" 200: 48c7c720000000 (mov rdi #x20)" | |
" 207: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 20b: 4d896508 (mov (mem64+ r13 #x8) r12)" | |
" 20f: 4983c520 (add r13 #x20)" | |
" 213: 49bc2b83454200000000 (mov r12 #x4245832b) ; 'slow-extract-procedure" | |
" 21d: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 222: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 249" | |
" 229: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 22d: 48c7c502000000 (mov rbp #x2)" | |
" 234: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 239: 7a02000000000000 (data)" | |
" 241: 9303000000000000 (data)" | |
" 249: 4983ed20 (sub r13 #x20) ; <=" | |
" 24d: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 251: 4d8b6508 (mov r12 (mem64+ r13 #x8))" | |
" 255: eb87 (jmp (+ rip #x-79)) ; => 1de" | |
" 257: 49e8637083f8 (call (+ rip #x-77c8f9d)) ; #<code get-room> ; <=" | |
" 25d: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 264: e955ffffff (jmp (+ rip #x-ab)) ; => 1be" | |
" 269: 49e8517083f8 (call (+ rip #x-77c8faf)) ; #<code get-room> ; <=" | |
" 26f: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 276: e920ffffff (jmp (+ rip #x-e0)) ; => 19b" | |
" 27b: 49e83f7083f8 (call (+ rip #x-77c8fc1)) ; #<code get-room> ; <=" | |
" 281: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 288: e993feffff (jmp (+ rip #x-16d)) ; => 120" | |
" 28d: 49e82d7083f8 (call (+ rip #x-77c8fd3)) ; #<code get-room> ; <=" | |
" 293: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 29a: e95efeffff (jmp (+ rip #x-1a2)) ; => fd" | |
" 29f: 49e81b7083f8 (call (+ rip #x-77c8fe5)) ; #<code get-room> ; <=" | |
" 2a5: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 2ac: e9c9fdffff (jmp (+ rip #x-237)) ; => 7a" | |
" 2b1: e80a7583f8 (call (+ rip #x-77c8af6)) ; #<code dooverflow> ; <=" | |
" 2b6: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 2bd: e95dfdffff (jmp (+ rip #x-2a3)) ; => 1f" | |
" 2c2: e9697e83f8 (jmp (+ rip #x-77c8197)) ; #<code doargerr> ; <=" | |
" 2c7: 0f1f8000000000 (data)" | |
" 2ce: e98da283f8 (jmp (+ rip #x-77c5d73)) ; #<code event-detour> ; <=" | |
" 2d3: 0f1f8000000000 (data)" | |
""))) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f84c3020000 (jz (+ rip #x2c3)) ; => 2ce" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 0f85ad020000 (jnz (+ rip #x2ad)) ; => 2c2" | |
" 15: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 19: 0f8692020000 (jbe (+ rip #x292)) ; => 2b1" | |
" 1f: 49c7c010000000 (mov r8 #x10) ; <=" | |
" 26: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 2a: 4983c518 (add r13 #x18)" | |
" 2e: 4d8b7f63 (mov r15 (mem64+ r15 #x63))" | |
" 32: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 58" | |
" 39: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 3d: 48c7c501000000 (mov rbp #x1)" | |
" 44: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 48: 8900000000000000 (data)" | |
" 50: 0f01000000000000 (data)" | |
" 58: 4983ed18 (sub r13 #x18) ; <=" | |
" 5c: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 60: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 64: 498b575b (mov rdx (mem64+ r15 #x5b))" | |
" 68: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 6c: 4983c110 (add r9 #x10)" | |
" 70: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 74: 0f8225020000 (jb (+ rip #x225)) ; => 29f" | |
" 7a: 4c89e1 (mov rcx r12) ; <=" | |
" 7d: 48895107 (mov (mem64+ rcx #x7) rdx)" | |
" 81: 48c7410f26000000 (mov (mem64+ rcx #xf) #x26)" | |
" 89: 498b5753 (mov rdx (mem64+ r15 #x53))" | |
" 8d: 49895520 (mov (mem64+ r13 #x20) rdx)" | |
" 91: 498b5743 (mov rdx (mem64+ r15 #x43))" | |
" 95: 4d8b472b (mov r8 (mem64+ r15 #x2b))" | |
" 99: 498b7f23 (mov rdi (mem64+ r15 #x23))" | |
" 9d: 498b7733 (mov rsi (mem64+ r15 #x33))" | |
" a1: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" a5: 49894d08 (mov (mem64+ r13 #x8) rcx)" | |
" a9: 49895528 (mov (mem64+ r13 #x28) rdx)" | |
" ad: 4983c530 (add r13 #x30)" | |
" b1: 4d8b7f3b (mov r15 (mem64+ r15 #x3b))" | |
" b5: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => db" | |
" bc: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" c0: 48c7c503000000 (mov rbp #x3)" | |
" c7: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" cb: 0c01000000000000 (data)" | |
" d3: 9b0f000000000000 (data)" | |
" db: 4983ed30 (sub r13 #x30) ; <=" | |
" df: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" e3: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" e7: 498b5528 (mov rdx (mem64+ r13 #x28))" | |
" eb: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" ef: 4983c110 (add r9 #x10)" | |
" f3: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" f7: 0f8290010000 (jb (+ rip #x190)) ; => 28d" | |
" fd: 49896c2407 (mov (mem64+ r12 #x7) rbp) ; <=" | |
" 102: 49c744240f26000000 (mov (mem64+ r12 #xf) #x26)" | |
" 10b: 4c89e6 (mov rsi r12)" | |
" 10e: 4d8d61ff (lea r12 (mem+ r9 #x-1))" | |
" 112: 4983c110 (add r9 #x10)" | |
" 116: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 11a: 0f825b010000 (jb (+ rip #x15b)) ; => 27b" | |
" 120: 4989542401 (mov (mem64+ r12 #x1) rdx) ; <=" | |
" 125: 4989742409 (mov (mem64+ r12 #x9) rsi)" | |
" 12a: 49c7453006000000 (mov (mem64+ r13 #x30) #x6)" | |
" 132: 49894d38 (mov (mem64+ r13 #x38) rcx)" | |
" 136: 4d896540 (mov (mem64+ r13 #x40) r12)" | |
" 13a: 49c7c026000000 (mov r8 #x26)" | |
" 141: 48c7c746000000 (mov rdi #x46)" | |
" 148: 48c7c646000000 (mov rsi #x46)" | |
" 14f: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 153: 4983c528 (add r13 #x28)" | |
" 157: 4d8b7f4b (mov r15 (mem64+ r15 #x4b))" | |
" 15b: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 181" | |
" 162: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 166: 48c7c506000000 (mov rbp #x6)" | |
" 16d: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 171: b201000000000000 (data)" | |
" 179: 1707000000000000 (data)" | |
" 181: 4983ed28 (sub r13 #x28) ; <=" | |
" 185: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 189: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 18d: 4983c110 (add r9 #x10)" | |
" 191: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 195: 0f82ce000000 (jb (+ rip #xce)) ; => 269" | |
" 19b: 49896c2407 (mov (mem64+ r12 #x7) rbp) ; <=" | |
" 1a0: 49c744240f26000000 (mov (mem64+ r12 #xf) #x26)" | |
" 1a9: 4c89e1 (mov rcx r12)" | |
" 1ac: 4d8d61ff (lea r12 (mem+ r9 #x-1))" | |
" 1b0: 4983c110 (add r9 #x10)" | |
" 1b4: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 1b8: 0f8299000000 (jb (+ rip #x99)) ; => 257" | |
" 1be: 498b5520 (mov rdx (mem64+ r13 #x20)) ; <=" | |
" 1c2: 4989542401 (mov (mem64+ r12 #x1) rdx)" | |
" 1c7: 49894c2409 (mov (mem64+ r12 #x9) rcx)" | |
" 1cc: 498b4f1b (mov rcx (mem64+ r15 #x1b))" | |
" 1d0: 4883e107 (and rcx #x7)" | |
" 1d4: 4883f905 (cmp rcx #x5)" | |
" 1d8: 7522 (jnz (+ rip #x22)) ; => 1fc" | |
" 1da: 498b6f1b (mov rbp (mem64+ r15 #x1b))" | |
" 1de: 4d896508 (mov (mem64+ r13 #x8) r12) ; <=" | |
" 1e2: 4d8b4713 (mov r8 (mem64+ r15 #x13))" | |
" 1e6: 498b7f0b (mov rdi (mem64+ r15 #xb))" | |
" 1ea: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" 1ee: 4989ef (mov r15 rbp)" | |
" 1f1: 48c7c504000000 (mov rbp #x4)" | |
" 1f8: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 1fc: 4d8b471b (mov r8 (mem64+ r15 #x1b)) ; <=" | |
" 200: 48c7c720000000 (mov rdi #x20)" | |
" 207: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 20b: 4d896508 (mov (mem64+ r13 #x8) r12)" | |
" 20f: 4983c520 (add r13 #x20)" | |
" 213: 49bc2b83454200000000 (mov r12 #x4245832b) ; 'slow-extract-procedure" | |
" 21d: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 222: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 249" | |
" 229: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 22d: 48c7c502000000 (mov rbp #x2)" | |
" 234: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 239: 7a02000000000000 (data)" | |
" 241: 9303000000000000 (data)" | |
" 249: 4983ed20 (sub r13 #x20) ; <=" | |
" 24d: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 251: 4d8b6508 (mov r12 (mem64+ r13 #x8))" | |
" 255: eb87 (jmp (+ rip #x-79)) ; => 1de" | |
" 257: 49e833c2d3fb (call (+ rip #x-42c3dcd)) ; #<code get-room> ; <=" | |
" 25d: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 264: e955ffffff (jmp (+ rip #x-ab)) ; => 1be" | |
" 269: 49e821c2d3fb (call (+ rip #x-42c3ddf)) ; #<code get-room> ; <=" | |
" 26f: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 276: e920ffffff (jmp (+ rip #x-e0)) ; => 19b" | |
" 27b: 49e80fc2d3fb (call (+ rip #x-42c3df1)) ; #<code get-room> ; <=" | |
" 281: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 288: e993feffff (jmp (+ rip #x-16d)) ; => 120" | |
" 28d: 49e8fdc1d3fb (call (+ rip #x-42c3e03)) ; #<code get-room> ; <=" | |
" 293: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 29a: e95efeffff (jmp (+ rip #x-1a2)) ; => fd" | |
" 29f: 49e8ebc1d3fb (call (+ rip #x-42c3e15)) ; #<code get-room> ; <=" | |
" 2a5: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 2ac: e9c9fdffff (jmp (+ rip #x-237)) ; => 7a" | |
" 2b1: e8dac6d3fb (call (+ rip #x-42c3926)) ; #<code dooverflow> ; <=" | |
" 2b6: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 2bd: e95dfdffff (jmp (+ rip #x-2a3)) ; => 1f" | |
" 2c2: e939d0d3fb (jmp (+ rip #x-42c2fc7)) ; #<code doargerr> ; <=" | |
" 2c7: 0f1f8000000000 (data)" | |
" 2ce: e95df4d3fb (jmp (+ rip #x-42c0ba3)) ; #<code event-detour> ; <=" | |
" 2d3: 0f1f8000000000 (data)" | |
""))) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f8479010000 (jz (+ rip #x179)) ; => 184" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 0f8563010000 (jnz (+ rip #x163)) ; => 178" | |
" 15: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 19: 0f8648010000 (jbe (+ rip #x148)) ; => 167" | |
" 1f: 49c7c008000000 (mov r8 #x8) ; <=" | |
" 26: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 2a: 4983c518 (add r13 #x18)" | |
" 2e: 4d8b7f3b (mov r15 (mem64+ r15 #x3b))" | |
" 32: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 58" | |
" 39: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 3d: 48c7c501000000 (mov rbp #x1)" | |
" 44: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 48: 8900000000000000 (data)" | |
" 50: 0f01000000000000 (data)" | |
" 58: 4983ed18 (sub r13 #x18) ; <=" | |
" 5c: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 60: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 64: 498b4f2b (mov rcx (mem64+ r15 #x2b))" | |
" 68: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 6c: 4983c110 (add r9 #x10)" | |
" 70: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 74: 0f82db000000 (jb (+ rip #xdb)) ; => 155" | |
" 7a: 4d89e0 (mov r8 r12) ; <=" | |
" 7d: 49894807 (mov (mem64+ r8 #x7) rcx)" | |
" 81: 49c7400f26000000 (mov (mem64+ r8 #xf) #x26)" | |
" 89: 498b7f23 (mov rdi (mem64+ r15 #x23))" | |
" 8d: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 91: 4983c520 (add r13 #x20)" | |
" 95: 4d8b7f33 (mov r15 (mem64+ r15 #x33))" | |
" 99: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => bf" | |
" a0: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" a4: 48c7c502000000 (mov rbp #x2)" | |
" ab: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" af: f000000000000000 (data)" | |
" b7: 1303000000000000 (data)" | |
" bf: 4983ed20 (sub r13 #x20) ; <=" | |
" c3: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" c7: 4889e9 (mov rcx rbp)" | |
" ca: 498b571b (mov rdx (mem64+ r15 #x1b))" | |
" ce: 4883e207 (and rdx #x7)" | |
" d2: 4883fa05 (cmp rdx #x5)" | |
" d6: 7522 (jnz (+ rip #x22)) ; => fa" | |
" d8: 498b6f1b (mov rbp (mem64+ r15 #x1b))" | |
" dc: 49894d08 (mov (mem64+ r13 #x8) rcx) ; <=" | |
" e0: 4d8b4713 (mov r8 (mem64+ r15 #x13))" | |
" e4: 498b7f0b (mov rdi (mem64+ r15 #xb))" | |
" e8: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" ec: 4989ef (mov r15 rbp)" | |
" ef: 48c7c504000000 (mov rbp #x4)" | |
" f6: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" fa: 4d8b471b (mov r8 (mem64+ r15 #x1b)) ; <=" | |
" fe: 48c7c720000000 (mov rdi #x20)" | |
" 105: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 109: 49894d08 (mov (mem64+ r13 #x8) rcx)" | |
" 10d: 4983c520 (add r13 #x20)" | |
" 111: 49bc2b83454200000000 (mov r12 #x4245832b) ; 'slow-extract-procedure" | |
" 11b: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 120: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 147" | |
" 127: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 12b: 48c7c502000000 (mov rbp #x2)" | |
" 132: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 137: 7801000000000000 (data)" | |
" 13f: 9303000000000000 (data)" | |
" 147: 4983ed20 (sub r13 #x20) ; <=" | |
" 14b: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 14f: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 153: eb87 (jmp (+ rip #x-79)) ; => dc" | |
" 155: 49e815c0d3fb (call (+ rip #x-42c3feb)) ; #<code get-room> ; <=" | |
" 15b: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 162: e913ffffff (jmp (+ rip #x-ed)) ; => 7a" | |
" 167: e804c5d3fb (call (+ rip #x-42c3afc)) ; #<code dooverflow> ; <=" | |
" 16c: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 173: e9a7feffff (jmp (+ rip #x-159)) ; => 1f" | |
" 178: e963ced3fb (jmp (+ rip #x-42c319d)) ; #<code doargerr> ; <=" | |
" 17d: 0f1f8000000000 (data)" | |
" 184: e987f2d3fb (jmp (+ rip #x-42c0d79)) ; #<code event-detour> ; <=" | |
" 189: 0f1f8000000000 (data)" | |
""))) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f8485010000 (jz (+ rip #x185)) ; => 190" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 0f856f010000 (jnz (+ rip #x16f)) ; => 184" | |
" 15: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 19: 0f8654010000 (jbe (+ rip #x154)) ; => 173" | |
" 1f: 4d31c0 (xor r8 r8) ; <=" | |
" 22: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 26: 4983c518 (add r13 #x18)" | |
" 2a: 4d8b7f33 (mov r15 (mem64+ r15 #x33))" | |
" 2e: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 54" | |
" 35: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 39: 48c7c501000000 (mov rbp #x1)" | |
" 40: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 44: 8500000000000000 (data)" | |
" 4c: 0f01000000000000 (data)" | |
" 54: 4983ed18 (sub r13 #x18) ; <=" | |
" 58: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 5c: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 60: 498b4f23 (mov rcx (mem64+ r15 #x23))" | |
" 64: 498b5723 (mov rdx (mem64+ r15 #x23))" | |
" 68: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 6c: 4983c120 (add r9 #x20)" | |
" 70: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 74: 0f82e7000000 (jb (+ rip #xe7)) ; => 161" | |
" 7a: 4d89e0 (mov r8 r12) ; <=" | |
" 7d: 49894807 (mov (mem64+ r8 #x7) rcx)" | |
" 81: 498d4810 (lea rcx (mem+ r8 #x10))" | |
" 85: 4989480f (mov (mem64+ r8 #xf) rcx)" | |
" 89: 49895017 (mov (mem64+ r8 #x17) rdx)" | |
" 8d: 49c7401f26000000 (mov (mem64+ r8 #x1f) #x26)" | |
" 95: 498b7f23 (mov rdi (mem64+ r15 #x23))" | |
" 99: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 9d: 4983c520 (add r13 #x20)" | |
" a1: 4d8b7f2b (mov r15 (mem64+ r15 #x2b))" | |
" a5: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => cb" | |
" ac: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" b0: 48c7c502000000 (mov rbp #x2)" | |
" b7: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" bb: fc00000000000000 (data)" | |
" c3: 1303000000000000 (data)" | |
" cb: 4983ed20 (sub r13 #x20) ; <=" | |
" cf: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" d3: 4889e9 (mov rcx rbp)" | |
" d6: 498b571b (mov rdx (mem64+ r15 #x1b))" | |
" da: 4883e207 (and rdx #x7)" | |
" de: 4883fa05 (cmp rdx #x5)" | |
" e2: 7522 (jnz (+ rip #x22)) ; => 106" | |
" e4: 498b6f1b (mov rbp (mem64+ r15 #x1b))" | |
" e8: 49894d08 (mov (mem64+ r13 #x8) rcx) ; <=" | |
" ec: 4d8b4713 (mov r8 (mem64+ r15 #x13))" | |
" f0: 498b7f0b (mov rdi (mem64+ r15 #xb))" | |
" f4: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" f8: 4989ef (mov r15 rbp)" | |
" fb: 48c7c504000000 (mov rbp #x4)" | |
" 102: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 106: 4d8b471b (mov r8 (mem64+ r15 #x1b)) ; <=" | |
" 10a: 48c7c720000000 (mov rdi #x20)" | |
" 111: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 115: 49894d08 (mov (mem64+ r13 #x8) rcx)" | |
" 119: 4983c520 (add r13 #x20)" | |
" 11d: 49bc2b83454200000000 (mov r12 #x4245832b) ; 'slow-extract-procedure" | |
" 127: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 12c: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 153" | |
" 133: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 137: 48c7c502000000 (mov rbp #x2)" | |
" 13e: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 143: 8401000000000000 (data)" | |
" 14b: 9303000000000000 (data)" | |
" 153: 4983ed20 (sub r13 #x20) ; <=" | |
" 157: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 15b: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 15f: eb87 (jmp (+ rip #x-79)) ; => e8" | |
" 161: 49e839bed3fb (call (+ rip #x-42c41c7)) ; #<code get-room> ; <=" | |
" 167: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 16e: e907ffffff (jmp (+ rip #x-f9)) ; => 7a" | |
" 173: e828c3d3fb (call (+ rip #x-42c3cd8)) ; #<code dooverflow> ; <=" | |
" 178: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 17f: e99bfeffff (jmp (+ rip #x-165)) ; => 1f" | |
" 184: e987ccd3fb (jmp (+ rip #x-42c3379)) ; #<code doargerr> ; <=" | |
" 189: 0f1f8000000000 (data)" | |
" 190: e9abf0d3fb (jmp (+ rip #x-42c0f55)) ; #<code event-detour> ; <=" | |
" 195: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 4883fd17 (cmp rbp #x17)" | |
" 4: 0f85c3030000 (jnz (+ rip #x3c3)) ; => 3cd" | |
" a: 49897d18 (mov (mem64+ r13 #x18) rdi)" | |
" e: 498b5520 (mov rdx (mem64+ r13 #x20))" | |
" 12: 498b7530 (mov rsi (mem64+ r13 #x30))" | |
" 16: 498bbd88000000 (mov rdi (mem64+ r13 #x88))" | |
" 1d: 498b8d90000000 (mov rcx (mem64+ r13 #x90))" | |
" 24: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 28: 0f868e030000 (jbe (+ rip #x38e)) ; => 3bc" | |
" 2e: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 33: 0f841d030000 (jz (+ rip #x31d)) ; => 356" | |
" 39: 4d8d61fd (lea r12 (mem+ r9 #x-3)) ; <=" | |
" 3d: 4983c140 (add r9 #x40)" | |
" 41: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 45: 0f82f9020000 (jb (+ rip #x2f9)) ; => 344" | |
" 4b: 4d89e0 (mov r8 r12) ; <=" | |
" 4e: 49bf704b834400000000 (mov r15 #x44834b70) ; #<code>" | |
" 58: 4d897803 (mov (mem64+ r8 #x3) r15)" | |
" 5c: 4d8b7d08 (mov r15 (mem64+ r13 #x8))" | |
" 60: 4d89780b (mov (mem64+ r8 #xb) r15)" | |
" 64: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 68: 4d897813 (mov (mem64+ r8 #x13) r15)" | |
" 6c: 4989781b (mov (mem64+ r8 #x1b) rdi)" | |
" 70: 49897023 (mov (mem64+ r8 #x23) rsi)" | |
" 74: 4989502b (mov (mem64+ r8 #x2b) rdx)" | |
" 78: 498b7d18 (mov rdi (mem64+ r13 #x18))" | |
" 7c: 49897833 (mov (mem64+ r8 #x33) rdi)" | |
" 80: 49895520 (mov (mem64+ r13 #x20) rdx)" | |
" 84: 49897530 (mov (mem64+ r13 #x30) rsi)" | |
" 88: 49898d90000000 (mov (mem64+ r13 #x90) rcx)" | |
" 8f: 4981c5a8000000 (add r13 #xa8)" | |
" 96: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" a0: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" a5: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => cc" | |
" ac: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" b0: 48c7c501000000 (mov rbp #x1)" | |
" b7: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" bc: fd00000000000000 (data)" | |
" c4: d5bf3d0700000000 (data)" | |
" cc: 4981eda8000000 (sub r13 #xa8) ; <=" | |
" d3: 498b5520 (mov rdx (mem64+ r13 #x20))" | |
" d7: 498b7530 (mov rsi (mem64+ r13 #x30))" | |
" db: 498b8d90000000 (mov rcx (mem64+ r13 #x90))" | |
" e2: 4d8d61fd (lea r12 (mem+ r9 #x-3))" | |
" e6: 4983c140 (add r9 #x40)" | |
" ea: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" ee: 0f823e020000 (jb (+ rip #x23e)) ; => 332" | |
" f4: 4d89e0 (mov r8 r12) ; <=" | |
" f7: 48bfa049834400000000 (mov rdi #x448349a0) ; #<code>" | |
" 101: 49897803 (mov (mem64+ r8 #x3) rdi)" | |
" 105: 498b7d08 (mov rdi (mem64+ r13 #x8))" | |
" 109: 4989780b (mov (mem64+ r8 #xb) rdi)" | |
" 10d: 498b7d10 (mov rdi (mem64+ r13 #x10))" | |
" 111: 49897813 (mov (mem64+ r8 #x13) rdi)" | |
" 115: 4989481b (mov (mem64+ r8 #x1b) rcx)" | |
" 119: 498b4d28 (mov rcx (mem64+ r13 #x28))" | |
" 11d: 49894823 (mov (mem64+ r8 #x23) rcx)" | |
" 121: 4989702b (mov (mem64+ r8 #x2b) rsi)" | |
" 125: 49895033 (mov (mem64+ r8 #x33) rdx)" | |
" 129: 498b4d18 (mov rcx (mem64+ r13 #x18))" | |
" 12d: 4989483b (mov (mem64+ r8 #x3b) rcx)" | |
" 131: 4981c5a8000000 (add r13 #xa8)" | |
" 138: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 142: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 147: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 16e" | |
" 14e: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 152: 48c7c501000000 (mov rbp #x1)" | |
" 159: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 15e: 9f01000000000000 (data)" | |
" 166: d5ab3d0600000000 (data)" | |
" 16e: 4981eda8000000 (sub r13 #xa8) ; <=" | |
" 175: 4d8d61fd (lea r12 (mem+ r9 #x-3))" | |
" 179: 4983c170 (add r9 #x70)" | |
" 17d: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 181: 0f8299010000 (jb (+ rip #x199)) ; => 320" | |
" 187: 4d89e0 (mov r8 r12) ; <=" | |
" 18a: 48b98046834400000000 (mov rcx #x44834680) ; #<code>" | |
" 194: 49894803 (mov (mem64+ r8 #x3) rcx)" | |
" 198: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 19c: 4989480b (mov (mem64+ r8 #xb) rcx)" | |
" 1a0: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 1a4: 49894813 (mov (mem64+ r8 #x13) rcx)" | |
" 1a8: 498b8d98000000 (mov rcx (mem64+ r13 #x98))" | |
" 1af: 4989481b (mov (mem64+ r8 #x1b) rcx)" | |
" 1b3: 498b4d60 (mov rcx (mem64+ r13 #x60))" | |
" 1b7: 49894823 (mov (mem64+ r8 #x23) rcx)" | |
" 1bb: 498b4d28 (mov rcx (mem64+ r13 #x28))" | |
" 1bf: 4989482b (mov (mem64+ r8 #x2b) rcx)" | |
" 1c3: 498b4d68 (mov rcx (mem64+ r13 #x68))" | |
" 1c7: 49894833 (mov (mem64+ r8 #x33) rcx)" | |
" 1cb: 498b4d70 (mov rcx (mem64+ r13 #x70))" | |
" 1cf: 4989483b (mov (mem64+ r8 #x3b) rcx)" | |
" 1d3: 498b4d50 (mov rcx (mem64+ r13 #x50))" | |
" 1d7: 49894843 (mov (mem64+ r8 #x43) rcx)" | |
" 1db: 498b4d78 (mov rcx (mem64+ r13 #x78))" | |
" 1df: 4989484b (mov (mem64+ r8 #x4b) rcx)" | |
" 1e3: 498b4d38 (mov rcx (mem64+ r13 #x38))" | |
" 1e7: 49894853 (mov (mem64+ r8 #x53) rcx)" | |
" 1eb: 498b4d48 (mov rcx (mem64+ r13 #x48))" | |
" 1ef: 4989485b (mov (mem64+ r8 #x5b) rcx)" | |
" 1f3: 498b4d18 (mov rcx (mem64+ r13 #x18))" | |
" 1f7: 49894863 (mov (mem64+ r8 #x63) rcx)" | |
" 1fb: 4981c5a8000000 (add r13 #xa8)" | |
" 202: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 20c: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 211: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 238" | |
" 218: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 21c: 48c7c501000000 (mov rbp #x1)" | |
" 223: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 228: 6902000000000000 (data)" | |
" 230: d5ab3d0400000000 (data)" | |
" 238: 4981eda8000000 (sub r13 #xa8) ; <=" | |
" 23f: 4d8d61fd (lea r12 (mem+ r9 #x-3))" | |
" 243: 4983c170 (add r9 #x70)" | |
" 247: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 24b: 0f82bd000000 (jb (+ rip #xbd)) ; => 30e" | |
" 251: 4d89e0 (mov r8 r12) ; <=" | |
" 254: 48b9504d834400000000 (mov rcx #x44834d50) ; #<code>" | |
" 25e: 49894803 (mov (mem64+ r8 #x3) rcx)" | |
" 262: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 266: 4989480b (mov (mem64+ r8 #xb) rcx)" | |
" 26a: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" 26e: 49894813 (mov (mem64+ r8 #x13) rcx)" | |
" 272: 498b8da0000000 (mov rcx (mem64+ r13 #xa0))" | |
" 279: 4989481b (mov (mem64+ r8 #x1b) rcx)" | |
" 27d: 498b4d60 (mov rcx (mem64+ r13 #x60))" | |
" 281: 49894823 (mov (mem64+ r8 #x23) rcx)" | |
" 285: 498b4d28 (mov rcx (mem64+ r13 #x28))" | |
" 289: 4989482b (mov (mem64+ r8 #x2b) rcx)" | |
" 28d: 498b4d68 (mov rcx (mem64+ r13 #x68))" | |
" 291: 49894833 (mov (mem64+ r8 #x33) rcx)" | |
" 295: 498b4d70 (mov rcx (mem64+ r13 #x70))" | |
" 299: 4989483b (mov (mem64+ r8 #x3b) rcx)" | |
" 29d: 498b4d50 (mov rcx (mem64+ r13 #x50))" | |
" 2a1: 49894843 (mov (mem64+ r8 #x43) rcx)" | |
" 2a5: 498b4d78 (mov rcx (mem64+ r13 #x78))" | |
" 2a9: 4989484b (mov (mem64+ r8 #x4b) rcx)" | |
" 2ad: 498b4d38 (mov rcx (mem64+ r13 #x38))" | |
" 2b1: 49894853 (mov (mem64+ r8 #x53) rcx)" | |
" 2b5: 498b4d48 (mov rcx (mem64+ r13 #x48))" | |
" 2b9: 4989485b (mov (mem64+ r8 #x5b) rcx)" | |
" 2bd: 498b4d18 (mov rcx (mem64+ r13 #x18))" | |
" 2c1: 49894863 (mov (mem64+ r8 #x63) rcx)" | |
" 2c5: 4983c508 (add r13 #x8)" | |
" 2c9: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 2d3: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 2d8: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 2ff" | |
" 2df: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 2e3: 48c7c501000000 (mov rbp #x1)" | |
" 2ea: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 2ef: 3003000000000000 (data)" | |
" 2f7: 0500000000000000 (data)" | |
" 2ff: 4983ed08 (sub r13 #x8) ; <=" | |
" 303: 48c7c52e000000 (mov rbp #x2e)" | |
" 30a: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 30e: 49e88cb7d3fb (call (+ rip #x-42c4874)) ; #<code get-room> ; <=" | |
" 314: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 31b: e931ffffff (jmp (+ rip #x-cf)) ; => 251" | |
" 320: 49e87ab7d3fb (call (+ rip #x-42c4886)) ; #<code get-room> ; <=" | |
" 326: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 32d: e955feffff (jmp (+ rip #x-1ab)) ; => 187" | |
" 332: 49e868b7d3fb (call (+ rip #x-42c4898)) ; #<code get-room> ; <=" | |
" 338: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 33f: e9b0fdffff (jmp (+ rip #x-250)) ; => f4" | |
" 344: 49e856b7d3fb (call (+ rip #x-42c48aa)) ; #<code get-room> ; <=" | |
" 34a: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 351: e9f5fcffff (jmp (+ rip #x-30b)) ; => 4b" | |
" 356: 49895520 (mov (mem64+ r13 #x20) rdx) ; <=" | |
" 35a: 49897530 (mov (mem64+ r13 #x30) rsi)" | |
" 35e: 4989bd88000000 (mov (mem64+ r13 #x88) rdi)" | |
" 365: 49898d90000000 (mov (mem64+ r13 #x90) rcx)" | |
" 36c: 4981c5a8000000 (add r13 #xa8)" | |
" 373: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 39a" | |
" 37a: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 37e: e90dfed5fb (jmp (+ rip #x-42a01f3)) ; #<code event>" | |
" 383: 0f1f8000000000cb (data)" | |
" 38b: 03000000000000d5 (data)" | |
" 393: bfbd0700000000 (data)" | |
" 39a: 4981eda8000000 (sub r13 #xa8) ; <=" | |
" 3a1: 498b5520 (mov rdx (mem64+ r13 #x20))" | |
" 3a5: 498b7530 (mov rsi (mem64+ r13 #x30))" | |
" 3a9: 498bbd88000000 (mov rdi (mem64+ r13 #x88))" | |
" 3b0: 498b8d90000000 (mov rcx (mem64+ r13 #x90))" | |
" 3b7: e97dfcffff (jmp (+ rip #x-383)) ; => 39" | |
" 3bc: e8dfbbd3fb (call (+ rip #x-42c4421)) ; #<code dooverflow> ; <=" | |
" 3c1: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 3c8: e961fcffff (jmp (+ rip #x-39f)) ; => 2e" | |
" 3cd: e93ec5d3fb (jmp (+ rip #x-42c3ac2)) ; #<code doargerr> ; <=" | |
" 3d2: 0f1f8000000000 (data)" | |
"") | |
(begin-for-all | |
(define #0=(.get-syntax-literal! pos) | |
.... | |
(define || | |
(lambda (a0) | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f84b7010000 (jz (+ rip #x1b7)) ; => 1c2" | |
" b: 4883fd01 (cmp rbp #x1)" | |
" f: 0f85a1010000 (jnz (+ rip #x1a1)) ; => 1b6" | |
" 15: 4c89c6 (mov rsi r8)" | |
" 18: 4d897d08 (mov (mem64+ r13 #x8) r15)" | |
" 1c: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 20: 0f867f010000 (jbe (+ rip #x17f)) ; => 1a5" | |
" 26: 498b4d08 (mov rcx (mem64+ r13 #x8)) ; <=" | |
" 2a: 488b4923 (mov rcx (mem64+ rcx #x23))" | |
" 2e: 4c8b4109 (mov r8 (mem64+ rcx #x9))" | |
" 32: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 36: 488b491b (mov rcx (mem64+ rcx #x1b))" | |
" 3a: 488b4909 (mov rcx (mem64+ rcx #x9))" | |
" 3e: 4c89c2 (mov rdx r8)" | |
" 41: 4883e207 (and rdx #x7)" | |
" 45: 4883fa05 (cmp rdx #x5)" | |
" 49: 0f85f9000000 (jnz (+ rip #xf9)) ; => 148" | |
" 4f: 4d89c7 (mov r15 r8)" | |
" 52: 49c7452048000000 (mov (mem64+ r13 #x20) #x48) ; <=" | |
" 5a: 48ba7f4bd44300000000 (mov rdx #x43d44b7f) ; '#(#:scope+kind macro #:scope+kind macro #:scope+kind module #:representative-scope module -1 #:representative-scope module 0 #:representative-scope module 0 #:scope+kind macro #:scope+kind macro #:scope+kind module)" | |
" 64: 49895528 (mov (mem64+ r13 #x28) rdx)" | |
" 68: 49c7453048000000 (mov (mem64+ r13 #x30) #x48)" | |
" 70: 48ba2f4cd44300000000 (mov rdx #x43d44c2f) ; '#(#:multi-scope typed-again #:hasheqv 2 -1 #:ref 3 0 #:ref 4 #:multi-scope #%type-decl #:hasheqv 1 0 #:ref 5 #:seteq 2 #:shifted-multi-scope -1 #:ref 9 #:shifted-multi-scope 0 #:ref 10 #:cons #:mpi 20 #:mpi 10 #:cons #:mpi 21 #:mpi 11 #:list 2 #:ref 12..." | |
" 7a: 49895538 (mov (mem64+ r13 #x38) rdx)" | |
" 7e: 48ba9f4ed44300000000 (mov rdx #x43d44e9f) ; '#(#f #:scope-fill! #:hasheq 1 fx+/wraparound4 #:hash 1 #:seteq 3 #:ref 4 #:ref 0 #:ref 1 #:module-binding #:mpi 21 fx+/wraparound4.1 0 #:mpi 21 0 fx+/wraparound4 0 #f #f () #f #:representative-scope-fill! #:table-with-bulk-bindings #:ref 16 #:cons #:bu..." | |
" 88: 49895540 (mov (mem64+ r13 #x40) rdx)" | |
" 8c: 48ba9f55d44300000000 (mov rdx #x43d4559f) ; (vector '#:vector 4 '#:syntax 'fx+/wraparound4 '#:vector 3 '#:seteq 3 '#:ref 0 '#:ref 1 '#:ref 2 '#:ref 11 '#:ref 14 #f '#:syntax 'fxabs2 '#:vector 3 '#:seteq 3 '#:ref 6 '#:ref 7 '#:ref 2 '#:ref 11 '#:ref 14 #f '#:syntax 'typed-abs 15 (srcloc #0=#<path:..." | |
" 96: 49895548 (mov (mem64+ r13 #x48) rdx)" | |
" 9a: 4989c8 (mov r8 rcx)" | |
" 9d: 48c7c706000000 (mov rdi #x6)" | |
" a4: 4983c518 (add r13 #x18)" | |
" a8: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => ce" | |
" af: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" b3: 48c7c509000000 (mov rbp #x9)" | |
" ba: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" be: ff00000000000000 (data)" | |
" c6: 8f00000000000000 (data)" | |
" ce: 4983ed18 (sub r13 #x18) ; <=" | |
" d2: 4889ee (mov rsi rbp)" | |
" d5: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" d9: 4c8b4113 (mov r8 (mem64+ rcx #x13))" | |
" dd: 4831ff (xor rdi rdi)" | |
" e0: 4983c510 (add r13 #x10)" | |
" e4: 49bc2b00454200000000 (mov r12 #x4245002b) ; 'vector-copy!" | |
" ee: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" f3: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 11a" | |
" fa: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" fe: 48c7c503000000 (mov rbp #x3)" | |
" 105: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 10a: 4b01000000000000 (data)" | |
" 112: 8900000000000000 (data)" | |
" 11a: 4983ed10 (sub r13 #x10) ; <=" | |
" 11e: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 122: 4c8b410b (mov r8 (mem64+ rcx #xb))" | |
" 126: 48c7c706000000 (mov rdi #x6)" | |
" 12d: 49bccb60484200000000 (mov r12 #x424860cb) ; 'variable-set!" | |
" 137: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 13c: 48c7c502000000 (mov rbp #x2)" | |
" 143: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 148: 48c7c748000000 (mov rdi #x48) ; <=" | |
" 14f: 49897510 (mov (mem64+ r13 #x10) rsi)" | |
" 153: 49894d18 (mov (mem64+ r13 #x18) rcx)" | |
" 157: 4983c520 (add r13 #x20)" | |
" 15b: 49bc2b83454200000000 (mov r12 #x4245832b) ; 'slow-extract-procedure" | |
" 165: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 16a: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 191" | |
" 171: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 175: 48c7c502000000 (mov rbp #x2)" | |
" 17c: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 181: c201000000000000 (data)" | |
" 189: 9303000000000000 (data)" | |
" 191: 4983ed20 (sub r13 #x20) ; <=" | |
" 195: 4989ef (mov r15 rbp)" | |
" 198: 498b7510 (mov rsi (mem64+ r13 #x10))" | |
" 19c: 498b4d18 (mov rcx (mem64+ r13 #x18))" | |
" 1a0: e9adfeffff (jmp (+ rip #x-153)) ; => 52" | |
" 1a5: e856c083f8 (call (+ rip #x-77c3faa)) ; #<code dooverflow> ; <=" | |
" 1aa: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1b1: e970feffff (jmp (+ rip #x-190)) ; => 26" | |
" 1b6: e9b5c983f8 (jmp (+ rip #x-77c364b)) ; #<code doargerr> ; <=" | |
" 1bb: 0f1f8000000000 (data)" | |
" 1c2: e9d9ed83f8 (jmp (+ rip #x-77c1227)) ; #<code event-detour> ; <=" | |
" 1c7: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 4883fd09 (cmp rbp #x9)" | |
" 4: 0f85a3010000 (jnz (+ rip #x1a3)) ; => 1ad" | |
" a: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" e: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 12: 498b4d30 (mov rcx (mem64+ r13 #x30))" | |
" 16: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 1a: 0f867c010000 (jbe (+ rip #x17c)) ; => 19c" | |
" 20: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 25: 0f8425010000 (jz (+ rip #x125)) ; => 150" | |
" 2b: 49c7c020000000 (mov r8 #x20) ; <=" | |
" 32: 48c7c706000000 (mov rdi #x6)" | |
" 39: 49895518 (mov (mem64+ r13 #x18) rdx)" | |
" 3d: 49897520 (mov (mem64+ r13 #x20) rsi)" | |
" 41: 49894d30 (mov (mem64+ r13 #x30) rcx)" | |
" 45: 4983c538 (add r13 #x38)" | |
" 49: 49bcfbce084000000000 (mov r12 #x4008cefb) ; 'make-vector" | |
" 53: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 58: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 7f" | |
" 5f: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 63: 48c7c502000000 (mov rbp #x2)" | |
" 6a: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 6f: b000000000000000 (data)" | |
" 77: 1f1e000000000000 (data)" | |
" 7f: 4983ed38 (sub r13 #x38) ; <=" | |
" 83: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" 87: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 8b: 498b4d30 (mov rcx (mem64+ r13 #x30))" | |
" 8f: 4d8d61fd (lea r12 (mem+ r9 #x-3))" | |
" 93: 4983c130 (add r9 #x30)" | |
" 97: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 9b: 0f829d000000 (jb (+ rip #x9d)) ; => 13e" | |
" a1: 4c89e7 (mov rdi r12) ; <=" | |
" a4: 49b89054834400000000 (mov r8 #x44835490) ; #<code [>" | |
" ae: 4c894703 (mov (mem64+ rdi #x3) r8)" | |
" b2: 48894f0b (mov (mem64+ rdi #xb) rcx)" | |
" b6: 48896f13 (mov (mem64+ rdi #x13) rbp)" | |
" ba: 4889771b (mov (mem64+ rdi #x1b) rsi)" | |
" be: 48895723 (mov (mem64+ rdi #x23) rdx)" | |
" c2: 4989c8 (mov r8 rcx)" | |
" c5: 48c7c606000000 (mov rsi #x6)" | |
" cc: 49896d08 (mov (mem64+ r13 #x8) rbp)" | |
" d0: 4983c530 (add r13 #x30)" | |
" d4: 49bc2b61484200000000 (mov r12 #x4248612b) ; 'variable-set!/define" | |
" de: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" e3: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 10a" | |
" ea: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" ee: 48c7c503000000 (mov rbp #x3)" | |
" f5: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" fa: 3b01000000000000 (data)" | |
" 102: 9908000000000000 (data)" | |
" 10a: 4983ed30 (sub r13 #x30) ; <=" | |
" 10e: 498b6d08 (mov rbp (mem64+ r13 #x8))" | |
" 112: 4d8b4528 (mov r8 (mem64+ r13 #x28))" | |
" 116: 4889ef (mov rdi rbp)" | |
" 119: 48be9bbeea4000000000 (mov rsi #x40eabe9b) ; 'constant" | |
" 123: 49bc2b61484200000000 (mov r12 #x4248612b) ; 'variable-set!/define" | |
" 12d: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 132: 48c7c503000000 (mov rbp #x3)" | |
" 139: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 13e: 49e82cb3d3fb (call (+ rip #x-42c4cd4)) ; #<code get-room> ; <=" | |
" 144: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 14b: e951ffffff (jmp (+ rip #x-af)) ; => a1" | |
" 150: 49895518 (mov (mem64+ r13 #x18) rdx) ; <=" | |
" 154: 49897520 (mov (mem64+ r13 #x20) rsi)" | |
" 158: 49894d30 (mov (mem64+ r13 #x30) rcx)" | |
" 15c: 4983c538 (add r13 #x38)" | |
" 160: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 187" | |
" 167: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 16b: e9f0f9d5fb (jmp (+ rip #x-42a0610)) ; #<code event>" | |
" 170: 0f1f8000000000b8 (data)" | |
" 178: 010000000000001d (data)" | |
" 180: 1e000000000000 (data)" | |
" 187: 4983ed38 (sub r13 #x38) ; <=" | |
" 18b: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" 18f: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 193: 498b4d30 (mov rcx (mem64+ r13 #x30))" | |
" 197: e98ffeffff (jmp (+ rip #x-171)) ; => 2b" | |
" 19c: e8cfb7d3fb (call (+ rip #x-42c4831)) ; #<code dooverflow> ; <=" | |
" 1a1: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1a8: e973feffff (jmp (+ rip #x-18d)) ; => 20" | |
" 1ad: e92ec1d3fb (jmp (+ rip #x-42c3ed2)) ; #<code doargerr> ; <=" | |
" 1b2: 0f1f8000000000 (data)" | |
"") | |
. | |
#1=(....)))) | |
(begin-for-all | |
(define #0# | |
.... | |
(define || | |
(lambda (a0) | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f84b7010000 (jz (+ rip #x1b7)) ; => 1c2" | |
" b: 4883fd01 (cmp rbp #x1)" | |
" f: 0f85a1010000 (jnz (+ rip #x1a1)) ; => 1b6" | |
" 15: 4c89c6 (mov rsi r8)" | |
" 18: 4d897d08 (mov (mem64+ r13 #x8) r15)" | |
" 1c: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 20: 0f867f010000 (jbe (+ rip #x17f)) ; => 1a5" | |
" 26: 498b4d08 (mov rcx (mem64+ r13 #x8)) ; <=" | |
" 2a: 488b4923 (mov rcx (mem64+ rcx #x23))" | |
" 2e: 4c8b4109 (mov r8 (mem64+ rcx #x9))" | |
" 32: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 36: 488b491b (mov rcx (mem64+ rcx #x1b))" | |
" 3a: 488b4909 (mov rcx (mem64+ rcx #x9))" | |
" 3e: 4c89c2 (mov rdx r8)" | |
" 41: 4883e207 (and rdx #x7)" | |
" 45: 4883fa05 (cmp rdx #x5)" | |
" 49: 0f85f9000000 (jnz (+ rip #xf9)) ; => 148" | |
" 4f: 4d89c7 (mov r15 r8)" | |
" 52: 49c7452070000000 (mov (mem64+ r13 #x20) #x70) ; <=" | |
" 5a: 48ba5f2fce4300000000 (mov rdx #x43ce2f5f) ; '#(#:scope+kind macro #:scope+kind macro #:representative-scope module -1 #:representative-scope module 0 #:scope+kind macro #:scope+kind macro #:scope+kind macro #:scope+kind macro #:scope+kind module #:hasheq #:hasheq #:scope+kind macro #:scope+kind m..." | |
" 64: 49895528 (mov (mem64+ r13 #x28) rdx)" | |
" 68: 49c7453050000000 (mov (mem64+ r13 #x30) #x50)" | |
" 70: 48ba4f30ce4300000000 (mov rdx #x43ce304f) ; '#(#:multi-scope typed-again #:hasheqv 2 -1 #:ref 2 0 #:ref 3 #:seteq 1 #:shifted-multi-scope 0 #:ref 14 #:vector 3 #:seteq 2 #:ref 0 #:ref 1 #:ref 15 () #:vector 3 #:seteq 2 #:ref 5 #:ref 6 #:ref 15 () #:seteq 1 #:ref 8 #hasheq() #:cons #:cons #:mpi 9 ..." | |
" 7a: 49895538 (mov (mem64+ r13 #x38) rdx)" | |
" 7e: 48badf32ce4300000000 (mov rdx #x43ce32df) ; (vector #f '#:scope-fill! '#:hasheq 1 'fxabs2 '#:hash 1 '#:seteq 3 '#:ref 3 '#:ref 0 '#:ref 1 '#:module-binding '#:mpi 5 'fxabs2.1 0 '#:mpi 5 0 'fxabs2 0 #f #f '() '#:representative-scope-fill! '#:table-with-bulk-bindings '#:ref 19 '#:cons '#:bulk-bindi..." | |
" 88: 49895540 (mov (mem64+ r13 #x40) rdx)" | |
" 8c: 48ba7f40ce4300000000 (mov rdx #x43ce407f) ; (vector '#:vector 5 '#:syntax 'fxabs2 16 #f '#:syntax 'fxabs1 '#:vector 3 '#:seteq 2 '#:ref 0 '#:ref 4 '#:ref 15 '() #f '#:syntax 'fx+/wraparound4 17 #f '#:syntax 'fx+/wraparound3 '#:vector 3 '#:seteq 2 '#:ref 5 '#:ref 7 '#:ref 15 '() #f '#:syntax '#:ve..." | |
" 96: 49895548 (mov (mem64+ r13 #x48) rdx)" | |
" 9a: 4989c8 (mov r8 rcx)" | |
" 9d: 48c7c706000000 (mov rdi #x6)" | |
" a4: 4983c518 (add r13 #x18)" | |
" a8: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => ce" | |
" af: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" b3: 48c7c509000000 (mov rbp #x9)" | |
" ba: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" be: ff00000000000000 (data)" | |
" c6: 8f00000000000000 (data)" | |
" ce: 4983ed18 (sub r13 #x18) ; <=" | |
" d2: 4889ee (mov rsi rbp)" | |
" d5: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" d9: 4c8b4113 (mov r8 (mem64+ rcx #x13))" | |
" dd: 4831ff (xor rdi rdi)" | |
" e0: 4983c510 (add r13 #x10)" | |
" e4: 49bc2b00454200000000 (mov r12 #x4245002b) ; 'vector-copy!" | |
" ee: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" f3: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 11a" | |
" fa: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" fe: 48c7c503000000 (mov rbp #x3)" | |
" 105: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 10a: 4b01000000000000 (data)" | |
" 112: 8900000000000000 (data)" | |
" 11a: 4983ed10 (sub r13 #x10) ; <=" | |
" 11e: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 122: 4c8b410b (mov r8 (mem64+ rcx #xb))" | |
" 126: 48c7c706000000 (mov rdi #x6)" | |
" 12d: 49bccb60484200000000 (mov r12 #x424860cb) ; 'variable-set!" | |
" 137: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 13c: 48c7c502000000 (mov rbp #x2)" | |
" 143: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 148: 48c7c748000000 (mov rdi #x48) ; <=" | |
" 14f: 49897510 (mov (mem64+ r13 #x10) rsi)" | |
" 153: 49894d18 (mov (mem64+ r13 #x18) rcx)" | |
" 157: 4983c520 (add r13 #x20)" | |
" 15b: 49bc2b83454200000000 (mov r12 #x4245832b) ; 'slow-extract-procedure" | |
" 165: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 16a: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 191" | |
" 171: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 175: 48c7c502000000 (mov rbp #x2)" | |
" 17c: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 181: c201000000000000 (data)" | |
" 189: 9303000000000000 (data)" | |
" 191: 4983ed20 (sub r13 #x20) ; <=" | |
" 195: 4989ef (mov r15 rbp)" | |
" 198: 498b7510 (mov rsi (mem64+ r13 #x10))" | |
" 19c: 498b4d18 (mov rcx (mem64+ r13 #x18))" | |
" 1a0: e9adfeffff (jmp (+ rip #x-153)) ; => 52" | |
" 1a5: e8f6c883f8 (call (+ rip #x-77c370a)) ; #<code dooverflow> ; <=" | |
" 1aa: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1b1: e970feffff (jmp (+ rip #x-190)) ; => 26" | |
" 1b6: e955d283f8 (jmp (+ rip #x-77c2dab)) ; #<code doargerr> ; <=" | |
" 1bb: 0f1f8000000000 (data)" | |
" 1c2: e979f683f8 (jmp (+ rip #x-77c0987)) ; #<code event-detour> ; <=" | |
" 1c7: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 4883fd09 (cmp rbp #x9)" | |
" 4: 0f85a3010000 (jnz (+ rip #x1a3)) ; => 1ad" | |
" a: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" e: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 12: 498b4d30 (mov rcx (mem64+ r13 #x30))" | |
" 16: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 1a: 0f867c010000 (jbe (+ rip #x17c)) ; => 19c" | |
" 20: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 25: 0f8425010000 (jz (+ rip #x125)) ; => 150" | |
" 2b: 49c7c028000000 (mov r8 #x28) ; <=" | |
" 32: 48c7c706000000 (mov rdi #x6)" | |
" 39: 49895518 (mov (mem64+ r13 #x18) rdx)" | |
" 3d: 49897520 (mov (mem64+ r13 #x20) rsi)" | |
" 41: 49894d30 (mov (mem64+ r13 #x30) rcx)" | |
" 45: 4983c538 (add r13 #x38)" | |
" 49: 49bcfbce084000000000 (mov r12 #x4008cefb) ; 'make-vector" | |
" 53: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 58: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 7f" | |
" 5f: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 63: 48c7c502000000 (mov rbp #x2)" | |
" 6a: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 6f: b000000000000000 (data)" | |
" 77: 1f1e000000000000 (data)" | |
" 7f: 4983ed38 (sub r13 #x38) ; <=" | |
" 83: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" 87: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 8b: 498b4d30 (mov rcx (mem64+ r13 #x30))" | |
" 8f: 4d8d61fd (lea r12 (mem+ r9 #x-3))" | |
" 93: 4983c130 (add r9 #x30)" | |
" 97: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 9b: 0f829d000000 (jb (+ rip #x9d)) ; => 13e" | |
" a1: 4c89e7 (mov rdi r12) ; <=" | |
" a4: 49b87045d34700000000 (mov r8 #x47d34570) ; #<code [>" | |
" ae: 4c894703 (mov (mem64+ rdi #x3) r8)" | |
" b2: 48894f0b (mov (mem64+ rdi #xb) rcx)" | |
" b6: 48896f13 (mov (mem64+ rdi #x13) rbp)" | |
" ba: 4889771b (mov (mem64+ rdi #x1b) rsi)" | |
" be: 48895723 (mov (mem64+ rdi #x23) rdx)" | |
" c2: 4989c8 (mov r8 rcx)" | |
" c5: 48c7c606000000 (mov rsi #x6)" | |
" cc: 49896d08 (mov (mem64+ r13 #x8) rbp)" | |
" d0: 4983c530 (add r13 #x30)" | |
" d4: 49bc2b61484200000000 (mov r12 #x4248612b) ; 'variable-set!/define" | |
" de: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" e3: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 10a" | |
" ea: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" ee: 48c7c503000000 (mov rbp #x3)" | |
" f5: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" fa: 3b01000000000000 (data)" | |
" 102: 9908000000000000 (data)" | |
" 10a: 4983ed30 (sub r13 #x30) ; <=" | |
" 10e: 498b6d08 (mov rbp (mem64+ r13 #x8))" | |
" 112: 4d8b4528 (mov r8 (mem64+ r13 #x28))" | |
" 116: 4889ef (mov rdi rbp)" | |
" 119: 48be9bbeea4000000000 (mov rsi #x40eabe9b) ; 'constant" | |
" 123: 49bc2b61484200000000 (mov r12 #x4248612b) ; 'variable-set!/define" | |
" 12d: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 132: 48c7c503000000 (mov rbp #x3)" | |
" 139: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 13e: 49e85cc683f8 (call (+ rip #x-77c39a4)) ; #<code get-room> ; <=" | |
" 144: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 14b: e951ffffff (jmp (+ rip #x-af)) ; => a1" | |
" 150: 49895518 (mov (mem64+ r13 #x18) rdx) ; <=" | |
" 154: 49897520 (mov (mem64+ r13 #x20) rsi)" | |
" 158: 49894d30 (mov (mem64+ r13 #x30) rcx)" | |
" 15c: 4983c538 (add r13 #x38)" | |
" 160: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 187" | |
" 167: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 16b: e9200d86f8 (jmp (+ rip #x-779f2e0)) ; #<code event>" | |
" 170: 0f1f8000000000b8 (data)" | |
" 178: 010000000000001d (data)" | |
" 180: 1e000000000000 (data)" | |
" 187: 4983ed38 (sub r13 #x38) ; <=" | |
" 18b: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" 18f: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 193: 498b4d30 (mov rcx (mem64+ r13 #x30))" | |
" 197: e98ffeffff (jmp (+ rip #x-171)) ; => 2b" | |
" 19c: e8ffca83f8 (call (+ rip #x-77c3501)) ; #<code dooverflow> ; <=" | |
" 1a1: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1a8: e973feffff (jmp (+ rip #x-18d)) ; => 20" | |
" 1ad: e95ed483f8 (jmp (+ rip #x-77c2ba2)) ; #<code doargerr> ; <=" | |
" 1b2: 0f1f8000000000 (data)" | |
"") | |
. | |
#1#))) | |
(module (example configure-runtime) .... | |
(require '#%kernel (lib "racket/runtime-config.rkt")) | |
(provide) | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 7476 (jz (+ rip #x76)) ; => 7d" | |
" 7: 4883fd04 (cmp rbp #x4)" | |
" b: 7564 (jnz (+ rip #x64)) ; => 71" | |
" d: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 11: 7650 (jbe (+ rip #x50)) ; => 63" | |
" 13: 49c7c00e000000 (mov r8 #xe) ; <=" | |
" 1a: 4983c508 (add r13 #x8)" | |
" 1e: 49bccbbe404200000000 (mov r12 #x4240becb) ; '1/print-as-expression" | |
" 28: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 2d: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 54" | |
" 34: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 38: 48c7c501000000 (mov rbp #x1)" | |
" 3f: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 44: 8500000000000000 (data)" | |
" 4c: 0500000000000000 (data)" | |
" 54: 4983ed08 (sub r13 #x8) ; <=" | |
" 58: 48c7c52e000000 (mov rbp #x2e)" | |
" 5f: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 63: e858ba83f8 (call (+ rip #x-77c45a8)) ; #<code dooverflow> ; <=" | |
" 68: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 6f: eba2 (jmp (+ rip #x-5e)) ; => 13" | |
" 71: e9bac383f8 (jmp (+ rip #x-77c3c46)) ; #<code doargerr> ; <=" | |
" 76: 0f1f8000000000 (data)" | |
" 7d: e9dee783f8 (jmp (+ rip #x-77c1822)) ; #<code event-detour> ; <=" | |
" 82: 0f1f8000000000 (data)" | |
"")) | |
(module (example typed) .... | |
(require (lib "typed/racket/base.rkt") | |
(lib "typed/racket/unsafe.rkt") | |
(lib "racket/unsafe/ops.rkt") | |
(lib "typed/racket/base.rkt") | |
(lib "typed/racket/unsafe.rkt") | |
(lib "racket/unsafe/ops.rkt") | |
(for-syntax | |
(lib "typed-racket/utils/redirect-contract.rkt") | |
(submod "." #%contract-defs-reference))) | |
(provide) | |
(define typed-clever | |
(lambda (a0) | |
"/app/compiled/example.rkt:93:3" | |
(#%assembly-code | |
" 0: 4883fd01 (cmp rbp #x1)" | |
" 4: 0f85aa000000 (jnz (+ rip #xaa)) ; => b4" | |
" a: 41f6c007 (test r8b #x7)" | |
" e: 0f8599000000 (jnz (+ rip #x99)) ; => ad" | |
" 14: 4983f800 (cmp r8 #x0)" | |
" 18: 0f8e8f000000 (jle (+ rip #x8f)) ; => ad" | |
" 1e: 48c7c208000000 (mov rdx #x8)" | |
" 25: 4831c9 (xor rcx rcx)" | |
" 28: 4889d5 (mov rbp rdx) ; <=" | |
" 2b: 4983f800 (cmp r8 #x0)" | |
" 2f: 7475 (jz (+ rip #x75)) ; => a6" | |
" 31: 4983f808 (cmp r8 #x8)" | |
" 35: 746b (jz (+ rip #x6b)) ; => a2" | |
" 37: 488d540d00 (lea rdx (mem+ rbp #x0 (* rcx #x1)))" | |
" 3c: 4883fa00 (cmp rdx #x0)" | |
" 40: 7e59 (jle (+ rip #x59)) ; => 9b" | |
" 42: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 47: 7409 (jz (+ rip #x9)) ; => 52" | |
" 49: 4889e9 (mov rcx rbp) ; <=" | |
" 4c: 4983c0f8 (add r8 #xfffffffffffffff8)" | |
" 50: ebd6 (jmp (+ rip #x-2a)) ; => 28" | |
" 52: 4d894508 (mov (mem64+ r13 #x8) r8) ; <=" | |
" 56: 49896d10 (mov (mem64+ r13 #x10) rbp)" | |
" 5a: 49895518 (mov (mem64+ r13 #x18) rdx)" | |
" 5e: 4983c520 (add r13 #x20)" | |
" 62: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 89" | |
" 69: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 6d: e98eef85f8 (jmp (+ rip #x-77a1072)) ; #<code event>" | |
" 72: 0f1f8000000000ba (data)" | |
" 7a: 0000000000000091 (data)" | |
" 82: 03000000000000 (data)" | |
" 89: 4983ed20 (sub r13 #x20) ; <=" | |
" 8d: 4d8b4508 (mov r8 (mem64+ r13 #x8))" | |
" 91: 498b6d10 (mov rbp (mem64+ r13 #x10))" | |
" 95: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" 99: ebae (jmp (+ rip #x-52)) ; => 49" | |
" 9b: 4831ed (xor rbp rbp) ; <=" | |
" 9e: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" a2: 41ff6500 (jmp (mem64+ r13 #x0)) ; <=" | |
" a6: 4889cd (mov rbp rcx) ; <=" | |
" a9: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" ad: 4831ed (xor rbp rbp) ; <=" | |
" b0: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" b4: e987b183f8 (jmp (+ rip #x-77c4e79)) ; #<code doargerr> ; <=" | |
" b9: 0f1f8000000000 (data)" | |
""))) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f8484000000 (jz (+ rip #x84)) ; => 8f" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 7572 (jnz (+ rip #x72)) ; => 83" | |
" 11: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 15: 765e (jbe (+ rip #x5e)) ; => 75" | |
" 17: 4d8b470b (mov r8 (mem64+ r15 #xb)) ; <=" | |
" 1b: 4d897d08 (mov (mem64+ r13 #x8) r15)" | |
" 1f: 4983c510 (add r13 #x10)" | |
" 23: 4d8b7f13 (mov r15 (mem64+ r15 #x13))" | |
" 27: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 4d" | |
" 2e: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 32: 48c7c501000000 (mov rbp #x1)" | |
" 39: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 3d: 7e00000000000000 (data)" | |
" 45: 8b00000000000000 (data)" | |
" 4d: 4983ed10 (sub r13 #x10) ; <=" | |
" 51: 4d8b7d08 (mov r15 (mem64+ r13 #x8))" | |
" 55: 4989e8 (mov r8 rbp)" | |
" 58: 48c7c726000000 (mov rdi #x26)" | |
" 5f: 48c7c606000000 (mov rsi #x6)" | |
" 66: 4d8b7f1b (mov r15 (mem64+ r15 #x1b))" | |
" 6a: 48c7c503000000 (mov rbp #x3)" | |
" 71: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 75: e836a983f8 (call (+ rip #x-77c56ca)) ; #<code dooverflow> ; <=" | |
" 7a: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 81: eb94 (jmp (+ rip #x-6c)) ; => 17" | |
" 83: e998b283f8 (jmp (+ rip #x-77c4d68)) ; #<code doargerr> ; <=" | |
" 88: 0f1f8000000000 (data)" | |
" 8f: e9bcd683f8 (jmp (+ rip #x-77c2944)) ; #<code event-detour> ; <=" | |
" 94: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 4883fd09 (cmp rbp #x9)" | |
" 4: 0f85bf010000 (jnz (+ rip #x1bf)) ; => 1c9" | |
" a: 4c89c1 (mov rcx r8)" | |
" d: 498b7d08 (mov rdi (mem64+ r13 #x8))" | |
" 11: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 15: 498b5528 (mov rdx (mem64+ r13 #x28))" | |
" 19: 498b7530 (mov rsi (mem64+ r13 #x30))" | |
" 1d: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 21: 0f8691010000 (jbe (+ rip #x191)) ; => 1b8" | |
" 27: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 2c: 0f842a010000 (jz (+ rip #x12a)) ; => 15c" | |
" 32: 4d8d61fd (lea r12 (mem+ r9 #x-3)) ; <=" | |
" 36: 4983c120 (add r9 #x20)" | |
" 3a: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 3e: 0f8206010000 (jb (+ rip #x106)) ; => 14a" | |
" 44: 4d89e0 (mov r8 r12) ; <=" | |
" 47: 49bb6066d34700000000 (mov r11 #x47d36660) ; #<code>" | |
" 51: 4d895803 (mov (mem64+ r8 #x3) r11)" | |
" 55: 4989480b (mov (mem64+ r8 #xb) rcx)" | |
" 59: 4d897813 (mov (mem64+ r8 #x13) r15)" | |
" 5d: 4989781b (mov (mem64+ r8 #x1b) rdi)" | |
" 61: 49897538 (mov (mem64+ r13 #x38) rsi)" | |
" 65: 48bf59c7424100000000 (mov rdi #x4142c759) ; '(blame3.1)" | |
" 6f: 48be19c8424100000000 (mov rsi #x4142c819) ; '(constant)" | |
" 79: 49895528 (mov (mem64+ r13 #x28) rdx)" | |
" 7d: 4983c530 (add r13 #x30)" | |
" 81: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 8b: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 90: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => b7" | |
" 97: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 9b: 48c7c504000000 (mov rbp #x4)" | |
" a2: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" a7: e800000000000000 (data)" | |
" af: 190c000000000000 (data)" | |
" b7: 4983ed30 (sub r13 #x30) ; <=" | |
" bb: 498b5528 (mov rdx (mem64+ r13 #x28))" | |
" bf: 4989d0 (mov r8 rdx)" | |
" c2: 48b980eb054000000000 (mov rcx #x4005eb80) ; 'fx+/wraparound" | |
" cc: 488b39 (mov rdi (mem64+ rcx))" | |
" cf: 48be9bbeea4000000000 (mov rsi #x40eabe9b) ; 'constant" | |
" d9: 4983c528 (add r13 #x28)" | |
" dd: 49bc2b61484200000000 (mov r12 #x4248612b) ; 'variable-set!/define" | |
" e7: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" ec: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 113" | |
" f3: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" f7: 48c7c503000000 (mov rbp #x3)" | |
" fe: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 103: 4401000000000000 (data)" | |
" 10b: 1504000000000000 (data)" | |
" 113: 4983ed28 (sub r13 #x28) ; <=" | |
" 117: 4d8b4520 (mov r8 (mem64+ r13 #x20))" | |
" 11b: 48bf3dc9424100000000 (mov rdi #x4142c93d) ; #<procedure:typed-clever>" | |
" 125: 48be4b6e484200000000 (mov rsi #x42486e4b) ; 'consistent" | |
" 12f: 49bc2b61484200000000 (mov r12 #x4248612b) ; 'variable-set!/define" | |
" 139: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 13e: 48c7c503000000 (mov rbp #x3)" | |
" 145: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 14a: 49e880a583f8 (call (+ rip #x-77c5a80)) ; #<code get-room> ; <=" | |
" 150: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 157: e9e8feffff (jmp (+ rip #x-118)) ; => 44" | |
" 15c: 49894d18 (mov (mem64+ r13 #x18) rcx) ; <=" | |
" 160: 49897d08 (mov (mem64+ r13 #x8) rdi)" | |
" 164: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 168: 49895528 (mov (mem64+ r13 #x28) rdx)" | |
" 16c: 49897530 (mov (mem64+ r13 #x30) rsi)" | |
" 170: 4983c538 (add r13 #x38)" | |
" 174: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 19b" | |
" 17b: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 17f: e93cec85f8 (jmp (+ rip #x-77a13c4)) ; #<code event>" | |
" 184: 0f1f8000000000cc (data)" | |
" 18c: 010000000000009d (data)" | |
" 194: 1f000000000000 (data)" | |
" 19b: 4983ed38 (sub r13 #x38) ; <=" | |
" 19f: 498b4d18 (mov rcx (mem64+ r13 #x18))" | |
" 1a3: 498b7d08 (mov rdi (mem64+ r13 #x8))" | |
" 1a7: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 1ab: 498b5528 (mov rdx (mem64+ r13 #x28))" | |
" 1af: 498b7530 (mov rsi (mem64+ r13 #x30))" | |
" 1b3: e97afeffff (jmp (+ rip #x-186)) ; => 32" | |
" 1b8: e813aa83f8 (call (+ rip #x-77c55ed)) ; #<code dooverflow> ; <=" | |
" 1bd: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1c4: e95efeffff (jmp (+ rip #x-1a2)) ; => 27" | |
" 1c9: e972b383f8 (jmp (+ rip #x-77c4c8e)) ; #<code doargerr> ; <=" | |
" 1ce: 0f1f8000000000 (data)" | |
"") | |
(begin-for-syntax | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f8417020000 (jz (+ rip #x217)) ; => 222" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 0f8501020000 (jnz (+ rip #x201)) ; => 216" | |
" 15: 4d897d08 (mov (mem64+ r13 #x8) r15)" | |
" 19: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 1d: 0f86e2010000 (jbe (+ rip #x1e2)) ; => 205" | |
" 23: 4d31c0 (xor r8 r8) ; <=" | |
" 26: 4983c510 (add r13 #x10)" | |
" 2a: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 2e: 4c8b7913 (mov r15 (mem64+ rcx #x13))" | |
" 32: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 58" | |
" 39: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 3d: 48c7c501000000 (mov rbp #x1)" | |
" 44: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 48: 8900000000000000 (data)" | |
" 50: 8b00000000000000 (data)" | |
" 58: 4983ed10 (sub r13 #x10) ; <=" | |
" 5c: 4989e8 (mov r8 rbp)" | |
" 5f: 48bf6b3b4f4200000000 (mov rdi #x424f3b6b) ; 'not-free-identifier=?" | |
" 69: 48c7c60e000000 (mov rsi #xe)" | |
" 70: 4983c510 (add r13 #x10)" | |
" 74: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 78: 4c8b791b (mov r15 (mem64+ rcx #x1b))" | |
" 7c: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => a2" | |
" 83: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 87: 48c7c503000000 (mov rbp #x3)" | |
" 8e: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 92: d300000000000000 (data)" | |
" 9a: 8b00000000000000 (data)" | |
" a2: 4983ed10 (sub r13 #x10) ; <=" | |
" a6: 4889e9 (mov rcx rbp)" | |
" a9: 49c7c008000000 (mov r8 #x8)" | |
" b0: 49894d10 (mov (mem64+ r13 #x10) rcx)" | |
" b4: 4983c518 (add r13 #x18)" | |
" b8: 498b4df0 (mov rcx (mem64+ r13 #x-10))" | |
" bc: 4c8b7913 (mov r15 (mem64+ rcx #x13))" | |
" c0: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => e6" | |
" c7: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" cb: 48c7c501000000 (mov rbp #x1)" | |
" d2: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" d6: 1701000000000000 (data)" | |
" de: 8f01000000000000 (data)" | |
" e6: 4983ed18 (sub r13 #x18) ; <=" | |
" ea: 498b4d10 (mov rcx (mem64+ r13 #x10))" | |
" ee: 4889ee (mov rsi rbp)" | |
" f1: 4989c8 (mov r8 rcx)" | |
" f4: 48bffb7fda4800000000 (mov rdi #x48da7ffb) ; 'original-name" | |
" fe: 4983c510 (add r13 #x10)" | |
" 102: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 106: 4c8b791b (mov r15 (mem64+ rcx #x1b))" | |
" 10a: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 130" | |
" 111: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 115: 48c7c503000000 (mov rbp #x3)" | |
" 11c: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 120: 6101000000000000 (data)" | |
" 128: 8b00000000000000 (data)" | |
" 130: 4983ed10 (sub r13 #x10) ; <=" | |
" 134: 4989e8 (mov r8 rbp)" | |
" 137: 48bfcbc21b4600000000 (mov rdi #x461bc2cb) ; 'not-provide-all-defined" | |
" 141: 48c7c60e000000 (mov rsi #xe)" | |
" 148: 4983c510 (add r13 #x10)" | |
" 14c: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 150: 4c8b791b (mov r15 (mem64+ rcx #x1b))" | |
" 154: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 17a" | |
" 15b: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 15f: 48c7c503000000 (mov rbp #x3)" | |
" 166: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 16a: ab01000000000000 (data)" | |
" 172: 8b00000000000000 (data)" | |
" 17a: 4983ed10 (sub r13 #x10) ; <=" | |
" 17e: 4989e8 (mov r8 rbp)" | |
" 181: 4983c510 (add r13 #x10)" | |
" 185: 498b4df8 (mov rcx (mem64+ r13 #x-8))" | |
" 189: 4c8b7923 (mov r15 (mem64+ rcx #x23))" | |
" 18d: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 1b3" | |
" 194: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 198: 48c7c501000000 (mov rbp #x1)" | |
" 19f: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 1a3: e401000000000000 (data)" | |
" 1ab: 8b00000000000000 (data)" | |
" 1b3: 4983ed10 (sub r13 #x10) ; <=" | |
" 1b7: 4889ef (mov rdi rbp)" | |
" 1ba: 49b87beb054000000000 (mov r8 #x4005eb7b) ; 'fx+/wraparound" | |
" 1c4: 4983c508 (add r13 #x8)" | |
" 1c8: 498b4d00 (mov rcx (mem64+ r13 #x0))" | |
" 1cc: 4c8b790b (mov r15 (mem64+ rcx #xb))" | |
" 1d0: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 1f6" | |
" 1d7: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 1db: 48c7c502000000 (mov rbp #x2)" | |
" 1e2: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 1e6: 2702000000000000 (data)" | |
" 1ee: 0500000000000000 (data)" | |
" 1f6: 4983ed08 (sub r13 #x8) ; <=" | |
" 1fa: 48c7c52e000000 (mov rbp #x2e)" | |
" 201: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 205: e8b69883f8 (call (+ rip #x-77c674a)) ; #<code dooverflow> ; <=" | |
" 20a: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 211: e90dfeffff (jmp (+ rip #x-1f3)) ; => 23" | |
" 216: e915a283f8 (jmp (+ rip #x-77c5deb)) ; #<code doargerr> ; <=" | |
" 21b: 0f1f8000000000 (data)" | |
" 222: e939c683f8 (jmp (+ rip #x-77c39c7)) ; #<code event-detour> ; <=" | |
" 227: 0f1f8000000000 (data)" | |
""))) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 7425 (jz (+ rip #x25)) ; => 2c" | |
" 7: 4883fd00 (cmp rbp #x0)" | |
" b: 7513 (jnz (+ rip #x13)) ; => 20" | |
" d: 4d8b470b (mov r8 (mem64+ r15 #xb))" | |
" 11: 4d8b7f13 (mov r15 (mem64+ r15 #x13))" | |
" 15: 48c7c501000000 (mov rbp #x1)" | |
" 1c: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 20: e9bbc0d3fb (jmp (+ rip #x-42c3f45)) ; #<code doargerr> ; <=" | |
" 25: 0f1f8000000000 (data)" | |
" 2c: e9dfe4d3fb (jmp (+ rip #x-42c1b21)) ; #<code event-detour> ; <=" | |
" 31: 0f1f8000000000 (data)" | |
""))) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 7476 (jz (+ rip #x76)) ; => 7d" | |
" 7: 4883fd00 (cmp rbp #x0)" | |
" b: 7564 (jnz (+ rip #x64)) ; => 71" | |
" d: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 11: 7650 (jbe (+ rip #x50)) ; => 63" | |
" 13: 4d8b470b (mov r8 (mem64+ r15 #xb)) ; <=" | |
" 17: 4d897d08 (mov (mem64+ r13 #x8) r15)" | |
" 1b: 4983c510 (add r13 #x10)" | |
" 1f: 4d8b7f13 (mov r15 (mem64+ r15 #x13))" | |
" 23: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 49" | |
" 2a: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 2e: 48c7c501000000 (mov rbp #x1)" | |
" 35: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 39: 7a00000000000000 (data)" | |
" 41: 8b00000000000000 (data)" | |
" 49: 4983ed10 (sub r13 #x10) ; <=" | |
" 4d: 4d8b7d08 (mov r15 (mem64+ r13 #x8))" | |
" 51: 4989e8 (mov r8 rbp)" | |
" 54: 4d8b7f1b (mov r15 (mem64+ r15 #x1b))" | |
" 58: 48c7c501000000 (mov rbp #x1)" | |
" 5f: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 63: e888b6d3fb (call (+ rip #x-42c4978)) ; #<code dooverflow> ; <=" | |
" 68: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 6f: eba2 (jmp (+ rip #x-5e)) ; => 13" | |
" 71: e9eabfd3fb (jmp (+ rip #x-42c4016)) ; #<code doargerr> ; <=" | |
" 76: 0f1f8000000000 (data)" | |
" 7d: e90ee4d3fb (jmp (+ rip #x-42c1bf2)) ; #<code event-detour> ; <=" | |
" 82: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 4883fd0a (cmp rbp #xa)" | |
" 4: 0f856d020000 (jnz (+ rip #x26d)) ; => 277" | |
" a: 4d89c7 (mov r15 r8)" | |
" d: 49897d48 (mov (mem64+ r13 #x48) rdi)" | |
" 11: 49897550 (mov (mem64+ r13 #x50) rsi)" | |
" 15: 498b7d08 (mov rdi (mem64+ r13 #x8))" | |
" 19: 498b5510 (mov rdx (mem64+ r13 #x10))" | |
" 1d: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" 21: 4d8b5d30 (mov r11 (mem64+ r13 #x30))" | |
" 25: 498b4d38 (mov rcx (mem64+ r13 #x38))" | |
" 29: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 2d: 0f8633020000 (jbe (+ rip #x233)) ; => 266" | |
" 33: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 38: 0f84c4010000 (jz (+ rip #x1c4)) ; => 202" | |
" 3e: 4d8d61fd (lea r12 (mem+ r9 #x-3)) ; <=" | |
" 42: 4983c120 (add r9 #x20)" | |
" 46: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 4a: 0f82a0010000 (jb (+ rip #x1a0)) ; => 1f0" | |
" 50: 4d89e0 (mov r8 r12) ; <=" | |
" 53: 49ba2059834400000000 (mov r10 #x44835920) ; #<code>" | |
" 5d: 4d895003 (mov (mem64+ r8 #x3) r10)" | |
" 61: 4d89780b (mov (mem64+ r8 #xb) r15)" | |
" 65: 4d895813 (mov (mem64+ r8 #x13) r11)" | |
" 69: 4989781b (mov (mem64+ r8 #x1b) rdi)" | |
" 6d: 49895510 (mov (mem64+ r13 #x10) rdx)" | |
" 71: 49897518 (mov (mem64+ r13 #x18) rsi)" | |
" 75: 49894d38 (mov (mem64+ r13 #x38) rcx)" | |
" 79: 4983c558 (add r13 #x58)" | |
" 7d: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 87: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 8c: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => b3" | |
" 93: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 97: 48c7c501000000 (mov rbp #x1)" | |
" 9e: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" a3: e400000000000000 (data)" | |
" ab: 2daf010000000000 (data)" | |
" b3: 4983ed58 (sub r13 #x58) ; <=" | |
" b7: 498b5510 (mov rdx (mem64+ r13 #x10))" | |
" bb: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" bf: 498b4d38 (mov rcx (mem64+ r13 #x38))" | |
" c3: 4d8d61fd (lea r12 (mem+ r9 #x-3))" | |
" c7: 4983c120 (add r9 #x20)" | |
" cb: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" cf: 0f8209010000 (jb (+ rip #x109)) ; => 1de" | |
" d5: 4d89e0 (mov r8 r12) ; <=" | |
" d8: 48bfa058834400000000 (mov rdi #x448358a0) ; #<code>" | |
" e2: 49897803 (mov (mem64+ r8 #x3) rdi)" | |
" e6: 4989700b (mov (mem64+ r8 #xb) rsi)" | |
" ea: 49895013 (mov (mem64+ r8 #x13) rdx)" | |
" ee: 49894d60 (mov (mem64+ r13 #x60) rcx)" | |
" f2: 48bf29f83c4800000000 (mov rdi #x483cf829) ; '(make-redirect4.1)" | |
" fc: 48be19f83c4800000000 (mov rsi #x483cf819) ; '(constant)" | |
" 106: 4983c558 (add r13 #x58)" | |
" 10a: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 114: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 119: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 140" | |
" 120: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 124: 48c7c504000000 (mov rbp #x4)" | |
" 12b: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 130: 7101000000000000 (data)" | |
" 138: 2d8c010000000000 (data)" | |
" 140: 4983ed58 (sub r13 #x58) ; <=" | |
" 144: 4d8d61fd (lea r12 (mem+ r9 #x-3))" | |
" 148: 4983c130 (add r9 #x30)" | |
" 14c: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 150: 727a (jb (+ rip #x7a)) ; => 1cc" | |
" 152: 4d89e0 (mov r8 r12) ; <=" | |
" 155: 48b9f059834400000000 (mov rcx #x448359f0) ; #<code>" | |
" 15f: 49894803 (mov (mem64+ r8 #x3) rcx)" | |
" 163: 498b4d50 (mov rcx (mem64+ r13 #x50))" | |
" 167: 4989480b (mov (mem64+ r8 #xb) rcx)" | |
" 16b: 498b4d48 (mov rcx (mem64+ r13 #x48))" | |
" 16f: 49894813 (mov (mem64+ r8 #x13) rcx)" | |
" 173: 498b4d20 (mov rcx (mem64+ r13 #x20))" | |
" 177: 4989481b (mov (mem64+ r8 #x1b) rcx)" | |
" 17b: 498b4d28 (mov rcx (mem64+ r13 #x28))" | |
" 17f: 49894823 (mov (mem64+ r8 #x23) rcx)" | |
" 183: 4983c508 (add r13 #x8)" | |
" 187: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 191: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 196: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 1bd" | |
" 19d: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 1a1: 48c7c501000000 (mov rbp #x1)" | |
" 1a8: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 1ad: ee01000000000000 (data)" | |
" 1b5: 0500000000000000 (data)" | |
" 1bd: 4983ed08 (sub r13 #x8) ; <=" | |
" 1c1: 48c7c52e000000 (mov rbp #x2e)" | |
" 1c8: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 1cc: 49e8deacd3fb (call (+ rip #x-42c5322)) ; #<code get-room> ; <=" | |
" 1d2: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1d9: e974ffffff (jmp (+ rip #x-8c)) ; => 152" | |
" 1de: 49e8ccacd3fb (call (+ rip #x-42c5334)) ; #<code get-room> ; <=" | |
" 1e4: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1eb: e9e5feffff (jmp (+ rip #x-11b)) ; => d5" | |
" 1f0: 49e8baacd3fb (call (+ rip #x-42c5346)) ; #<code get-room> ; <=" | |
" 1f6: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1fd: e94efeffff (jmp (+ rip #x-1b2)) ; => 50" | |
" 202: 4d897d40 (mov (mem64+ r13 #x40) r15) ; <=" | |
" 206: 49897d08 (mov (mem64+ r13 #x8) rdi)" | |
" 20a: 49895510 (mov (mem64+ r13 #x10) rdx)" | |
" 20e: 49897518 (mov (mem64+ r13 #x18) rsi)" | |
" 212: 4d895d30 (mov (mem64+ r13 #x30) r11)" | |
" 216: 49894d38 (mov (mem64+ r13 #x38) rcx)" | |
" 21a: 4983c558 (add r13 #x58)" | |
" 21e: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 245" | |
" 225: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 229: e972f3d5fb (jmp (+ rip #x-42a0c8e)) ; #<code event>" | |
" 22e: 0f1f800000000076 (data)" | |
" 236: 02000000000000ad (data)" | |
" 23e: ff010000000000 (data)" | |
" 245: 4983ed58 (sub r13 #x58) ; <=" | |
" 249: 4d8b7d40 (mov r15 (mem64+ r13 #x40))" | |
" 24d: 498b7d08 (mov rdi (mem64+ r13 #x8))" | |
" 251: 498b5510 (mov rdx (mem64+ r13 #x10))" | |
" 255: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" 259: 4d8b5d30 (mov r11 (mem64+ r13 #x30))" | |
" 25d: 498b4d38 (mov rcx (mem64+ r13 #x38))" | |
" 261: e9d8fdffff (jmp (+ rip #x-228)) ; => 3e" | |
" 266: e845b1d3fb (call (+ rip #x-42c4ebb)) ; #<code dooverflow> ; <=" | |
" 26b: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 272: e9bcfdffff (jmp (+ rip #x-244)) ; => 33" | |
" 277: e9a4bad3fb (jmp (+ rip #x-42c455c)) ; #<code doargerr> ; <=" | |
" 27c: 0f1f8000000000 (data)" | |
"")) | |
(module (example typed #%contract-defs-reference) .... | |
(require (lib "racket/base.rkt") | |
(lib "racket/runtime-path.rkt") | |
(for-syntax (lib "racket/base.rkt"))) | |
(provide contract-defs-submod) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f8439010000 (jz (+ rip #x139)) ; => 144" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 0f8523010000 (jnz (+ rip #x123)) ; => 138" | |
" 15: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 19: 0f8608010000 (jbe (+ rip #x108)) ; => 127" | |
" 1f: 498b5713 (mov rdx (mem64+ r15 #x13)) ; <=" | |
" 23: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 27: 4983c130 (add r9 #x30)" | |
" 2b: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 2f: 0f82e0000000 (jb (+ rip #xe0)) ; => 115" | |
" 35: 48b9cb29de4000000000 (mov rcx #x40de29cb) ; 'module ; <=" | |
" 3f: 49894c2407 (mov (mem64+ r12 #x7) rcx)" | |
" 44: 498d4c2410 (lea rcx (mem+ r12 #x10))" | |
" 49: 49894c240f (mov (mem64+ r12 #xf) rcx)" | |
" 4e: 48b97958444400000000 (mov rcx #x44445879) ; '(submod \"..\" #%contract-defs)" | |
" 58: 49894c2417 (mov (mem64+ r12 #x17) rcx)" | |
" 5d: 498d4c2420 (lea rcx (mem+ r12 #x20))" | |
" 62: 49894c241f (mov (mem64+ r12 #x1f) rcx)" | |
" 67: 4989542427 (mov (mem64+ r12 #x27) rdx)" | |
" 6c: 49c744242f26000000 (mov (mem64+ r12 #x2f) #x26)" | |
" 75: 4c89e1 (mov rcx r12)" | |
" 78: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 7c: 4983c110 (add r9 #x10)" | |
" 80: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 84: 727d (jb (+ rip #x7d)) ; => 103" | |
" 86: 4c89e6 (mov rsi r12) ; <=" | |
" 89: 48894e07 (mov (mem64+ rsi #x7) rcx)" | |
" 8d: 48c7460f26000000 (mov (mem64+ rsi #xf) #x26)" | |
" 95: 4d8b4713 (mov r8 (mem64+ r15 #x13))" | |
" 99: 48b9f05e3e4200000000 (mov rcx #x423e5ef0) ; 'void" | |
" a3: 488b39 (mov rdi (mem64+ rcx))" | |
" a6: 4983c508 (add r13 #x8)" | |
" aa: 4d8b7f0b (mov r15 (mem64+ r15 #xb))" | |
" ae: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => d4" | |
" b5: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" b9: 48c7c503000000 (mov rbp #x3)" | |
" c0: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" c4: 0501000000000000 (data)" | |
" cc: 0700000000000000 (data)" | |
" d4: 4983ed08 (sub r13 #x8) ; <=" | |
" d8: 4889ef (mov rdi rbp)" | |
" db: 48b9e0d0084000000000 (mov rcx #x4008d0e0) ; 'values" | |
" e5: 4c8b01 (mov r8 (mem64+ rcx))" | |
" e8: 49bc0b42444200000000 (mov r12 #x4244420b) ; 'apply" | |
" f2: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" f7: 48c7c502000000 (mov rbp #x2)" | |
" fe: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 103: 49e8b7b683f8 (call (+ rip #x-77c4949)) ; #<code get-room> ; <=" | |
" 109: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 110: e971ffffff (jmp (+ rip #x-8f)) ; => 86" | |
" 115: 49e8a5b683f8 (call (+ rip #x-77c495b)) ; #<code get-room> ; <=" | |
" 11b: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 122: e90effffff (jmp (+ rip #x-f2)) ; => 35" | |
" 127: e894bb83f8 (call (+ rip #x-77c446c)) ; #<code dooverflow> ; <=" | |
" 12c: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 133: e9e7feffff (jmp (+ rip #x-119)) ; => 1f" | |
" 138: e9f3c483f8 (jmp (+ rip #x-77c3b0d)) ; #<code doargerr> ; <=" | |
" 13d: 0f1f8000000000 (data)" | |
" 144: e917e983f8 (jmp (+ rip #x-77c16e9)) ; #<code event-detour> ; <=" | |
" 149: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 4883fd05 (cmp rbp #x5)" | |
" 4: 0f8517010000 (jnz (+ rip #x117)) ; => 121" | |
" a: 4c89c1 (mov rcx r8)" | |
" d: 498b7508 (mov rsi (mem64+ r13 #x8))" | |
" 11: 498b5510 (mov rdx (mem64+ r13 #x10))" | |
" 15: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 19: 0f86f1000000 (jbe (+ rip #xf1)) ; => 110" | |
" 1f: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 24: 0f849a000000 (jz (+ rip #x9a)) ; => c4" | |
" 2a: 4d8d61fd (lea r12 (mem+ r9 #x-3)) ; <=" | |
" 2e: 4983c120 (add r9 #x20)" | |
" 32: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 36: 727a (jb (+ rip #x7a)) ; => b2" | |
" 38: 4d89e0 (mov r8 r12) ; <=" | |
" 3b: 48bf5053d34700000000 (mov rdi #x47d35350) ; #<code>" | |
" 45: 49897803 (mov (mem64+ r8 #x3) rdi)" | |
" 49: 4989700b (mov (mem64+ r8 #xb) rsi)" | |
" 4d: 49894813 (mov (mem64+ r8 #x13) rcx)" | |
" 51: 49895510 (mov (mem64+ r13 #x10) rdx)" | |
" 55: 48bfe959444400000000 (mov rdi #x444459e9) ; '(contract-defs-submod)" | |
" 5f: 48bef959444400000000 (mov rsi #x444459f9) ; '(constant)" | |
" 69: 4983c508 (add r13 #x8)" | |
" 6d: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 77: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 7c: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => a3" | |
" 83: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 87: 48c7c504000000 (mov rbp #x4)" | |
" 8e: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 93: d400000000000000 (data)" | |
" 9b: 0500000000000000 (data)" | |
" a3: 4983ed08 (sub r13 #x8) ; <=" | |
" a7: 48c7c52e000000 (mov rbp #x2e)" | |
" ae: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" b2: 49e878b883f8 (call (+ rip #x-77c4788)) ; #<code get-room> ; <=" | |
" b8: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" bf: e974ffffff (jmp (+ rip #x-8c)) ; => 38" | |
" c4: 49894d18 (mov (mem64+ r13 #x18) rcx) ; <=" | |
" c8: 49897508 (mov (mem64+ r13 #x8) rsi)" | |
" cc: 49895510 (mov (mem64+ r13 #x10) rdx)" | |
" d0: 4983c520 (add r13 #x20)" | |
" d4: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => fb" | |
" db: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" df: e93cff85f8 (jmp (+ rip #x-77a00c4)) ; #<code event>" | |
" e4: 0f1f80000000002c (data)" | |
" ec: 0100000000000091 (data)" | |
" f4: 03000000000000 (data)" | |
" fb: 4983ed20 (sub r13 #x20) ; <=" | |
" ff: 498b4d18 (mov rcx (mem64+ r13 #x18))" | |
" 103: 498b7508 (mov rsi (mem64+ r13 #x8))" | |
" 107: 498b5510 (mov rdx (mem64+ r13 #x10))" | |
" 10b: e91affffff (jmp (+ rip #x-e6)) ; => 2a" | |
" 110: e81bbd83f8 (call (+ rip #x-77c42e5)) ; #<code dooverflow> ; <=" | |
" 115: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 11c: e9fefeffff (jmp (+ rip #x-102)) ; => 1f" | |
" 121: e97ac683f8 (jmp (+ rip #x-77c3986)) ; #<code doargerr> ; <=" | |
" 126: 0f1f8000000000 (data)" | |
"") | |
(begin-for-syntax | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f84c0000000 (jz (+ rip #xc0)) ; => cb" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 0f85aa000000 (jnz (+ rip #xaa)) ; => bf" | |
" 15: 498b570b (mov rdx (mem64+ r15 #xb))" | |
" 19: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 1d: 4983c130 (add r9 #x30)" | |
" 21: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 25: 0f8282000000 (jb (+ rip #x82)) ; => ad" | |
" 2b: 48b9cb29de4000000000 (mov rcx #x40de29cb) ; 'module ; <=" | |
" 35: 49894c2407 (mov (mem64+ r12 #x7) rcx)" | |
" 3a: 498d4c2410 (lea rcx (mem+ r12 #x10))" | |
" 3f: 49894c240f (mov (mem64+ r12 #xf) rcx)" | |
" 44: 48b9f915ce4000000000 (mov rcx #x40ce15f9) ; '(submod \"..\" #%contract-defs)" | |
" 4e: 49894c2417 (mov (mem64+ r12 #x17) rcx)" | |
" 53: 498d4c2420 (lea rcx (mem+ r12 #x20))" | |
" 58: 49894c241f (mov (mem64+ r12 #x1f) rcx)" | |
" 5d: 4989542427 (mov (mem64+ r12 #x27) rdx)" | |
" 62: 49c744242f26000000 (mov (mem64+ r12 #x2f) #x26)" | |
" 6b: 4c89e1 (mov rcx r12)" | |
" 6e: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 72: 4983c110 (add r9 #x10)" | |
" 76: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 7a: 7222 (jb (+ rip #x22)) ; => 9e" | |
" 7c: 4c89e7 (mov rdi r12) ; <=" | |
" 7f: 48894f07 (mov (mem64+ rdi #x7) rcx)" | |
" 83: 48c7470f26000000 (mov (mem64+ rdi #xf) #x26)" | |
" 8b: 4d8b470b (mov r8 (mem64+ r15 #xb))" | |
" 8f: 4d8b7f13 (mov r15 (mem64+ r15 #x13))" | |
" 93: 48c7c502000000 (mov rbp #x2)" | |
" 9a: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 9e: 49e86cae83f8 (call (+ rip #x-77c5194)) ; #<code get-room> ; <=" | |
" a4: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" ab: ebcf (jmp (+ rip #x-31)) ; => 7c" | |
" ad: 49e85dae83f8 (call (+ rip #x-77c51a3)) ; #<code get-room> ; <=" | |
" b3: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" ba: e96cffffff (jmp (+ rip #x-94)) ; => 2b" | |
" bf: e9bcbc83f8 (jmp (+ rip #x-77c4344)) ; #<code doargerr> ; <=" | |
" c4: 0f1f8000000000 (data)" | |
" cb: e9e0e083f8 (jmp (+ rip #x-77c1f20)) ; #<code event-detour> ; <=" | |
" d0: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f84b3000000 (jz (+ rip #xb3)) ; => be" | |
" b: 4883fd04 (cmp rbp #x4)" | |
" f: 0f859d000000 (jnz (+ rip #x9d)) ; => b2" | |
" 15: 4c89c1 (mov rcx r8)" | |
" 18: 498b5508 (mov rdx (mem64+ r13 #x8))" | |
" 1c: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 20: 767f (jbe (+ rip #x7f)) ; => a1" | |
" 22: 4d8d61fd (lea r12 (mem+ r9 #x-3)) ; <=" | |
" 26: 4983c120 (add r9 #x20)" | |
" 2a: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 2e: 7262 (jb (+ rip #x62)) ; => 92" | |
" 30: 4d89e0 (mov r8 r12) ; <=" | |
" 33: 48be005cd34700000000 (mov rsi #x47d35c00) ; #<code>" | |
" 3d: 49897003 (mov (mem64+ r8 #x3) rsi)" | |
" 41: 4989480b (mov (mem64+ r8 #xb) rcx)" | |
" 45: 49895013 (mov (mem64+ r8 #x13) rdx)" | |
" 49: 4983c508 (add r13 #x8)" | |
" 4d: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 57: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 5c: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 83" | |
" 63: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 67: 48c7c501000000 (mov rbp #x1)" | |
" 6e: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 73: b400000000000000 (data)" | |
" 7b: 0500000000000000 (data)" | |
" 83: 4983ed08 (sub r13 #x8) ; <=" | |
" 87: 48c7c52e000000 (mov rbp #x2e)" | |
" 8e: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 92: 49e888af83f8 (call (+ rip #x-77c5078)) ; #<code get-room> ; <=" | |
" 98: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 9f: eb8f (jmp (+ rip #x-71)) ; => 30" | |
" a1: e87ab483f8 (call (+ rip #x-77c4b86)) ; #<code dooverflow> ; <=" | |
" a6: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" ad: e970ffffff (jmp (+ rip #x-90)) ; => 22" | |
" b2: e9d9bd83f8 (jmp (+ rip #x-77c4227)) ; #<code doargerr> ; <=" | |
" b7: 0f1f8000000000 (data)" | |
" be: e9fde183f8 (jmp (+ rip #x-77c1e03)) ; #<code event-detour> ; <=" | |
" c3: 0f1f8000000000 (data)" | |
"")) | |
(module (example typed #%contract-defs-reference configure-runtime) .... | |
(require '#%kernel (lib "racket/runtime-config.rkt")) | |
(provide) | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 7476 (jz (+ rip #x76)) ; => 7d" | |
" 7: 4883fd04 (cmp rbp #x4)" | |
" b: 7564 (jnz (+ rip #x64)) ; => 71" | |
" d: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 11: 7650 (jbe (+ rip #x50)) ; => 63" | |
" 13: 49c7c00e000000 (mov r8 #xe) ; <=" | |
" 1a: 4983c508 (add r13 #x8)" | |
" 1e: 49bccbbe404200000000 (mov r12 #x4240becb) ; '1/print-as-expression" | |
" 28: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 2d: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 54" | |
" 34: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 38: 48c7c501000000 (mov rbp #x1)" | |
" 3f: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 44: 8500000000000000 (data)" | |
" 4c: 0500000000000000 (data)" | |
" 54: 4983ed08 (sub r13 #x8) ; <=" | |
" 58: 48c7c52e000000 (mov rbp #x2e)" | |
" 5f: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 63: e8b8a483f8 (call (+ rip #x-77c5b48)) ; #<code dooverflow> ; <=" | |
" 68: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 6f: eba2 (jmp (+ rip #x-5e)) ; => 13" | |
" 71: e91aae83f8 (jmp (+ rip #x-77c51e6)) ; #<code doargerr> ; <=" | |
" 76: 0f1f8000000000 (data)" | |
" 7d: e93ed283f8 (jmp (+ rip #x-77c2dc2)) ; #<code event-detour> ; <=" | |
" 82: 0f1f8000000000 (data)" | |
""))) | |
(module (example typed #%contract-defs) .... | |
(require (submod "..") | |
(submod | |
(lib "typed-racket/private/type-contract.rkt") | |
predicates) | |
(lib "typed-racket/utils/utils.rkt") | |
(lib "typed-racket/utils/any-wrap.rkt") | |
(lib "typed-racket/utils/struct-type-c.rkt") | |
(lib "typed-racket/utils/prefab-c.rkt") | |
(lib "typed-racket/utils/opaque-object.rkt") | |
(lib "typed-racket/utils/evt-contract.rkt") | |
(lib "typed-racket/utils/hash-contract.rkt") | |
(lib "typed-racket/utils/vector-contract.rkt") | |
(lib "typed-racket/utils/sealing-contract.rkt") | |
(lib "typed-racket/utils/promise-not-name-contract.rkt") | |
(lib "typed-racket/utils/simple-result-arrow.rkt") | |
(lib "typed-racket/utils/eq-contract.rkt") | |
(lib "racket/sequence.rkt") | |
(lib "racket/contract/parametric.rkt") | |
(for-syntax (lib "typed-racket/utils/utils.rkt"))) | |
(provide) | |
(#%assembly-code | |
" 0: 4883fd03 (cmp rbp #x3)" | |
" 4: 750b (jnz (+ rip #xb)) ; => 11" | |
" 6: 48c7c52e000000 (mov rbp #x2e)" | |
" d: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 11: e92ad97ff8 (jmp (+ rip #x-78026d6)) ; #<code doargerr> ; <=" | |
" 16: 0f1f8000000000 (data)" | |
"")) | |
(module (example typed configure-runtime) .... | |
(require '#%kernel (lib "racket/runtime-config.rkt")) | |
(provide) | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 7476 (jz (+ rip #x76)) ; => 7d" | |
" 7: 4883fd04 (cmp rbp #x4)" | |
" b: 7564 (jnz (+ rip #x64)) ; => 71" | |
" d: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 11: 7650 (jbe (+ rip #x50)) ; => 63" | |
" 13: 49c7c00e000000 (mov r8 #xe) ; <=" | |
" 1a: 4983c508 (add r13 #x8)" | |
" 1e: 49bccbbe404200000000 (mov r12 #x4240becb) ; '1/print-as-expression" | |
" 28: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 2d: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 54" | |
" 34: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 38: 48c7c501000000 (mov rbp #x1)" | |
" 3f: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 44: 8500000000000000 (data)" | |
" 4c: 0500000000000000 (data)" | |
" 54: 4983ed08 (sub r13 #x8) ; <=" | |
" 58: 48c7c52e000000 (mov rbp #x2e)" | |
" 5f: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 63: e878c483f8 (call (+ rip #x-77c3b88)) ; #<code dooverflow> ; <=" | |
" 68: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 6f: eba2 (jmp (+ rip #x-5e)) ; => 13" | |
" 71: e9dacd83f8 (jmp (+ rip #x-77c3226)) ; #<code doargerr> ; <=" | |
" 76: 0f1f8000000000 (data)" | |
" 7d: e9fef183f8 (jmp (+ rip #x-77c0e02)) ; #<code event-detour> ; <=" | |
" 82: 0f1f8000000000 (data)" | |
"")) | |
(module (example typed #%type-decl) .... | |
(require (for-template (submod "..")) | |
(lib "typed-racket/types/numeric-tower.rkt") | |
(lib "typed-racket/env/type-name-env.rkt") | |
(lib "typed-racket/env/global-env.rkt") | |
(lib "typed-racket/env/type-alias-env.rkt") | |
(lib "typed-racket/types/struct-table.rkt") | |
(lib "typed-racket/types/abbrev.rkt") | |
(lib "typed-racket/env/struct-name-env.rkt") | |
(lib "racket/private/sort.rkt")) | |
(provide) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f84c3020000 (jz (+ rip #x2c3)) ; => 2ce" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 0f85ad020000 (jnz (+ rip #x2ad)) ; => 2c2" | |
" 15: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 19: 0f8692020000 (jbe (+ rip #x292)) ; => 2b1" | |
" 1f: 49c7c008000000 (mov r8 #x8) ; <=" | |
" 26: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 2a: 4983c518 (add r13 #x18)" | |
" 2e: 4d8b7f63 (mov r15 (mem64+ r15 #x63))" | |
" 32: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 58" | |
" 39: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 3d: 48c7c501000000 (mov rbp #x1)" | |
" 44: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 48: 8900000000000000 (data)" | |
" 50: 0f01000000000000 (data)" | |
" 58: 4983ed18 (sub r13 #x18) ; <=" | |
" 5c: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 60: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 64: 498b575b (mov rdx (mem64+ r15 #x5b))" | |
" 68: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 6c: 4983c110 (add r9 #x10)" | |
" 70: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 74: 0f8225020000 (jb (+ rip #x225)) ; => 29f" | |
" 7a: 4c89e1 (mov rcx r12) ; <=" | |
" 7d: 48895107 (mov (mem64+ rcx #x7) rdx)" | |
" 81: 48c7410f26000000 (mov (mem64+ rcx #xf) #x26)" | |
" 89: 498b5753 (mov rdx (mem64+ r15 #x53))" | |
" 8d: 49895520 (mov (mem64+ r13 #x20) rdx)" | |
" 91: 498b5743 (mov rdx (mem64+ r15 #x43))" | |
" 95: 4d8b472b (mov r8 (mem64+ r15 #x2b))" | |
" 99: 498b7f23 (mov rdi (mem64+ r15 #x23))" | |
" 9d: 498b7733 (mov rsi (mem64+ r15 #x33))" | |
" a1: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" a5: 49894d08 (mov (mem64+ r13 #x8) rcx)" | |
" a9: 49895528 (mov (mem64+ r13 #x28) rdx)" | |
" ad: 4983c530 (add r13 #x30)" | |
" b1: 4d8b7f3b (mov r15 (mem64+ r15 #x3b))" | |
" b5: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => db" | |
" bc: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" c0: 48c7c503000000 (mov rbp #x3)" | |
" c7: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" cb: 0c01000000000000 (data)" | |
" d3: 9b0f000000000000 (data)" | |
" db: 4983ed30 (sub r13 #x30) ; <=" | |
" df: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" e3: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" e7: 498b5528 (mov rdx (mem64+ r13 #x28))" | |
" eb: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" ef: 4983c110 (add r9 #x10)" | |
" f3: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" f7: 0f8290010000 (jb (+ rip #x190)) ; => 28d" | |
" fd: 49896c2407 (mov (mem64+ r12 #x7) rbp) ; <=" | |
" 102: 49c744240f26000000 (mov (mem64+ r12 #xf) #x26)" | |
" 10b: 4c89e6 (mov rsi r12)" | |
" 10e: 4d8d61ff (lea r12 (mem+ r9 #x-1))" | |
" 112: 4983c110 (add r9 #x10)" | |
" 116: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 11a: 0f825b010000 (jb (+ rip #x15b)) ; => 27b" | |
" 120: 4989542401 (mov (mem64+ r12 #x1) rdx) ; <=" | |
" 125: 4989742409 (mov (mem64+ r12 #x9) rsi)" | |
" 12a: 49c7453006000000 (mov (mem64+ r13 #x30) #x6)" | |
" 132: 49894d38 (mov (mem64+ r13 #x38) rcx)" | |
" 136: 4d896540 (mov (mem64+ r13 #x40) r12)" | |
" 13a: 49c7c026000000 (mov r8 #x26)" | |
" 141: 48c7c746000000 (mov rdi #x46)" | |
" 148: 48c7c646000000 (mov rsi #x46)" | |
" 14f: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 153: 4983c528 (add r13 #x28)" | |
" 157: 4d8b7f4b (mov r15 (mem64+ r15 #x4b))" | |
" 15b: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 181" | |
" 162: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 166: 48c7c506000000 (mov rbp #x6)" | |
" 16d: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 171: b201000000000000 (data)" | |
" 179: 1707000000000000 (data)" | |
" 181: 4983ed28 (sub r13 #x28) ; <=" | |
" 185: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 189: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 18d: 4983c110 (add r9 #x10)" | |
" 191: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 195: 0f82ce000000 (jb (+ rip #xce)) ; => 269" | |
" 19b: 49896c2407 (mov (mem64+ r12 #x7) rbp) ; <=" | |
" 1a0: 49c744240f26000000 (mov (mem64+ r12 #xf) #x26)" | |
" 1a9: 4c89e1 (mov rcx r12)" | |
" 1ac: 4d8d61ff (lea r12 (mem+ r9 #x-1))" | |
" 1b0: 4983c110 (add r9 #x10)" | |
" 1b4: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 1b8: 0f8299000000 (jb (+ rip #x99)) ; => 257" | |
" 1be: 498b5520 (mov rdx (mem64+ r13 #x20)) ; <=" | |
" 1c2: 4989542401 (mov (mem64+ r12 #x1) rdx)" | |
" 1c7: 49894c2409 (mov (mem64+ r12 #x9) rcx)" | |
" 1cc: 498b4f1b (mov rcx (mem64+ r15 #x1b))" | |
" 1d0: 4883e107 (and rcx #x7)" | |
" 1d4: 4883f905 (cmp rcx #x5)" | |
" 1d8: 7522 (jnz (+ rip #x22)) ; => 1fc" | |
" 1da: 498b6f1b (mov rbp (mem64+ r15 #x1b))" | |
" 1de: 4d896508 (mov (mem64+ r13 #x8) r12) ; <=" | |
" 1e2: 4d8b4713 (mov r8 (mem64+ r15 #x13))" | |
" 1e6: 498b7f0b (mov rdi (mem64+ r15 #xb))" | |
" 1ea: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" 1ee: 4989ef (mov r15 rbp)" | |
" 1f1: 48c7c504000000 (mov rbp #x4)" | |
" 1f8: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 1fc: 4d8b471b (mov r8 (mem64+ r15 #x1b)) ; <=" | |
" 200: 48c7c720000000 (mov rdi #x20)" | |
" 207: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 20b: 4d896508 (mov (mem64+ r13 #x8) r12)" | |
" 20f: 4983c520 (add r13 #x20)" | |
" 213: 49bc2b83454200000000 (mov r12 #x4245832b) ; 'slow-extract-procedure" | |
" 21d: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 222: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 249" | |
" 229: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 22d: 48c7c502000000 (mov rbp #x2)" | |
" 234: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 239: 7a02000000000000 (data)" | |
" 241: 9303000000000000 (data)" | |
" 249: 4983ed20 (sub r13 #x20) ; <=" | |
" 24d: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 251: 4d8b6508 (mov r12 (mem64+ r13 #x8))" | |
" 255: eb87 (jmp (+ rip #x-79)) ; => 1de" | |
" 257: 49e893a583f8 (call (+ rip #x-77c5a6d)) ; #<code get-room> ; <=" | |
" 25d: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 264: e955ffffff (jmp (+ rip #x-ab)) ; => 1be" | |
" 269: 49e881a583f8 (call (+ rip #x-77c5a7f)) ; #<code get-room> ; <=" | |
" 26f: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 276: e920ffffff (jmp (+ rip #x-e0)) ; => 19b" | |
" 27b: 49e86fa583f8 (call (+ rip #x-77c5a91)) ; #<code get-room> ; <=" | |
" 281: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 288: e993feffff (jmp (+ rip #x-16d)) ; => 120" | |
" 28d: 49e85da583f8 (call (+ rip #x-77c5aa3)) ; #<code get-room> ; <=" | |
" 293: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 29a: e95efeffff (jmp (+ rip #x-1a2)) ; => fd" | |
" 29f: 49e84ba583f8 (call (+ rip #x-77c5ab5)) ; #<code get-room> ; <=" | |
" 2a5: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 2ac: e9c9fdffff (jmp (+ rip #x-237)) ; => 7a" | |
" 2b1: e83aaa83f8 (call (+ rip #x-77c55c6)) ; #<code dooverflow> ; <=" | |
" 2b6: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 2bd: e95dfdffff (jmp (+ rip #x-2a3)) ; => 1f" | |
" 2c2: e999b383f8 (jmp (+ rip #x-77c4c67)) ; #<code doargerr> ; <=" | |
" 2c7: 0f1f8000000000 (data)" | |
" 2ce: e9bdd783f8 (jmp (+ rip #x-77c2843)) ; #<code event-detour> ; <=" | |
" 2d3: 0f1f8000000000 (data)" | |
""))) | |
(define .... | |
(lambda () | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f8485010000 (jz (+ rip #x185)) ; => 190" | |
" b: 4883fd00 (cmp rbp #x0)" | |
" f: 0f856f010000 (jnz (+ rip #x16f)) ; => 184" | |
" 15: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 19: 0f8654010000 (jbe (+ rip #x154)) ; => 173" | |
" 1f: 4d31c0 (xor r8 r8) ; <=" | |
" 22: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 26: 4983c518 (add r13 #x18)" | |
" 2a: 4d8b7f33 (mov r15 (mem64+ r15 #x33))" | |
" 2e: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => 54" | |
" 35: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 39: 48c7c501000000 (mov rbp #x1)" | |
" 40: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 44: 8500000000000000 (data)" | |
" 4c: 0f01000000000000 (data)" | |
" 54: 4983ed18 (sub r13 #x18) ; <=" | |
" 58: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 5c: 49896d18 (mov (mem64+ r13 #x18) rbp)" | |
" 60: 498b4f23 (mov rcx (mem64+ r15 #x23))" | |
" 64: 498b5723 (mov rdx (mem64+ r15 #x23))" | |
" 68: 4d8d61f9 (lea r12 (mem+ r9 #x-7))" | |
" 6c: 4983c120 (add r9 #x20)" | |
" 70: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 74: 0f82e7000000 (jb (+ rip #xe7)) ; => 161" | |
" 7a: 4d89e0 (mov r8 r12) ; <=" | |
" 7d: 49894807 (mov (mem64+ r8 #x7) rcx)" | |
" 81: 498d4810 (lea rcx (mem+ r8 #x10))" | |
" 85: 4989480f (mov (mem64+ r8 #xf) rcx)" | |
" 89: 49895017 (mov (mem64+ r8 #x17) rdx)" | |
" 8d: 49c7401f26000000 (mov (mem64+ r8 #x1f) #x26)" | |
" 95: 498b7f23 (mov rdi (mem64+ r15 #x23))" | |
" 99: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 9d: 4983c520 (add r13 #x20)" | |
" a1: 4d8b7f2b (mov r15 (mem64+ r15 #x2b))" | |
" a5: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => cb" | |
" ac: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" b0: 48c7c502000000 (mov rbp #x2)" | |
" b7: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" bb: fc00000000000000 (data)" | |
" c3: 1303000000000000 (data)" | |
" cb: 4983ed20 (sub r13 #x20) ; <=" | |
" cf: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" d3: 4889e9 (mov rcx rbp)" | |
" d6: 498b571b (mov rdx (mem64+ r15 #x1b))" | |
" da: 4883e207 (and rdx #x7)" | |
" de: 4883fa05 (cmp rdx #x5)" | |
" e2: 7522 (jnz (+ rip #x22)) ; => 106" | |
" e4: 498b6f1b (mov rbp (mem64+ r15 #x1b))" | |
" e8: 49894d08 (mov (mem64+ r13 #x8) rcx) ; <=" | |
" ec: 4d8b4713 (mov r8 (mem64+ r15 #x13))" | |
" f0: 498b7f0b (mov rdi (mem64+ r15 #xb))" | |
" f4: 498b7518 (mov rsi (mem64+ r13 #x18))" | |
" f8: 4989ef (mov r15 rbp)" | |
" fb: 48c7c504000000 (mov rbp #x4)" | |
" 102: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" 106: 4d8b471b (mov r8 (mem64+ r15 #x1b)) ; <=" | |
" 10a: 48c7c720000000 (mov rdi #x20)" | |
" 111: 4d897d10 (mov (mem64+ r13 #x10) r15)" | |
" 115: 49894d08 (mov (mem64+ r13 #x8) rcx)" | |
" 119: 4983c520 (add r13 #x20)" | |
" 11d: 49bc2b83454200000000 (mov r12 #x4245832b) ; 'slow-extract-procedure" | |
" 127: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 12c: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 153" | |
" 133: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 137: 48c7c502000000 (mov rbp #x2)" | |
" 13e: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 143: 8401000000000000 (data)" | |
" 14b: 9303000000000000 (data)" | |
" 153: 4983ed20 (sub r13 #x20) ; <=" | |
" 157: 4d8b7d10 (mov r15 (mem64+ r13 #x10))" | |
" 15b: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 15f: eb87 (jmp (+ rip #x-79)) ; => e8" | |
" 161: 49e869a883f8 (call (+ rip #x-77c5797)) ; #<code get-room> ; <=" | |
" 167: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 16e: e907ffffff (jmp (+ rip #x-f9)) ; => 7a" | |
" 173: e858ad83f8 (call (+ rip #x-77c52a8)) ; #<code dooverflow> ; <=" | |
" 178: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 17f: e99bfeffff (jmp (+ rip #x-165)) ; => 1f" | |
" 184: e9b7b683f8 (jmp (+ rip #x-77c4949)) ; #<code doargerr> ; <=" | |
" 189: 0f1f8000000000 (data)" | |
" 190: e9dbda83f8 (jmp (+ rip #x-77c2525)) ; #<code event-detour> ; <=" | |
" 195: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 4883fd15 (cmp rbp #x15)" | |
" 4: 0f857e020000 (jnz (+ rip #x27e)) ; => 288" | |
" a: 4d8b5d08 (mov r11 (mem64+ r13 #x8))" | |
" e: 4d8b5510 (mov r10 (mem64+ r13 #x10))" | |
" 12: 4d8b4520 (mov r8 (mem64+ r13 #x20))" | |
" 16: 498b5d58 (mov rbx (mem64+ r13 #x58))" | |
" 1a: 498b4d68 (mov rcx (mem64+ r13 #x68))" | |
" 1e: 498b5570 (mov rdx (mem64+ r13 #x70))" | |
" 22: 498b7578 (mov rsi (mem64+ r13 #x78))" | |
" 26: 498bad88000000 (mov rbp (mem64+ r13 #x88))" | |
" 2d: 4d8bbd90000000 (mov r15 (mem64+ r13 #x90))" | |
" 34: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 38: 0f8639020000 (jbe (+ rip #x239)) ; => 277" | |
" 3e: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 43: 0f8498010000 (jz (+ rip #x198)) ; => 1e1" | |
" 49: 4d8d61fd (lea r12 (mem+ r9 #x-3)) ; <=" | |
" 4d: 4983c140 (add r9 #x40)" | |
" 51: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 55: 0f8274010000 (jb (+ rip #x174)) ; => 1cf" | |
" 5b: 48b84061d34700000000 (mov rax #x47d36140) ; #<code> ; <=" | |
" 65: 4989442403 (mov (mem64+ r12 #x3) rax)" | |
" 6a: 4d895c240b (mov (mem64+ r12 #xb) r11)" | |
" 6f: 4d89542413 (mov (mem64+ r12 #x13) r10)" | |
" 74: 49896c241b (mov (mem64+ r12 #x1b) rbp)" | |
" 79: 49895c2423 (mov (mem64+ r12 #x23) rbx)" | |
" 7e: 4d8944242b (mov (mem64+ r12 #x2b) r8)" | |
" 83: 49897c2433 (mov (mem64+ r12 #x33) rdi)" | |
" 88: 4d89e0 (mov r8 r12)" | |
" 8b: 49897d18 (mov (mem64+ r13 #x18) rdi)" | |
" 8f: 4d895d08 (mov (mem64+ r13 #x8) r11)" | |
" 93: 4d895510 (mov (mem64+ r13 #x10) r10)" | |
" 97: 49894d68 (mov (mem64+ r13 #x68) rcx)" | |
" 9b: 49895570 (mov (mem64+ r13 #x70) rdx)" | |
" 9f: 49897578 (mov (mem64+ r13 #x78) rsi)" | |
" a3: 4d89bd90000000 (mov (mem64+ r13 #x90) r15)" | |
" aa: 4981c598000000 (add r13 #x98)" | |
" b1: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" bb: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" c0: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => e7" | |
" c7: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" cb: 48c7c501000000 (mov rbp #x1)" | |
" d2: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" d7: 1801000000000000 (data)" | |
" df: cd6b3d0100000000 (data)" | |
" e7: 4981ed98000000 (sub r13 #x98) ; <=" | |
" ee: 498b7d18 (mov rdi (mem64+ r13 #x18))" | |
" f2: 4d8b5d08 (mov r11 (mem64+ r13 #x8))" | |
" f6: 4d8b5510 (mov r10 (mem64+ r13 #x10))" | |
" fa: 498b4d68 (mov rcx (mem64+ r13 #x68))" | |
" fe: 498b5570 (mov rdx (mem64+ r13 #x70))" | |
" 102: 498b7578 (mov rsi (mem64+ r13 #x78))" | |
" 106: 4d8bbd90000000 (mov r15 (mem64+ r13 #x90))" | |
" 10d: 4d8d61fd (lea r12 (mem+ r9 #x-3))" | |
" 111: 4983c170 (add r9 #x70)" | |
" 115: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 119: 0f829e000000 (jb (+ rip #x9e)) ; => 1bd" | |
" 11f: 4d89e0 (mov r8 r12) ; <=" | |
" 122: 48bb2063d34700000000 (mov rbx #x47d36320) ; #<code>" | |
" 12c: 49895803 (mov (mem64+ r8 #x3) rbx)" | |
" 130: 4d89580b (mov (mem64+ r8 #xb) r11)" | |
" 134: 4d895013 (mov (mem64+ r8 #x13) r10)" | |
" 138: 4d89781b (mov (mem64+ r8 #x1b) r15)" | |
" 13c: 4d8b7d60 (mov r15 (mem64+ r13 #x60))" | |
" 140: 4d897823 (mov (mem64+ r8 #x23) r15)" | |
" 144: 4d8b7d50 (mov r15 (mem64+ r13 #x50))" | |
" 148: 4d89782b (mov (mem64+ r8 #x2b) r15)" | |
" 14c: 49894833 (mov (mem64+ r8 #x33) rcx)" | |
" 150: 4989503b (mov (mem64+ r8 #x3b) rdx)" | |
" 154: 498b4d40 (mov rcx (mem64+ r13 #x40))" | |
" 158: 49894843 (mov (mem64+ r8 #x43) rcx)" | |
" 15c: 4989704b (mov (mem64+ r8 #x4b) rsi)" | |
" 160: 498b4d28 (mov rcx (mem64+ r13 #x28))" | |
" 164: 49894853 (mov (mem64+ r8 #x53) rcx)" | |
" 168: 498b4d38 (mov rcx (mem64+ r13 #x38))" | |
" 16c: 4989485b (mov (mem64+ r8 #x5b) rcx)" | |
" 170: 49897863 (mov (mem64+ r8 #x63) rdi)" | |
" 174: 4983c508 (add r13 #x8)" | |
" 178: 49bc8b64484200000000 (mov r12 #x4248648b) ; 'call-with-module-prompt" | |
" 182: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 187: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 1ae" | |
" 18e: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 192: 48c7c501000000 (mov rbp #x1)" | |
" 199: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 19e: df01000000000000 (data)" | |
" 1a6: 0500000000000000 (data)" | |
" 1ae: 4983ed08 (sub r13 #x8) ; <=" | |
" 1b2: 48c7c52e000000 (mov rbp #x2e)" | |
" 1b9: 41ff6500 (jmp (mem64+ r13 #x0))" | |
" 1bd: 49e8edaa83f8 (call (+ rip #x-77c5513)) ; #<code get-room> ; <=" | |
" 1c3: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1ca: e950ffffff (jmp (+ rip #x-b0)) ; => 11f" | |
" 1cf: 49e8dbaa83f8 (call (+ rip #x-77c5525)) ; #<code get-room> ; <=" | |
" 1d5: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1dc: e97afeffff (jmp (+ rip #x-186)) ; => 5b" | |
" 1e1: 49897d18 (mov (mem64+ r13 #x18) rdi) ; <=" | |
" 1e5: 4d895d08 (mov (mem64+ r13 #x8) r11)" | |
" 1e9: 4d895510 (mov (mem64+ r13 #x10) r10)" | |
" 1ed: 4d894520 (mov (mem64+ r13 #x20) r8)" | |
" 1f1: 49895d58 (mov (mem64+ r13 #x58) rbx)" | |
" 1f5: 49894d68 (mov (mem64+ r13 #x68) rcx)" | |
" 1f9: 49895570 (mov (mem64+ r13 #x70) rdx)" | |
" 1fd: 49897578 (mov (mem64+ r13 #x78) rsi)" | |
" 201: 4989ad88000000 (mov (mem64+ r13 #x88) rbp)" | |
" 208: 4d89bd90000000 (mov (mem64+ r13 #x90) r15)" | |
" 20f: 4981c598000000 (add r13 #x98)" | |
" 216: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 23d" | |
" 21d: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 221: e97af185f8 (jmp (+ rip #x-77a0e86)) ; #<code event>" | |
" 226: 0f1f80000000006e (data)" | |
" 22e: 02000000000000cd (data)" | |
" 236: 6fbf0100000000 (data)" | |
" 23d: 4981ed98000000 (sub r13 #x98) ; <=" | |
" 244: 498b7d18 (mov rdi (mem64+ r13 #x18))" | |
" 248: 4d8b5d08 (mov r11 (mem64+ r13 #x8))" | |
" 24c: 4d8b5510 (mov r10 (mem64+ r13 #x10))" | |
" 250: 4d8b4520 (mov r8 (mem64+ r13 #x20))" | |
" 254: 498b5d58 (mov rbx (mem64+ r13 #x58))" | |
" 258: 498b4d68 (mov rcx (mem64+ r13 #x68))" | |
" 25c: 498b5570 (mov rdx (mem64+ r13 #x70))" | |
" 260: 498b7578 (mov rsi (mem64+ r13 #x78))" | |
" 264: 498bad88000000 (mov rbp (mem64+ r13 #x88))" | |
" 26b: 4d8bbd90000000 (mov r15 (mem64+ r13 #x90))" | |
" 272: e9d2fdffff (jmp (+ rip #x-22e)) ; => 49" | |
" 277: e834af83f8 (call (+ rip #x-77c50cc)) ; #<code dooverflow> ; <=" | |
" 27c: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 283: e9b6fdffff (jmp (+ rip #x-24a)) ; => 3e" | |
" 288: e993b883f8 (jmp (+ rip #x-77c476d)) ; #<code doargerr> ; <=" | |
" 28d: 0f1f8000000000 (data)" | |
"") | |
(begin-for-all | |
(define #0# | |
.... | |
(define || | |
(lambda (a0) | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f84b7010000 (jz (+ rip #x1b7)) ; => 1c2" | |
" b: 4883fd01 (cmp rbp #x1)" | |
" f: 0f85a1010000 (jnz (+ rip #x1a1)) ; => 1b6" | |
" 15: 4c89c6 (mov rsi r8)" | |
" 18: 4d897d08 (mov (mem64+ r13 #x8) r15)" | |
" 1c: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 20: 0f867f010000 (jbe (+ rip #x17f)) ; => 1a5" | |
" 26: 498b4d08 (mov rcx (mem64+ r13 #x8)) ; <=" | |
" 2a: 488b4923 (mov rcx (mem64+ rcx #x23))" | |
" 2e: 4c8b4109 (mov r8 (mem64+ rcx #x9))" | |
" 32: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 36: 488b491b (mov rcx (mem64+ rcx #x1b))" | |
" 3a: 488b4909 (mov rcx (mem64+ rcx #x9))" | |
" 3e: 4c89c2 (mov rdx r8)" | |
" 41: 4883e207 (and rdx #x7)" | |
" 45: 4883fa05 (cmp rdx #x5)" | |
" 49: 0f85f9000000 (jnz (+ rip #xf9)) ; => 148" | |
" 4f: 4d89c7 (mov r15 r8)" | |
" 52: 49c7452038000000 (mov (mem64+ r13 #x20) #x38) ; <=" | |
" 5a: 48ba5ff7a94400000000 (mov rdx #x44a9f75f) ; '#(#:scope+kind macro #:scope+kind macro #:scope+kind module #:representative-scope module -1 #:representative-scope module 0 #:representative-scope module 0 #:scope+kind module)" | |
" 64: 49895528 (mov (mem64+ r13 #x28) rdx)" | |
" 68: 49c7453038000000 (mov (mem64+ r13 #x30) #x38)" | |
" 70: 48baeff7a94400000000 (mov rdx #x44a9f7ef) ; '#(#:multi-scope typed #:hasheqv 2 -1 #:ref 3 0 #:ref 4 #:multi-scope #%type-decl #:hasheqv 1 0 #:ref 5 #:seteq 2 #:shifted-multi-scope -1 #:ref 7 #:shifted-multi-scope 0 #:ref 8 #:cons #:mpi 20 #:mpi 10 #:cons #:mpi 21 #:mpi 11 #hasheq() #:seteq 2 #:re..." | |
" 7a: 49895538 (mov (mem64+ r13 #x38) rdx)" | |
" 7e: 48ba5ff9a94400000000 (mov rdx #x44a9f95f) ; '#(#f #:scope-fill! #:hasheq 1 fx+/wraparound2 #:hash 1 #:seteq 3 #:ref 4 #:ref 0 #:ref 1 #:module-binding #:mpi 21 fx+/wraparound2.1 0 #:mpi 21 0 fx+/wraparound2 0 #f #f () #f #:representative-scope-fill! #:table-with-bulk-bindings #:ref 12 #:cons #:bu..." | |
" 88: 49895540 (mov (mem64+ r13 #x40) rdx)" | |
" 8c: 48ba0f01aa4400000000 (mov rdx #x44aa010f) ; (vector '#:vector 2 '#:syntax 'fx+/wraparound2 '#:vector 3 '#:seteq 3 '#:ref 0 '#:ref 1 '#:ref 2 '#:ref 9 '#:list 2 '#:ref 10 '#:ref 11 #f '#:syntax 'typed-clever '#:vector 3 '#:seteq 2 '#:ref 6 '#:ref 2 '#:ref 9 '#:list 4 '#:ref 10 '#:ref 11 '#:cons '#..." | |
" 96: 49895548 (mov (mem64+ r13 #x48) rdx)" | |
" 9a: 4989c8 (mov r8 rcx)" | |
" 9d: 48c7c706000000 (mov rdi #x6)" | |
" a4: 4983c518 (add r13 #x18)" | |
" a8: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => ce" | |
" af: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" b3: 48c7c509000000 (mov rbp #x9)" | |
" ba: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" be: ff00000000000000 (data)" | |
" c6: 8f00000000000000 (data)" | |
" ce: 4983ed18 (sub r13 #x18) ; <=" | |
" d2: 4889ee (mov rsi rbp)" | |
" d5: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" d9: 4c8b4113 (mov r8 (mem64+ rcx #x13))" | |
" dd: 4831ff (xor rdi rdi)" | |
" e0: 4983c510 (add r13 #x10)" | |
" e4: 49bc2b00454200000000 (mov r12 #x4245002b) ; 'vector-copy!" | |
" ee: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" f3: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 11a" | |
" fa: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" fe: 48c7c503000000 (mov rbp #x3)" | |
" 105: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 10a: 4b01000000000000 (data)" | |
" 112: 8900000000000000 (data)" | |
" 11a: 4983ed10 (sub r13 #x10) ; <=" | |
" 11e: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 122: 4c8b410b (mov r8 (mem64+ rcx #xb))" | |
" 126: 48c7c706000000 (mov rdi #x6)" | |
" 12d: 49bccb60484200000000 (mov r12 #x424860cb) ; 'variable-set!" | |
" 137: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 13c: 48c7c502000000 (mov rbp #x2)" | |
" 143: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 148: 48c7c748000000 (mov rdi #x48) ; <=" | |
" 14f: 49897510 (mov (mem64+ r13 #x10) rsi)" | |
" 153: 49894d18 (mov (mem64+ r13 #x18) rcx)" | |
" 157: 4983c520 (add r13 #x20)" | |
" 15b: 49bc2b83454200000000 (mov r12 #x4245832b) ; 'slow-extract-procedure" | |
" 165: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 16a: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 191" | |
" 171: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 175: 48c7c502000000 (mov rbp #x2)" | |
" 17c: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 181: c201000000000000 (data)" | |
" 189: 9303000000000000 (data)" | |
" 191: 4983ed20 (sub r13 #x20) ; <=" | |
" 195: 4989ef (mov r15 rbp)" | |
" 198: 498b7510 (mov rsi (mem64+ r13 #x10))" | |
" 19c: 498b4d18 (mov rcx (mem64+ r13 #x18))" | |
" 1a0: e9adfeffff (jmp (+ rip #x-153)) ; => 52" | |
" 1a5: e8369d83f8 (call (+ rip #x-77c62ca)) ; #<code dooverflow> ; <=" | |
" 1aa: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1b1: e970feffff (jmp (+ rip #x-190)) ; => 26" | |
" 1b6: e995a683f8 (jmp (+ rip #x-77c596b)) ; #<code doargerr> ; <=" | |
" 1bb: 0f1f8000000000 (data)" | |
" 1c2: e9b9ca83f8 (jmp (+ rip #x-77c3547)) ; #<code event-detour> ; <=" | |
" 1c7: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 4883fd09 (cmp rbp #x9)" | |
" 4: 0f85a3010000 (jnz (+ rip #x1a3)) ; => 1ad" | |
" a: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" e: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 12: 498b4d30 (mov rcx (mem64+ r13 #x30))" | |
" 16: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 1a: 0f867c010000 (jbe (+ rip #x17c)) ; => 19c" | |
" 20: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 25: 0f8425010000 (jz (+ rip #x125)) ; => 150" | |
" 2b: 49c7c010000000 (mov r8 #x10) ; <=" | |
" 32: 48c7c706000000 (mov rdi #x6)" | |
" 39: 49895518 (mov (mem64+ r13 #x18) rdx)" | |
" 3d: 49897520 (mov (mem64+ r13 #x20) rsi)" | |
" 41: 49894d30 (mov (mem64+ r13 #x30) rcx)" | |
" 45: 4983c538 (add r13 #x38)" | |
" 49: 49bcfbce084000000000 (mov r12 #x4008cefb) ; 'make-vector" | |
" 53: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 58: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 7f" | |
" 5f: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 63: 48c7c502000000 (mov rbp #x2)" | |
" 6a: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 6f: b000000000000000 (data)" | |
" 77: 1f1e000000000000 (data)" | |
" 7f: 4983ed38 (sub r13 #x38) ; <=" | |
" 83: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" 87: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 8b: 498b4d30 (mov rcx (mem64+ r13 #x30))" | |
" 8f: 4d8d61fd (lea r12 (mem+ r9 #x-3))" | |
" 93: 4983c130 (add r9 #x30)" | |
" 97: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 9b: 0f829d000000 (jb (+ rip #x9d)) ; => 13e" | |
" a1: 4c89e7 (mov rdi r12) ; <=" | |
" a4: 49b83071d34700000000 (mov r8 #x47d37130) ; #<code [>" | |
" ae: 4c894703 (mov (mem64+ rdi #x3) r8)" | |
" b2: 48894f0b (mov (mem64+ rdi #xb) rcx)" | |
" b6: 48896f13 (mov (mem64+ rdi #x13) rbp)" | |
" ba: 4889771b (mov (mem64+ rdi #x1b) rsi)" | |
" be: 48895723 (mov (mem64+ rdi #x23) rdx)" | |
" c2: 4989c8 (mov r8 rcx)" | |
" c5: 48c7c606000000 (mov rsi #x6)" | |
" cc: 49896d08 (mov (mem64+ r13 #x8) rbp)" | |
" d0: 4983c530 (add r13 #x30)" | |
" d4: 49bc2b61484200000000 (mov r12 #x4248612b) ; 'variable-set!/define" | |
" de: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" e3: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 10a" | |
" ea: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" ee: 48c7c503000000 (mov rbp #x3)" | |
" f5: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" fa: 3b01000000000000 (data)" | |
" 102: 9908000000000000 (data)" | |
" 10a: 4983ed30 (sub r13 #x30) ; <=" | |
" 10e: 498b6d08 (mov rbp (mem64+ r13 #x8))" | |
" 112: 4d8b4528 (mov r8 (mem64+ r13 #x28))" | |
" 116: 4889ef (mov rdi rbp)" | |
" 119: 48be9bbeea4000000000 (mov rsi #x40eabe9b) ; 'constant" | |
" 123: 49bc2b61484200000000 (mov r12 #x4248612b) ; 'variable-set!/define" | |
" 12d: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 132: 48c7c503000000 (mov rbp #x3)" | |
" 139: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 13e: 49e89c9a83f8 (call (+ rip #x-77c6564)) ; #<code get-room> ; <=" | |
" 144: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 14b: e951ffffff (jmp (+ rip #x-af)) ; => a1" | |
" 150: 49895518 (mov (mem64+ r13 #x18) rdx) ; <=" | |
" 154: 49897520 (mov (mem64+ r13 #x20) rsi)" | |
" 158: 49894d30 (mov (mem64+ r13 #x30) rcx)" | |
" 15c: 4983c538 (add r13 #x38)" | |
" 160: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 187" | |
" 167: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 16b: e960e185f8 (jmp (+ rip #x-77a1ea0)) ; #<code event>" | |
" 170: 0f1f8000000000b8 (data)" | |
" 178: 010000000000001d (data)" | |
" 180: 1e000000000000 (data)" | |
" 187: 4983ed38 (sub r13 #x38) ; <=" | |
" 18b: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" 18f: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 193: 498b4d30 (mov rcx (mem64+ r13 #x30))" | |
" 197: e98ffeffff (jmp (+ rip #x-171)) ; => 2b" | |
" 19c: e83f9f83f8 (call (+ rip #x-77c60c1)) ; #<code dooverflow> ; <=" | |
" 1a1: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1a8: e973feffff (jmp (+ rip #x-18d)) ; => 20" | |
" 1ad: e99ea883f8 (jmp (+ rip #x-77c5762)) ; #<code doargerr> ; <=" | |
" 1b2: 0f1f8000000000 (data)" | |
"") | |
. | |
#1#))) | |
(begin-for-all | |
(define #0# | |
.... | |
(define || | |
(lambda (a0) | |
(#%assembly-code | |
" 0: 49836e6801 (sub (mem64+ r14 #x68) #x1)" | |
" 5: 0f84b7010000 (jz (+ rip #x1b7)) ; => 1c2" | |
" b: 4883fd01 (cmp rbp #x1)" | |
" f: 0f85a1010000 (jnz (+ rip #x1a1)) ; => 1b6" | |
" 15: 4c89c6 (mov rsi r8)" | |
" 18: 4d897d08 (mov (mem64+ r13 #x8) r15)" | |
" 1c: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 20: 0f867f010000 (jbe (+ rip #x17f)) ; => 1a5" | |
" 26: 498b4d08 (mov rcx (mem64+ r13 #x8)) ; <=" | |
" 2a: 488b4923 (mov rcx (mem64+ rcx #x23))" | |
" 2e: 4c8b4109 (mov r8 (mem64+ rcx #x9))" | |
" 32: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 36: 488b491b (mov rcx (mem64+ rcx #x1b))" | |
" 3a: 488b4909 (mov rcx (mem64+ rcx #x9))" | |
" 3e: 4c89c2 (mov rdx r8)" | |
" 41: 4883e207 (and rdx #x7)" | |
" 45: 4883fa05 (cmp rdx #x5)" | |
" 49: 0f85f9000000 (jnz (+ rip #xf9)) ; => 148" | |
" 4f: 4d89c7 (mov r15 r8)" | |
" 52: 49c7452058000000 (mov (mem64+ r13 #x20) #x58) ; <=" | |
" 5a: 48ba1fa71f4700000000 (mov rdx #x471fa71f) ; '#(#:scope+kind macro #:scope+kind macro #:representative-scope module -1 #:representative-scope module 0 #:scope+kind macro #:scope+kind module #:hasheq #:hasheq #:scope+kind macro #:scope+kind macro #:scope+kind macro)" | |
" 64: 49895528 (mov (mem64+ r13 #x28) rdx)" | |
" 68: 49c7453048000000 (mov (mem64+ r13 #x30) #x48)" | |
" 70: 48badfa71f4700000000 (mov rdx #x471fa7df) ; '#(#:multi-scope typed #:hasheqv 2 -1 #:ref 2 0 #:ref 3 #:seteq 1 #:shifted-multi-scope 0 #:ref 11 #:vector 3 #:seteq 2 #:ref 0 #:ref 1 #:ref 12 () #:seteq 1 #:ref 5 #hasheq() #:cons #:cons #:mpi 9 #:mpi 10 () #:vector 3 #:ref 15 #:ref 15 () #:vector 3 ..." | |
" 7a: 49895538 (mov (mem64+ r13 #x38) rdx)" | |
" 7e: 48ba1faa1f4700000000 (mov rdx #x471faa1f) ; (vector #f '#:scope-fill! '#:hasheq 1 'fx+/wraparound2 '#:hash 1 '#:seteq 3 '#:ref 3 '#:ref 0 '#:ref 1 '#:module-binding '#:mpi 5 'fx+/wraparound2.1 0 '#:mpi 5 0 'fx+/wraparound2 0 #f #f '() '#:representative-scope-fill! '#:table-with-bulk-bindings '#:r..." | |
" 88: 49895540 (mov (mem64+ r13 #x40) rdx)" | |
" 8c: 48bacfb31f4700000000 (mov rdx #x471fb3cf) ; (vector '#:vector 3 '#:syntax 'fx+/wraparound2 13 #f '#:syntax 'fx+/wraparound1 '#:vector 3 '#:seteq 2 '#:ref 0 '#:ref 4 '#:ref 12 '() #f '#:syntax '#:vector 7 '#:syntax #f '#:vector 3 '#:ref 14 '#:ref 12 '() #f '#:syntax #f '#:vector 3 '#:ref 15 '#:ref..." | |
" 96: 49895548 (mov (mem64+ r13 #x48) rdx)" | |
" 9a: 4989c8 (mov r8 rcx)" | |
" 9d: 48c7c706000000 (mov rdi #x6)" | |
" a4: 4983c518 (add r13 #x18)" | |
" a8: 488d0d1f000000 (lea rcx (mem+ rip #x1f)) ; => ce" | |
" af: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" b3: 48c7c509000000 (mov rbp #x9)" | |
" ba: 41ff6703 (jmp (mem64+ r15 #x3))" | |
" be: ff00000000000000 (data)" | |
" c6: 8f00000000000000 (data)" | |
" ce: 4983ed18 (sub r13 #x18) ; <=" | |
" d2: 4889ee (mov rsi rbp)" | |
" d5: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" d9: 4c8b4113 (mov r8 (mem64+ rcx #x13))" | |
" dd: 4831ff (xor rdi rdi)" | |
" e0: 4983c510 (add r13 #x10)" | |
" e4: 49bc2b00454200000000 (mov r12 #x4245002b) ; 'vector-copy!" | |
" ee: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" f3: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 11a" | |
" fa: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" fe: 48c7c503000000 (mov rbp #x3)" | |
" 105: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 10a: 4b01000000000000 (data)" | |
" 112: 8900000000000000 (data)" | |
" 11a: 4983ed10 (sub r13 #x10) ; <=" | |
" 11e: 498b4d08 (mov rcx (mem64+ r13 #x8))" | |
" 122: 4c8b410b (mov r8 (mem64+ rcx #xb))" | |
" 126: 48c7c706000000 (mov rdi #x6)" | |
" 12d: 49bccb60484200000000 (mov r12 #x424860cb) ; 'variable-set!" | |
" 137: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 13c: 48c7c502000000 (mov rbp #x2)" | |
" 143: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 148: 48c7c748000000 (mov rdi #x48) ; <=" | |
" 14f: 49897510 (mov (mem64+ r13 #x10) rsi)" | |
" 153: 49894d18 (mov (mem64+ r13 #x18) rcx)" | |
" 157: 4983c520 (add r13 #x20)" | |
" 15b: 49bc2b83454200000000 (mov r12 #x4245832b) ; 'slow-extract-procedure" | |
" 165: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 16a: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 191" | |
" 171: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 175: 48c7c502000000 (mov rbp #x2)" | |
" 17c: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 181: c201000000000000 (data)" | |
" 189: 9303000000000000 (data)" | |
" 191: 4983ed20 (sub r13 #x20) ; <=" | |
" 195: 4989ef (mov r15 rbp)" | |
" 198: 498b7510 (mov rsi (mem64+ r13 #x10))" | |
" 19c: 498b4d18 (mov rcx (mem64+ r13 #x18))" | |
" 1a0: e9adfeffff (jmp (+ rip #x-153)) ; => 52" | |
" 1a5: e8d6cb83f8 (call (+ rip #x-77c342a)) ; #<code dooverflow> ; <=" | |
" 1aa: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1b1: e970feffff (jmp (+ rip #x-190)) ; => 26" | |
" 1b6: e935d583f8 (jmp (+ rip #x-77c2acb)) ; #<code doargerr> ; <=" | |
" 1bb: 0f1f8000000000 (data)" | |
" 1c2: e959f983f8 (jmp (+ rip #x-77c06a7)) ; #<code event-detour> ; <=" | |
" 1c7: 0f1f8000000000 (data)" | |
""))) | |
(#%assembly-code | |
" 0: 4883fd09 (cmp rbp #x9)" | |
" 4: 0f85a3010000 (jnz (+ rip #x1a3)) ; => 1ad" | |
" a: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" e: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 12: 498b4d30 (mov rcx (mem64+ r13 #x30))" | |
" 16: 4d396e48 (cmp (mem64+ r14 #x48) r13)" | |
" 1a: 0f867c010000 (jbe (+ rip #x17c)) ; => 19c" | |
" 20: 49836e6801 (sub (mem64+ r14 #x68) #x1) ; <=" | |
" 25: 0f8425010000 (jz (+ rip #x125)) ; => 150" | |
" 2b: 49c7c018000000 (mov r8 #x18) ; <=" | |
" 32: 48c7c706000000 (mov rdi #x6)" | |
" 39: 49895518 (mov (mem64+ r13 #x18) rdx)" | |
" 3d: 49897520 (mov (mem64+ r13 #x20) rsi)" | |
" 41: 49894d30 (mov (mem64+ r13 #x30) rcx)" | |
" 45: 4983c538 (add r13 #x38)" | |
" 49: 49bcfbce084000000000 (mov r12 #x4008cefb) ; 'make-vector" | |
" 53: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 58: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 7f" | |
" 5f: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 63: 48c7c502000000 (mov rbp #x2)" | |
" 6a: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 6f: b000000000000000 (data)" | |
" 77: 1f1e000000000000 (data)" | |
" 7f: 4983ed38 (sub r13 #x38) ; <=" | |
" 83: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" 87: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 8b: 498b4d30 (mov rcx (mem64+ r13 #x30))" | |
" 8f: 4d8d61fd (lea r12 (mem+ r9 #x-3))" | |
" 93: 4983c130 (add r9 #x30)" | |
" 97: 4d394e58 (cmp (mem64+ r14 #x58) r9)" | |
" 9b: 0f829d000000 (jb (+ rip #x9d)) ; => 13e" | |
" a1: 4c89e7 (mov rdi r12) ; <=" | |
" a4: 49b89042d34700000000 (mov r8 #x47d34290) ; #<code [>" | |
" ae: 4c894703 (mov (mem64+ rdi #x3) r8)" | |
" b2: 48894f0b (mov (mem64+ rdi #xb) rcx)" | |
" b6: 48896f13 (mov (mem64+ rdi #x13) rbp)" | |
" ba: 4889771b (mov (mem64+ rdi #x1b) rsi)" | |
" be: 48895723 (mov (mem64+ rdi #x23) rdx)" | |
" c2: 4989c8 (mov r8 rcx)" | |
" c5: 48c7c606000000 (mov rsi #x6)" | |
" cc: 49896d08 (mov (mem64+ r13 #x8) rbp)" | |
" d0: 4983c530 (add r13 #x30)" | |
" d4: 49bc2b61484200000000 (mov r12 #x4248612b) ; 'variable-set!/define" | |
" de: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" e3: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 10a" | |
" ea: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" ee: 48c7c503000000 (mov rbp #x3)" | |
" f5: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" fa: 3b01000000000000 (data)" | |
" 102: 9908000000000000 (data)" | |
" 10a: 4983ed30 (sub r13 #x30) ; <=" | |
" 10e: 498b6d08 (mov rbp (mem64+ r13 #x8))" | |
" 112: 4d8b4528 (mov r8 (mem64+ r13 #x28))" | |
" 116: 4889ef (mov rdi rbp)" | |
" 119: 48be9bbeea4000000000 (mov rsi #x40eabe9b) ; 'constant" | |
" 123: 49bc2b61484200000000 (mov r12 #x4248612b) ; 'variable-set!/define" | |
" 12d: 4d8b7c2405 (mov r15 (mem64+ r12 #x5))" | |
" 132: 48c7c503000000 (mov rbp #x3)" | |
" 139: 41ff64240d (jmp (mem64+ r12 #xd))" | |
" 13e: 49e83cc983f8 (call (+ rip #x-77c36c4)) ; #<code get-room> ; <=" | |
" 144: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 14b: e951ffffff (jmp (+ rip #x-af)) ; => a1" | |
" 150: 49895518 (mov (mem64+ r13 #x18) rdx) ; <=" | |
" 154: 49897520 (mov (mem64+ r13 #x20) rsi)" | |
" 158: 49894d30 (mov (mem64+ r13 #x30) rcx)" | |
" 15c: 4983c538 (add r13 #x38)" | |
" 160: 488d0d20000000 (lea rcx (mem+ rip #x20)) ; => 187" | |
" 167: 49894d00 (mov (mem64+ r13 #x0) rcx)" | |
" 16b: e9001086f8 (jmp (+ rip #x-779f000)) ; #<code event>" | |
" 170: 0f1f8000000000b8 (data)" | |
" 178: 010000000000001d (data)" | |
" 180: 1e000000000000 (data)" | |
" 187: 4983ed38 (sub r13 #x38) ; <=" | |
" 18b: 498b5518 (mov rdx (mem64+ r13 #x18))" | |
" 18f: 498b7520 (mov rsi (mem64+ r13 #x20))" | |
" 193: 498b4d30 (mov rcx (mem64+ r13 #x30))" | |
" 197: e98ffeffff (jmp (+ rip #x-171)) ; => 2b" | |
" 19c: e8dfcd83f8 (call (+ rip #x-77c3221)) ; #<code dooverflow> ; <=" | |
" 1a1: 0f1f8000000000 (nop (mem32+ rax #x0))" | |
" 1a8: e973feffff (jmp (+ rip #x-18d)) ; => 20" | |
" 1ad: e93ed783f8 (jmp (+ rip #x-77c28c2)) ; #<code doargerr> ; <=" | |
" 1b2: 0f1f8000000000 (data)" | |
"") | |
. | |
#1#)))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment