X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FScope%2FUpper.pm;h=377e434e5bd8adc8c6e2be7e2bd4f20b692155c8;hb=cb2377339e35cfbadcaf35f75434972bbaf741bc;hp=ebe24a1b1dc534754f43af4b1227704e7cff26b7;hpb=514b3cc42d4717ad8c48f61664e18d2fe656857d;p=perl%2Fmodules%2FScope-Upper.git diff --git a/lib/Scope/Upper.pm b/lib/Scope/Upper.pm index ebe24a1..377e434 100644 --- a/lib/Scope/Upper.pm +++ b/lib/Scope/Upper.pm @@ -9,13 +9,13 @@ Scope::Upper - Act on upper scopes. =head1 VERSION -Version 0.16 +Version 0.17 =cut our $VERSION; BEGIN { - $VERSION = '0.16'; + $VERSION = '0.17'; } =head1 SYNOPSIS @@ -520,8 +520,11 @@ However, it's possible to hook the end of the current scope compilation with L to replace an L'd code does not work reliably on perl 5.6 yet. -An exception will be thrown to prevent you from doing so. +Calling C to replace an L'd code frame does not work when a custom runloop is used or when debugging flags are set with C. +In those two cases, L will look for a C statement in its callback and, if there is one, throw an exception before executing the code. + +Moreover, in order to handle C statements properly, L currently has to suffer a run-time overhead proportional to the size of the the callback in every case (with a small ratio), and proportional to the size of B the code executed as the result of the L call (including subroutine calls inside the callback) when a C statement is found in the L callback. +Despite this shortcoming, this XS version of L should still run way faster than the pure-Perl version from L. =head1 DEPENDENCIES