New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OP_ENTERSUB is not called for constructor of tied object #16382
Comments
From @KES777Created by @KES777TLDR; How to reproduce: sub new{ bless {} }; our $test; sub TIESCALAR { package MyTie::Scalar; package main; sub MyTie::Scalar::FETCH { my $x; print "TEST: $MyTie::test\n"; $cat script.xs #include "ppport.h" int printf( "Run OP start(%d)\n", idv ); SV *tv = newSVpvs( "MyTie::Scalar" ); OP *o; CV *cv; SV *pkg; SV* intv = get_sv("DB::intv", 0); switch( o->op_type ) { cv = find_runcv(0); // sv_dump( cv ); cv = find_runcv(0); // sv_dump( cv ); PL_op = CALL_FPTR(o->op_ppaddr)(aTHX); printf( "Run OP finish (%d)\n", idv ); PERL_ASYNC_CHECK(); MODULE = Module PACKAGE = Module PL_runops = My_runops2; $perl -MModule script.pl /*** here TIESCALAR is called but there is no OP_ENTERSUB for it ***/ /*** Actually next is not relevant, but provided for completeness ***/ OP Type: 193 -- next statement intv:0 Perl Info
|
From @iabynOn Thu, Jan 25, 2018 at 10:00:29AM -0800, KES wrote:
pp_entersub() is still called, but it is called directly, rather than from -- |
The RT System itself - Status changed from 'new' to 'open' |
From @KES777yes, it is. Because when I count depth level it occasionally became negative. Also I have noticed that for the DESTROY method pp_entersub is not called from a runops loop too. |
From zefram@fysh.orgKES wrote:
Not a bug. There is no entersub op because the sub call is not being
The leavesub op isn't part of the call site, it's part of the called sub. -zefram |
From @iabynOn Sun, Jan 28, 2018 at 01:03:57PM +0000, Zefram wrote:
I agree that this ticket should be rejected. -- |
@xsawyerx - Status changed from 'open' to 'rejected' |
Migrated from rt.perl.org#132768 (status was 'rejected')
Searchable as RT132768$
The text was updated successfully, but these errors were encountered: