[svn:parrot] r38464 - branches/tt528_vtinit/lib/Parrot/Pmc2c
bacek at svn.parrot.org
bacek at svn.parrot.org
Mon May 4 13:07:14 UTC 2009
Author: bacek
Date: Mon May 4 13:07:13 2009
New Revision: 38464
URL: https://trac.parrot.org/parrot/changeset/38464
Log:
Don't call PMC functions directly. Use interp->vtables instead.
Look's like DYNSUPER and Parent.SUPER isn't used now. Because DYNSUPER
previously generates broken C code. And Other.SUPER can't be found by
grep. But change it for consistency sake.
Modified:
branches/tt528_vtinit/lib/Parrot/Pmc2c/MethodEmitter.pm
Modified: branches/tt528_vtinit/lib/Parrot/Pmc2c/MethodEmitter.pm
==============================================================================
--- branches/tt528_vtinit/lib/Parrot/Pmc2c/MethodEmitter.pm Mon May 4 13:06:51 2009 (r38463)
+++ branches/tt528_vtinit/lib/Parrot/Pmc2c/MethodEmitter.pm Mon May 4 13:07:13 2009 (r38464)
@@ -250,7 +250,7 @@
\bDYNSUPER\b # Macro: DYNSUPER
\(\s*(.*?)\) # capture argument list
}x,
- sub { "interp->vtables[$supertype].$name(" . full_arguments($1) . ')' }
+ sub { "interp->vtables[$supertype]->$name(" . full_arguments($1) . ')' }
);
# Rewrite OtherClass.SUPER(args...)
@@ -260,7 +260,7 @@
\.SUPER\b # Macro: SUPER
\(\s*(.*?)\) # capture argument list
}x,
- sub { "Parrot_${1}_$name(" . full_arguments($2) . ')' }
+ sub { "interp->vtables[enum_class_${1}]->$name(" . full_arguments($2) . ')' }
);
# Rewrite SUPER(args...)
@@ -269,7 +269,7 @@
\bSUPER\b # Macro: SUPER
\(\s*(.*?)\) # capture argument list
}x,
- sub { "$supermethod(" . full_arguments($1) . ')' }
+ sub { "interp->vtables[$supertype]->$name(" . full_arguments($1) . ')' }
);
}
More information about the parrot-commits
mailing list