Thu Jul 9 17:21:42 CEST 2009

64bit woes

I know what to do: port to 64bit clean code.  Now that I'm in 64bit
land myself this should be straightforward.

In 1995, a number of major UNIX vendors agreed to standardize on the
LP64 data model for a number of reasons[1]...

So, in short, long = pointer.

Problem: longjump takes int argument, and you can't encode a pointer
in this..  How to fix?

Wait.  This generalizes to all functions that return int: they can no
longer encode pointers!  So this needs some fixing..  (osc.c) Ok, was
straightforward: there was already context, so just added a member.

After changing w_int in pf_word from int -> long the interpreter seems
to run.  Let's try the rest.

Looks like the opengl code is working.  Video code however seems
broken.  Could be just the CA too since I don't have any video atm..

[1] http://www.unix.org/whitepapers/64bit.html