mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-09 13:33:39 +00:00
gc: use raw stack access whenever possible
The only architecture that actually needs special support for scanning the stack is WebAssembly. All others allow raw access to the stack with a small bit of assembly. Therefore, don't manually keep track of all these objects on the stack manually and instead just use conservative stack scanning. This results in a massive code size decrease in the affected targets (only tested linux/amd64 for code size) - sometimes around 33%. It also allows for future improvements such as using proper stackful goroutines.
This commit is contained in:
committed by
Ron Evans
parent
bfa29f17da
commit
67de8b490d
@@ -27,6 +27,7 @@
|
||||
"linkerscript": "targets/nintendoswitch.ld",
|
||||
"extra-files": [
|
||||
"targets/nintendoswitch.s",
|
||||
"src/runtime/gc_arm64.S",
|
||||
"src/runtime/runtime_nintendoswitch.s"
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user