summaryrefslogtreecommitdiff
path: root/pod
diff options
context:
space:
mode:
authorRadu Greab <radu@netsoft.ro>2003-07-06 23:09:12 +0300
committerJarkko Hietaniemi <jhi@iki.fi>2003-07-06 16:46:20 +0000
commit7619c85e4dd9a96a05fc0fc72ace9eb2b9f1bc6f (patch)
tree88ad9fbd60c34574dbe69a0d142746c4ba6673ef /pod
parenta7433df8ff37a7cd2fbb0f3ac8f0c0cc2aa71114 (diff)
downloadperl-7619c85e4dd9a96a05fc0fc72ace9eb2b9f1bc6f.tar.gz
DProf fixes
Message-ID: <16136.22456.99575.573777@ix.netsoft.ro> p4raw-id: //depot/perl@20034
Diffstat (limited to 'pod')
-rw-r--r--pod/perldiag.pod7
-rw-r--r--pod/perltodo.pod7
-rw-r--r--pod/perlvar.pod4
3 files changed, 18 insertions, 0 deletions
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index b52404e944..30ea1ff170 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -2656,6 +2656,13 @@ there are in the savestack.
(P) Failed an internal consistency check while trying to reset a weak
reference.
+=item panic: Devel::DProf inconsistent subroutine return
+
+(P) Devel::DProf called a subroutine that exited using goto(LABEL),
+last(LABEL) or next(LABEL). Leaving that way a subroutine called from
+an XSUB will lead very probably to a crash of the interpreter. This is
+a bug that will hopefully one day get fixed.
+
=item panic: die %s
(P) We popped the context stack to an eval context, and then discovered
diff --git a/pod/perltodo.pod b/pod/perltodo.pod
index 1b5db1183d..e434a1d4f0 100644
--- a/pod/perltodo.pod
+++ b/pod/perltodo.pod
@@ -580,6 +580,13 @@ Should taint be stopped from affecting control flow, if ($tainted)?
Should tainted symbolic method calls and subref calls be stopped?
(Look at Ruby's $SAFE levels for inspiration?)
+=head2 Perform correctly when XSUBs call subroutines that exit via goto(LABEL) and friends
+
+If an XSUB calls a subroutine that exits using goto(LABEL),
+last(LABEL) or next(LABEL), then the interpreter will very probably crash
+with a segfault because the execution resumes in the XSUB instead of
+never returning there.
+
=head1 Vague ideas
Ideas which have been discussed, and which may or may not happen.
diff --git a/pod/perlvar.pod b/pod/perlvar.pod
index baa0d829fc..4ba6fcff1e 100644
--- a/pod/perlvar.pod
+++ b/pod/perlvar.pod
@@ -1078,6 +1078,10 @@ Provide informative "file" names for evals based on the place they were compiled
Provide informative names to anonymous subroutines based on the place they
were compiled.
+=item 0x400
+
+Debug assertion subroutines enter/exit.
+
=back
Some bits may be relevant at compile-time only, some at