-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Description
Aram's notes:
- 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).
Metadata
Metadata
Assignees
Labels
No labels