Using call/cc instead of call-cc causes this example to pass. Unfortunately for me, it does not cause my real program to pass.
Todd D. ________________________________ From: [email protected] [[email protected]] on behalf of Dukes, Todd Sent: Monday, August 04, 2014 7:37 PM To: [email protected] Subject: [bigloo] Failing example: RE: problem with continuations and corrupted data Compile with command line at top of corrupted-let-problem-example.scm Run with no arguments. My output looks like this: bash-4.2$ ./corrupted-let-problem-example (user-main 1) p0 5 (p0:(s-ADD ((addr-mode disp) (dst (reg AL)) (src (disp 8192))))) p1 3.(ebx ((23 34))) (p1:(s-ADD ((addr-mode disp) (dst (reg AL)) (src (disp 13568))))) (s-go (thread-exit-length 2)) p0 7 p0 8 (p0:(s-ADD ((addr-mode reg-imm) (dst (reg BX)) (src (imm 0))))) p1 4.(ebx 165) (s-go (thread-exit-length 1)) p0 9 (s-go (thread-exit-length 0)) bash-4.2$ The line 'p1 4.(ebx 165)' is incorrect. The value of ebx has taken on the value passed to the check-mem function on line 20 of correupted-let-interpreted.scm This can be verified by changing the value and running again. When I did this, I saw the output change to match. Let me know if you cannot reproduce or if I am misunderstanding how continuations should work. Thanks, Todd D. ________________________________
