[svn:parrot] r49362 - branches/generational_gc/lib/Parrot/Pmc2c/PMC
bacek at svn.parrot.org
bacek at svn.parrot.org
Tue Sep 28 09:46:21 UTC 2010
Author: bacek
Date: Tue Sep 28 09:46:21 2010
New Revision: 49362
URL: https://trac.parrot.org/parrot/changeset/49362
Log:
Remove special handling of default.find_method. It's not marked as writable, so there is no need to handle it specially
Modified:
branches/generational_gc/lib/Parrot/Pmc2c/PMC/default.pm
Modified: branches/generational_gc/lib/Parrot/Pmc2c/PMC/default.pm
==============================================================================
--- branches/generational_gc/lib/Parrot/Pmc2c/PMC/default.pm Tue Sep 28 09:46:05 2010 (r49361)
+++ branches/generational_gc/lib/Parrot/Pmc2c/PMC/default.pm Tue Sep 28 09:46:21 2010 (r49362)
@@ -51,20 +51,6 @@
$ro->{emitter} = $self->{emitter};
foreach my $method ( @{ $self->vtable->methods } ) {
my $vt_method_name = $method->name;
- if ($vt_method_name eq 'find_method' && $self->name ne 'default_wb') {
- # Generate default_ro_find_method.
- $self->{emitter}->emit(<<'EOC');
-static PMC *
-Parrot_default_ro_find_method(PARROT_INTERP, PMC *_self, STRING *method_name) {
- /* Use non-readonly find_method. Current vtable is ro variant. So ro_variant contains non-ro variant */
- PMC *const method = _self->vtable->ro_variant_vtable->find_method(interp, _self, method_name);
- if (!PMC_IS_NULL(VTABLE_getprop(interp, method, CONST_STRING_GEN(interp, "write"))))
- return PMCNULL;
- else
- return method;
-}
-EOC
- }
if ( $self->vtable_method_does_write($vt_method_name) ) {
my $m = $self->_generate_default_method($ro, $method, 'cant_do_write_method');
$m->generate_body($ro);
@@ -125,7 +111,7 @@
# Generate RO version of default VTABLE.
my $ro_vtable_decl = '';
foreach my $name ( @{ $self->vtable->names } ) {
- if ($self->vtable_method_does_write($name) || ($name eq 'find_method')) {
+ if ($self->vtable_method_does_write($name)) {
$ro_vtable_decl .= " vt->$name = Parrot_default_ro_${name};\n";
}
}
More information about the parrot-commits
mailing list