From b55c6c55d28119974376f85c6a2481ff0fef690a Mon Sep 17 00:00:00 2001 From: Masamitsu MURASE Date: Sun, 24 Feb 2013 16:20:31 +0900 Subject: Make OP_ASGN faster. I think that `*=` and `/=` can be compiled to `OP_MUL` and `OP_DIV`. --- src/codegen.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/codegen.c') diff --git a/src/codegen.c b/src/codegen.c index 86d61fecf..1052f6dbf 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -1488,6 +1488,12 @@ codegen(codegen_scope *s, node *tree, int val) else if (len == 1 && name[0] == '-') { genop_peep(s, MKOP_ABC(OP_SUB, cursp(), idx, 1), val); } + else if (len == 1 && name[0] == '*') { + genop(s, MKOP_ABC(OP_MUL, cursp(), idx, 1)); + } + else if (len == 1 && name[0] == '/') { + genop(s, MKOP_ABC(OP_DIV, cursp(), idx, 1)); + } else if (len == 1 && name[0] == '<') { genop(s, MKOP_ABC(OP_LT, cursp(), idx, 1)); } -- cgit v1.2.3