diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2012-06-20 23:56:17 -0700 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2012-06-20 23:56:17 -0700 |
| commit | 178a1a63f960188c8d76e14983f75c4e1b346db2 (patch) | |
| tree | 485b11e090ccce1c5c01eb0a133864536257c12b /src | |
| parent | 396397bce17a0f03eab8ed6512651e665aa89c8a (diff) | |
| parent | aa1bbe67b67b36bdc449255c6ebb1c48c4c0a7db (diff) | |
| download | mruby-178a1a63f960188c8d76e14983f75c4e1b346db2.tar.gz mruby-178a1a63f960188c8d76e14983f75c4e1b346db2.zip | |
Merge pull request #300 from monaka/pr-simplify-codegen
Simplify. Should not use strlen() as possible. It needs complexity.
Diffstat (limited to 'src')
| -rw-r--r-- | src/codegen.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/codegen.c b/src/codegen.c index e6c339521..3374b2e7f 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -633,31 +633,31 @@ gen_call(codegen_scope *s, node *tree, mrb_sym name, int sp, int val) { const char *name = mrb_sym2name(s->mrb, sym); - if (!noop && name[0] == '+' && strlen(name) == 1) { + if (!noop && name[0] == '+' && name[1] == '\0') { genop(s, MKOP_ABC(OP_ADD, cursp(), idx, n)); } - else if (!noop && name[0] == '-' && strlen(name) == 1) { + else if (!noop && name[0] == '-' && name[1] == '\0') { genop(s, MKOP_ABC(OP_SUB, cursp(), idx, n)); } - else if (!noop && name[0] == '*' && strlen(name) == 1) { + else if (!noop && name[0] == '*' && name[1] == '\0') { genop(s, MKOP_ABC(OP_MUL, cursp(), idx, n)); } - else if (!noop && name[0] == '/' && strlen(name) == 1) { + else if (!noop && name[0] == '/' && name[1] == '\0') { genop(s, MKOP_ABC(OP_DIV, cursp(), idx, n)); } - else if (!noop && name[0] == '<' && strlen(name) == 1) { + else if (!noop && name[0] == '<' && name[1] == '\0') { genop(s, MKOP_ABC(OP_LT, cursp(), idx, n)); } - else if (!noop && name[0] == '<' && strlen(name) == 2 && name[1] == '=') { + else if (!noop && name[0] == '<' && name[1] == '=' && name[2] == '\0') { genop(s, MKOP_ABC(OP_LE, cursp(), idx, n)); } - else if (!noop && name[0] == '>' && strlen(name) == 1) { + else if (!noop && name[0] == '>' && name[1] == '\0') { genop(s, MKOP_ABC(OP_GT, cursp(), idx, n)); } - else if (!noop && name[0] == '>' && strlen(name) == 2 && name[1] == '=') { + else if (!noop && name[0] == '>' && name[1] == '=' && name[2] == '\0') { genop(s, MKOP_ABC(OP_GE, cursp(), idx, n)); } - else if (!noop && name[0] == '=' && strlen(name) == 2 && name[1] == '=') { + else if (!noop && name[0] == '=' && name[1] == '=' && name[2] == '\0') { genop(s, MKOP_ABC(OP_EQ, cursp(), idx, n)); } else { @@ -1258,8 +1258,8 @@ codegen(codegen_scope *s, node *tree, int val) int idx; codegen(s, tree->car, VAL); - if ((name[0] == '|' && strlen(name) == 2 && name[1] == '|') || - (name[0] == '&' && strlen(name) == 2 && name[1] == '&')) { + if ((name[0] == '|' && name[1] == '|' && name[2] == '\0') || + (name[0] == '&' && name[1] == '&' && name[2] == '\0')) { int pos; pop(); @@ -1276,22 +1276,22 @@ codegen(codegen_scope *s, node *tree, int val) pop(); pop(); idx = new_msym(s, sym); - if (name[0] == '+' && strlen(name) == 1) { + if (name[0] == '+' && name[1] == '\0') { genop(s, MKOP_ABC(OP_ADD, cursp(), idx, 1)); } - else if (name[0] == '-' && strlen(name) == 1) { + else if (name[0] == '-' && name[1] == '\0') { genop(s, MKOP_ABC(OP_SUB, cursp(), idx, 1)); } - else if (name[0] == '<' && strlen(name) == 1) { + else if (name[0] == '<' && name[1] == '\0') { genop(s, MKOP_ABC(OP_LT, cursp(), idx, 1)); } - else if (name[0] == '<' && strlen(name) == 2 && name[1] == '=') { + else if (name[0] == '<' && name[1] == '=' && name[2] == '\0') { genop(s, MKOP_ABC(OP_LE, cursp(), idx, 1)); } - else if (name[0] == '>' && strlen(name) == 1) { + else if (name[0] == '>' && name[1] == '\0') { genop(s, MKOP_ABC(OP_GT, cursp(), idx, 1)); } - else if (name[0] == '>' && strlen(name) == 2 && name[1] == '=') { + else if (name[0] == '>' && name[1] == '=' && name[2] == '\0') { genop(s, MKOP_ABC(OP_GE, cursp(), idx, 1)); } else { |
