diff --git a/TODO.FACTOR.txt b/TODO.FACTOR.txt index 705867cc41..8ec11e6b23 100644 --- a/TODO.FACTOR.txt +++ b/TODO.FACTOR.txt @@ -1,4 +1,3 @@ -- input values which get spilled on amd64 - if two tasks write to a unix stream, the buffer can overflow - x86 SIB addressing modes - exceptions inside callbacks are broken: diff --git a/library/compiler/amd64/alien.factor b/library/compiler/amd64/alien.factor index 6354ffe6dd..818f0fa43e 100644 --- a/library/compiler/amd64/alien.factor +++ b/library/compiler/amd64/alien.factor @@ -24,7 +24,7 @@ M: stack-params stack>freg drop >r R11 swap stack@ MOV r> stack@ R11 MOV ; M: stack-params freg>stack - >r stack-increment + swap r> stack>freg ; + >r stack-increment + cell + swap r> stack>freg ; M: %unbox-struct generate-node ( vop -- ) drop diff --git a/library/syntax/parser.facts b/library/syntax/parser.facts index 85f73cfe60..12c3af3f06 100644 --- a/library/syntax/parser.facts +++ b/library/syntax/parser.facts @@ -115,23 +115,6 @@ HELP: scan-word "( -- obj )" { $errors "Throws an error if the token does not name a word, and does not parse as a number." } $parsing-note ; -HELP: ch-search "( ch -- index )" -{ $values { "ch" "a character" } { "index" "an index in the current line" } } -{ $description "Searches the current line, starting from the parser column, for an occurrence of " { $snippet "ch" } ". If the character does not occur in the line, outputs -1." } -$parsing-note -{ $see-also POSTPONE: ( } ; - -HELP: until "( index -- )" -{ $values { "index" "an index in the current line" } } -{ $description "Advances the parser column to immediately after the index." } -$parsing-note -{ $see-also POSTPONE: ( } ; - -HELP: until-eol "( -- )" -{ $description "Discards all input until the end of the line." } -$parsing-note -{ $see-also POSTPONE: ! POSTPONE: #! } ; - HELP: escape "( escape -- ch )" { $values { "escape" "a single-character escape" } { "ch" "a character" } } { $description "Converts from a single-character escape code and the corresponding character." }