Permalink
Browse files

fix find_lex and find_global jump info

* these opcodes were considered being branch sources
* that's just wrong


git-svn-id: https://svn.parrot.org/parrot/trunk@6494 d31e2699-5ff4-0310-a27c-f18f2fbe73fe
  • Loading branch information...
1 parent d9ef1a8 commit 3f2968e40ffc78803d265931bc63cdce0dab4db7 Leopold Toetsch committed Aug 6, 2004
Showing with 8 additions and 8 deletions.
  1. +1 −1 imcc/parser_util.c
  2. +7 −7 ops/var.ops
View
@@ -395,7 +395,7 @@ INS(Interp *interpreter, IMC_Unit * unit, char *name,
"undefined identifier '%s'\n", r[i]->name);
}
}
- if (op_info->jump) {
+ if (op_info->jump && op_info->jump != PARROT_JUMP_ENEXT) {
ins->type |= ITBRANCH;
if (!strcmp(name, "branch"))
ins->type |= IF_goto;
View
@@ -179,7 +179,7 @@ op find_lex(out PMC, in STR) {
if (!$1)
real_exception(interpreter, next, LEX_NOT_FOUND,
"Lexical '%Ss' not found", $2);
- goto ADDRESS(next);
+ goto NEXT();
}
op find_lex(out PMC, in INT) {
@@ -189,7 +189,7 @@ op find_lex(out PMC, in INT) {
if (!$1)
real_exception(interpreter, next, LEX_NOT_FOUND,
"Lexical #'%d' not found", (int) $2);
- goto ADDRESS(next);
+ goto NEXT();
}
op find_lex(out PMC, in INT, in STR) {
@@ -199,7 +199,7 @@ op find_lex(out PMC, in INT, in STR) {
if (!$1)
real_exception(interpreter, next, LEX_NOT_FOUND,
"Lexical '%Ss' not found", $3);
- goto ADDRESS(next);
+ goto NEXT();
}
op find_lex(out PMC, in INT, in INT) {
@@ -209,7 +209,7 @@ op find_lex(out PMC, in INT, in INT) {
if (!$1)
real_exception(interpreter, next, LEX_NOT_FOUND,
"Lexical #'%d' not found", (int) $3);
- goto ADDRESS(next);
+ goto NEXT();
}
=back
@@ -298,7 +298,7 @@ op find_global(out PMC, in STR) {
next = expr NEXT();
$1 = Parrot_get_global(interpreter, NULL, $2, next);
- goto ADDRESS(next);
+ goto NEXT();
}
op find_global(out PMC, in STR, in STR) {
@@ -310,7 +310,7 @@ op find_global(out PMC, in STR, in STR) {
next = expr NEXT();
$1 = Parrot_get_global(interpreter, $2, $3, next);
- goto ADDRESS(next);
+ goto NEXT();
}
op find_global(out PMC, in PMC, in STR) {
@@ -349,7 +349,7 @@ op find_global(out PMC, in PMC, in STR) {
else {
$1 = VTABLE_get_pmc_keyed_str(interpreter, stash, $3);
}
- goto ADDRESS(next);
+ goto NEXT();
}
=back

0 comments on commit 3f2968e

Please sign in to comment.