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
-~----------~----~----~----~------~----~------~--~---