-USING: compiler.cfg compiler.cfg.instructions help.markup help.syntax sequences strings ;
+USING: compiler.cfg compiler.cfg.instructions help.markup
+help.syntax kernel sequences strings ;
IN: compiler.cfg.stacks.clearing
ARTICLE: "compiler.cfg.stacks.clearing" "Uninitialized stack location clearing"
} ;
HELP: dangerous-insn?
-{ $values { "state" "a stack state" } { "insn" insn } }
+{ $values { "state" "a stack state" } { "insn" insn } { "?" boolean } }
{ $description "Checks if the instruction is dangerous (can cause a stack underflow). " }
{ $examples
{ $example
- "USING: compiler.cfg.instructions compiler.cfg.registers prettyprint ;"
+ "USING: compiler.cfg.instructions compiler.cfg.registers compiler.cfg.stacks.clearing prettyprint ;"
"{ { 0 { } } { 0 { } } } T{ ##peek { loc D 0 } } dangerous-insn? ."
"t"
}
{ $example
- "USING: compiler.cfg.instructions compiler.cfg.registers prettyprint ;"
+ "USING: compiler.cfg.instructions compiler.cfg.registers compiler.cfg.stacks.clearing prettyprint ;"
"{ { 0 { } } { 2 { 0 1 } } } T{ ##peek { loc R 0 } } dangerous-insn? ."
"f"
}