From 4eb3f1b8e609839c557fabf2ba7f665d22a6a6be Mon Sep 17 00:00:00 2001 From: Rafael Garcia-Suarez Date: Thu, 7 Sep 2006 09:49:31 +0000 Subject: Invalidate ISA and method caches when calling a safe compartment (bug #39887) Remove XS_VERSION, make it equal to VERSION p4raw-id: //depot/perl@28797 --- ext/Opcode/Opcode.xs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'ext/Opcode/Opcode.xs') diff --git a/ext/Opcode/Opcode.xs b/ext/Opcode/Opcode.xs index 86135e0d97..eba1c86d7d 100644 --- a/ext/Opcode/Opcode.xs +++ b/ext/Opcode/Opcode.xs @@ -314,6 +314,10 @@ PPCODE: dummy_hv = save_hash(PL_incgv); GvHV(PL_incgv) = (HV*)SvREFCNT_inc(GvHV(gv_HVadd(gv_fetchpv("INC",TRUE,SVt_PVHV)))); + /* Invalidate ISA and method caches */ + ++PL_sub_generation; + hv_clear(PL_stashcache); + PUSHMARK(SP); perl_call_sv(codesv, GIMME|G_EVAL|G_KEEPERR); /* use callers context */ sv_free( (SV *) dummy_hv); /* get rid of what save_hash gave us*/ -- cgit v1.2.1