diff --git a/CgOp.pm b/CgOp.pm index 99fd2a60..2e2aab21 100644 --- a/CgOp.pm +++ b/CgOp.pm @@ -502,10 +502,6 @@ use warnings; } } - sub share_lex { - scopedlex($_[0], protolget($_[0])); - } - sub sub_obj { CgOp::Primitive->new(op => [ 'sub_obj', $_[0]->csname ]); } @@ -516,10 +512,6 @@ use warnings; CgOp::Primitive->new(op => [ 'proto_var', $_[0] ], zyg => [ $_[1] ]); } - sub protolget { - CgOp::Primitive->new(op => [ 'protolget', $_[0] ]); - } - sub return { $_[0] ? CgOp::Primitive->new(op => [ 'return', 1 ], zyg => [ $_[0] ]) : diff --git a/CodeGen.pm b/CodeGen.pm index 7f670995..2a1fe1f4 100644 --- a/CodeGen.pm +++ b/CodeGen.pm @@ -278,12 +278,6 @@ use 5.010; } } - sub pop_let { - my ($self, $which) = @_; - $self->peek_let($which); - $self->drop_let($which); - } - sub drop_let { my ($self, $which) = @_; die "Let consistency error" if $which ne $self->letstack->[-1]; @@ -423,12 +417,6 @@ use 5.010; $self->_push('Variable', "th.pos[$num]"); } - sub protolget { - my ($self, $name) = @_; - $self->_push('object', "th.info.proto.lex[" . qm($name) . "]"); - $self->cast('Variable'); - } - sub call_method { my ($self, $nv, $name, $numargs) = @_; my @args = reverse map { ($self->_popn(1))[0] } @@ -627,10 +615,8 @@ use 5.010; $self->_emit($body->csname . "_info.mo = ((DynObject)$cl).klass"); } - $self->pop_let('protopad'); + $self->drop_let('protopad'); pop @{ $self->bodies }; - my ($pp) = $self->_popn(1); - $self->_emit($body->csname . "_info.proto = $pp"); } sub sub_obj { diff --git a/Kernel.cs b/Kernel.cs index 549f7ee7..07ed450f 100644 --- a/Kernel.cs +++ b/Kernel.cs @@ -89,8 +89,6 @@ public class SubInfo { public Dictionary hints; // maybe should be a hint public LAD ltm; - // needs to go, currently used for some share stuff - public Frame proto; public void PutHint(string name, object val) { if (hints == null)