I have found a solution to my problem by re-writing my code to use the bigloo fthread library instead of using continuations. As long as multiple runs of the same program produce the same results, this works fine for me.
I have been unable to create a stand-alone example to demonstrate the symptoms with call/cc and plan to abandon this approach. I still think there is an issue with bigloo's continuations, but I don't know how to identify or demonstrate it. Thanks, Todd D. ________________________________ From: [email protected] [[email protected]] on behalf of Dukes, Todd Sent: Tuesday, August 05, 2014 6:59 PM To: [email protected] Subject: [bigloo] update 1: RE: Failing example: RE: problem with continuations and corrupted data 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. ________________________________
