You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Things are saved on the stack in different places comapred to other architectures, even accounting for the stack bias. plus there is the whole register windows spill area which has to be scanned.
This is for the garbage colector and for the stack copying mechanism (which is also used for growing stacks).
The pc/sp/fp are saved in a different slot in the stack frame. but even regular variables are effected
since they are relative to FP on sparc, but Go looks at everything relative to SP; since SP mod 16 = 0 on sparc, variables are sometimes at a 8-byte offset from what Go expects.
As a side note, we currently use 64kB stacks for goroutines, and it's unclear what size is used for threads (Solaris' default minimum is 2MB for 64-bit processes, so this should be investigated at least to see if perhaps they're too small).
The text was updated successfully, but these errors were encountered:
Aram's notes:
since they are relative to FP on sparc, but Go looks at everything relative to SP; since SP mod 16 = 0 on sparc, variables are sometimes at a 8-byte offset from what Go expects.
As a side note, we currently use 64kB stacks for goroutines, and it's unclear what size is used for threads (Solaris' default minimum is 2MB for 64-bit processes, so this should be investigated at least to see if perhaps they're too small).
The text was updated successfully, but these errors were encountered: