mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-18 19:44:00 +00:00
runtime: bump markStackSize
Every time we overflow the stack, we have to do a full rescan of the heap. Making this larger means fewer overflows and thus fewer secondary+ heap scans.
This commit is contained in:
@@ -41,7 +41,7 @@ func TestBinarySize(t *testing.T) {
|
|||||||
// This is a small number of very diverse targets that we want to test.
|
// This is a small number of very diverse targets that we want to test.
|
||||||
tests := []sizeTest{
|
tests := []sizeTest{
|
||||||
// microcontrollers
|
// microcontrollers
|
||||||
{"hifive1b", "examples/echo", 4560, 280, 0, 2268},
|
{"hifive1b", "examples/echo", 4568, 280, 0, 2268},
|
||||||
{"microbit", "examples/serial", 2868, 388, 8, 2272},
|
{"microbit", "examples/serial", 2868, 388, 8, 2272},
|
||||||
{"wioterminal", "examples/pininterrupt", 6104, 1484, 116, 6832},
|
{"wioterminal", "examples/pininterrupt", 6104, 1484, 116, 6832},
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ const (
|
|||||||
bytesPerBlock = wordsPerBlock * unsafe.Sizeof(heapStart)
|
bytesPerBlock = wordsPerBlock * unsafe.Sizeof(heapStart)
|
||||||
stateBits = 2 // how many bits a block state takes (see blockState type)
|
stateBits = 2 // how many bits a block state takes (see blockState type)
|
||||||
blocksPerStateByte = 8 / stateBits
|
blocksPerStateByte = 8 / stateBits
|
||||||
markStackSize = 4 * unsafe.Sizeof((*int)(nil)) // number of to-be-marked blocks to queue before forcing a rescan
|
markStackSize = 8 * unsafe.Sizeof((*int)(nil)) // number of to-be-marked blocks to queue before forcing a rescan
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
Reference in New Issue
Block a user