OpenSmalltalk / opensmalltalk-vm

Cross-platform virtual machine for Squeak, Pharo, Cuis, and Newspeak.
http://opensmalltalk.org/
Other
547 stars 110 forks source link

Works w current vm + Alien-Core-KenD-124.mcz #648

Closed KenDickey closed 1 year ago

KenDickey commented 1 year ago

riscv64abicc.c for AlienInbox:Alien-Core-Kend-124

KenDickey commented 1 year ago

Tested 'Alien exampleCqsort' with images built from mvm's on build, build.debug, and build.assert branckes. AOK.

KenDickey commented 1 year ago

On 2022-08-03 15:01, Eliot Miranda wrote:

@ELIOTMIRANDA commented on this pull request. .. Ken, I feel uneasy with the unique solution to the offset of the thunk. I'd rather have riscv64 be consistent with all the other platforms and adjust the offset to the thunk in thunkEntry, not in specific code in Smalltalk. Can you live with that?

Sure. Just remove the overwritten method. If you look at the latest, the offset is zero.

-KenD

eliotmiranda commented 1 year ago

On Wed, Aug 3, 2022 at 5:23 PM Ken Dickey @.***> wrote:

On 2022-08-03 15:01, Eliot Miranda wrote:

@ELIOTMIRANDA commented on this pull request. .. Ken, I feel uneasy with the unique solution to the offset of the thunk. I'd rather have riscv64 be consistent with all the other platforms and adjust the offset to the thunk in thunkEntry, not in specific code in Smalltalk. Can you live with that?

Sure. Just remove the overwritten method. If you look at the latest, the offset is zero.

OK. Fix thunkEntry to put back the offset and then I can merge the pull request.

,,,^..^,,, best, Eliot

KenDickey commented 1 year ago

On 2022-08-04 12:09, Eliot Miranda wrote:

On Wed, Aug 3, 2022 at 5:23 PM Ken Dickey @.***> wrote: ..

Sure. Just remove the overwritten method. If you look at the latest, the offset is zero.

OK. Fix thunkEntry to put back the offset and then I can merge the pull request.

riscv64abicc.c as pull request should have ... vmcc.thunkp = thunkp; ... which works fine without override of Callback>>addToThunkTable. No offset required in either place.

So color me confused.

I can re-push the Alien-Core-Kend without the #addToThunkTable override if you like, but the current pull requiest should work with Alien-Core-Kend.124 as is.

How about accepting the pull and the Alien-Code, let me re-retest, and we will fix any breakage from there.

Epsilon close, -KenD

KenDickey commented 1 year ago

Tested riscv64 partial register dump via SIGSEGV -- looks OS (sqUnixMain.c)

kill -s 11