Applications
Alexandre Petit-Bianco
apbianco@cygnus.com
Thu Jul 12 19:29:00 GMT 2001
Bryce McKinlay writes:
> But the TestCR crashes. Seems it gets stuck in an infinate loop
> between these two calls:
I'm just about to test this patch. So what was the idea? Defining a
set of applications which execution would test the compiler from
regressions? A we reached conclusion? Or was it for the 3.0?
./A
2001年07月12日 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.y (patch_method_invocation): `new_this_arg' is a copy of
`this_arg'. Use it when calling maybe_use_access_method. Fixed
comment.
Index: parse.y
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/parse.y,v
retrieving revision 1.295
diff -u -p -r1.295 parse.y
--- parse.y 2001年07月12日 21:36:43 1.295
+++ parse.y 2001年07月13日 02:22:33
@@ -10013,7 +10019,8 @@ patch_method_invocation (patch, primary,
args = nreverse (args);
if (TREE_CODE (patch) != NEW_CLASS_EXPR)
{
- this_arg = primary ? primary : current_this;
+ tree new_this_arg;
+ new_this_arg = this_arg = primary ? primary : current_this;
/* If we're using an access method, things are different.
There are two familly of cases:
@@ -10030,7 +10037,7 @@ patch_method_invocation (patch, primary,
- LIST is non static. It's invocation is transformed from
x(a1,....,an) into access$<n>(this$<n>,a1,...,an).
- LIST is static. It's invocation is transformed from
- x(a1,....,an) into TYPEOF(this$<n>).x(a1,....an).
+ x(a1,....,an) into TYPE_OF(this$<n>).x(a1,....an).
Of course, this$<n> can be abitrary complex, ranging from
this0ドル (the immediate outer context) to
@@ -10040,9 +10047,9 @@ patch_method_invocation (patch, primary,
this_arg has to be moved into the (then generated) stub
argument list. In the meantime, the selected function
might have be replaced by a generated stub. */
- if (maybe_use_access_method (is_super_init, &list, &this_arg))
+ if (maybe_use_access_method (is_super_init, &list, &new_this_arg))
{
- args = tree_cons (NULL_TREE, this_arg, args);
+ args = tree_cons (NULL_TREE, new_this_arg, args);
this_arg = NULL_TREE; /* So it doesn't get chained twice */
}
}
More information about the Java
mailing list