From 8403b9f59bcd10d1b69a1f14e3175c9cf8a786db Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Sun, 1 Feb 2009 11:32:07 +0100 Subject: [PATCH] fix the disassembler for load-string, load-symbol et al * module/language/assembly/decompile-bytecode.scm (decode-bytecode): Fix decoding of lengths in loader instructions. --- module/language/assembly/decompile-bytecode.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/module/language/assembly/decompile-bytecode.scm b/module/language/assembly/decompile-bytecode.scm index abfc561fa..d5ffae189 100644 --- a/module/language/assembly/decompile-bytecode.scm +++ b/module/language/assembly/decompile-bytecode.scm @@ -73,7 +73,8 @@ ((eq? inst 'load-program) (decode-load-program pop)) ((< (instruction-length inst) 0) - (let* ((len (decode-length pop)) + (let* ((len (let* ((a (pop)) (b (pop)) (c (pop))) + (+ (ash a 16) (ash b 8) c))) (str (make-string len))) (let lp ((i 0)) (if (= i len)