Re: Porting to Darwin
Brian de Alwis <[email protected]> Tue, 17 Jun 2008 10:46:53 -0700 (PDT)
| Newsgroups | gmane.comp.lang.smalltalk.strongtalk |
|---|---|
| Message-ID | <[email protected]> |
On Jun 17, 3:41 am, Hyungjip Kim <[email protected]> wrote: > The whole problem is that strongtalk implementation has too many > clever tricks, and the assembly code and C++ functions are really > interleaved. I tried to make a simple stub that align stack. But there > are too much code (assembly) that simply jump to C/C++ function > address, often indirectly. > > Another problem is that the VM use system stack pointer (ESP) for VM > operand stack and even put bytecodes to system stack, making the > alignment hard to keep. I just discovered gcc's -mstackalign option. Compiling strongtalk with that flag certainly lets it get further: =========================== - VM is in debug mode [Reading in ../strongtalk.bst, n, 0.389 secs] [A Runtime Error Occurred] assert(handle != __null, "could not find library: dlopen(KERNEL32.DLL, 1): image not found") os_darwin.cpp, 301 Last 10 internal VM events: - creating process 0x500870 - creating process 0x500980 DLL lookup GetCommandLineA in kernel failed. [A Runtime Error Occurred] assert(!is_scheduler(), "active must be other than scheduler") process.cpp, 289 Last 10 internal VM events: - creating process 0x500870 - creating process 0x500980 Bus Error =========================== Credit to: <http://0xced.blogspot.com/2006/06/using-gnu-lightning-on- intel-mac.html>. I came across that blog while looking at using a different machine language backend like GNU Lightning or even building on the LLVM JIT framework. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Strongtalk-general" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/strongtalk-general?hl=en -~----------~----~----~----~------~----~------~--~---