Skip to content

runtime: stack scan / copy needs fixing #17

@binarycrusader

Description

@binarycrusader

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions