diff --git a/shell/environment.mu b/shell/environment.mu index 0816f41b..c3d78d86 100644 --- a/shell/environment.mu +++ b/shell/environment.mu @@ -950,11 +950,11 @@ fn word-at-cursor _self: (addr environment), out: (addr stream byte) { fn load-state _self: (addr environment), data-disk: (addr disk) { var self/esi: (addr environment) <- copy _self # data-disk -> stream - var s-storage: (stream byte 0x2000) # space for 16/sectors + var s-storage: (stream byte 0x40000) # space for 0x200/sectors var s/ebx: (addr stream byte) <- address s-storage draw-text-wrapping-right-then-down-from-cursor-over-full-screen 0/screen, "loading sectors from data disk", 3/fg, 0/bg move-cursor-to-left-margin-of-next-line 0/screen - load-sectors data-disk, 0/lba, 0x10/sectors, s + load-sectors data-disk, 0/lba, 0x200/sectors, s #? draw-stream-wrapping-right-then-down-from-cursor-over-full-screen 0/screen, s, 7/fg, 0xc5/bg=blue-bg # stream -> gap-buffer (HACK: we temporarily cannibalize the sandbox's gap-buffer) draw-text-wrapping-right-then-down-from-cursor-over-full-screen 0/screen, "parsing", 3/fg, 0/bg @@ -1034,11 +1034,11 @@ fn store-state data-disk: (addr disk), sandbox: (addr sandbox), globals: (addr g break-if-!= return } - var stream-storage: (stream byte 0x2000) # space enough for 16/sectors + var stream-storage: (stream byte 0x40000) # space enough for 0x200/sectors var stream/edi: (addr stream byte) <- address stream-storage write stream, "(\n" write-globals stream, globals write-sandbox stream, sandbox write stream, ")\n" - store-sectors data-disk, 0/lba, 0x10/sectors, stream + store-sectors data-disk, 0/lba, 0x200/sectors, stream } diff --git a/shell/global.mu b/shell/global.mu index cd5a4244..7cf06d6d 100644 --- a/shell/global.mu +++ b/shell/global.mu @@ -57,7 +57,7 @@ fn load-globals in: (addr handle cell), self: (addr global-table) { var value-gap-buffer-ah/edi: (addr handle gap-buffer) <- address value-gap-buffer-storage allocate value-gap-buffer-ah var value-gap-buffer/eax: (addr gap-buffer) <- lookup *value-gap-buffer-ah - initialize-gap-buffer value-gap-buffer, 0x1000/4KB + initialize-gap-buffer value-gap-buffer, 0x40000/256KB load-gap-buffer-from-stream value-gap-buffer, value-data load-lexical-scope value-gap-buffer-ah, self loop diff --git a/shell/parse.mu b/shell/parse.mu index d888f56b..3bdc72b6 100644 --- a/shell/parse.mu +++ b/shell/parse.mu @@ -267,7 +267,7 @@ fn parse-atom _curr-token: (addr token), _out: (addr handle cell), trace: (addr compare should-trace?, 0/false } break-if-= - var stream-storage: (stream byte 0x400) + var stream-storage: (stream byte 0x40000) var stream/ecx: (addr stream byte) <- address stream-storage write stream, "=> symbol " var nested-trace-storage: trace diff --git a/shell/read.mu b/shell/read.mu index 1066d215..4e66fd7b 100644 --- a/shell/read.mu +++ b/shell/read.mu @@ -1,6 +1,6 @@ fn read-cell in: (addr gap-buffer), out: (addr handle cell), trace: (addr trace) { # eagerly tokenize everything so that the phases are easier to see in the trace - var tokens-storage: (stream token 0x400) + var tokens-storage: (stream token 0x10000) var tokens/edx: (addr stream token) <- address tokens-storage tokenize in, tokens, trace var error?/eax: boolean <- has-errors? trace @@ -10,7 +10,7 @@ fn read-cell in: (addr gap-buffer), out: (addr handle cell), trace: (addr trace) return } # insert more parens based on indentation - var parenthesized-tokens-storage: (stream token 0x400) + var parenthesized-tokens-storage: (stream token 0x10000) var parenthesized-tokens/ecx: (addr stream token) <- address parenthesized-tokens-storage parenthesize tokens, parenthesized-tokens, trace var error?/eax: boolean <- has-errors? trace diff --git a/shell/sandbox.mu b/shell/sandbox.mu index eb18990c..47086a1f 100644 --- a/shell/sandbox.mu +++ b/shell/sandbox.mu @@ -14,7 +14,7 @@ fn initialize-sandbox _self: (addr sandbox), fake-screen-width: int, fake-screen var data-ah/eax: (addr handle gap-buffer) <- get self, data allocate data-ah var data/eax: (addr gap-buffer) <- lookup *data-ah - initialize-gap-buffer data, 0x2000/default-gap-buffer-size=8KB + initialize-gap-buffer data, 0x40000/default-gap-buffer-size=256KB # var value-ah/eax: (addr handle stream byte) <- get self, value populate-stream value-ah, 0x1000/4KB diff --git a/shell/tokenize.mu b/shell/tokenize.mu index 2ba391a9..fba26b74 100644 --- a/shell/tokenize.mu +++ b/shell/tokenize.mu @@ -724,7 +724,7 @@ fn next-balanced-stream-token in: (addr gap-buffer), _out: (addr token), trace: var bracket-count: int # stream tokens contain whole function definitions on boot, so we always # give them plenty of space - populate-stream out-data-ah, 0x400/max-definition-size=1KB + populate-stream out-data-ah, 0x40000/max-definition-size=256KB var _out-data/eax: (addr stream byte) <- lookup *out-data-ah var out-data/edi: (addr stream byte) <- copy _out-data $next-balanced-stream-token:loop: {