Author: tewk
Date: Wed Oct 24 17:11:20 2007
New Revision: 22465

Modified:
   trunk/docs/pdds/pdd23_exceptions.pod

Changes in other areas also in this revision:
Added:
   trunk/t/op/exceptions.t
Modified:
   trunk/DEPRECATED.pod
   trunk/compilers/json/JSON/pge2pir.tg
   trunk/compilers/json/postalcodes.pir
   trunk/compilers/past-pm/POST/Grammar.tg
   trunk/compilers/pct/src/HLLCompiler.pir
   trunk/compilers/pct/src/POST/Grammar.tg
   trunk/compilers/pge/PGE/Exp.pir
   trunk/compilers/pirc/src/pirutil.c
   trunk/compilers/tge/TGE/Compiler.pir
   trunk/docs/compiler_faq.pod
   trunk/editor/pir-mode.el
   trunk/languages/APL/src/parse2past.tg
   trunk/languages/PIR/docs/PROPOSALS
   trunk/languages/PIR/lib/pasm_core.pg
   trunk/languages/PIR/lib/pasm_instr.pg
   trunk/languages/WMLScript/src/wmlsstdlibs.pir
   trunk/languages/cardinal/src/OSTGrammar.tg
   trunk/languages/dotnet/doc/constructs/exceptions.pod
   trunk/languages/dotnet/src/translator.pir
   trunk/languages/forth/forth.pir
   trunk/languages/forth/test.pir
   trunk/languages/lisp/internals.pir
   trunk/languages/lisp/system.pir
   trunk/languages/lua/lib/lfs.pir
   trunk/languages/perl6/perl6.pir
   trunk/languages/pheme/lib/PhemeSymbols.pir
   trunk/languages/pheme/pheme.pir
   trunk/languages/tcl/runtime/builtin/append.pir
   trunk/languages/tcl/runtime/builtin/catch.pir
   trunk/languages/tcl/runtime/builtin/dict.pir
   trunk/languages/tcl/runtime/builtin/file.pir
   trunk/languages/tcl/runtime/builtin/foreach.pir
   trunk/languages/tcl/runtime/builtin/info.pir
   trunk/languages/tcl/runtime/builtin/inline.pir
   trunk/languages/tcl/runtime/builtin/lappend.pir
   trunk/languages/tcl/runtime/builtin/lindex.pir
   trunk/languages/tcl/runtime/builtin/namespace.pir
   trunk/languages/tcl/runtime/builtin/proc.pir
   trunk/languages/tcl/runtime/builtin/scan.pir
   trunk/languages/tcl/runtime/builtin/source.pir
   trunk/languages/tcl/runtime/builtin/string.pir
   trunk/languages/tcl/runtime/builtin/uplevel.pir
   trunk/languages/tcl/runtime/builtin/vwait.pir
   trunk/languages/tcl/runtime/conversions.pir
   trunk/languages/tcl/runtime/hacks.pir
   trunk/languages/tcl/runtime/string_to_list.pir
   trunk/languages/tcl/runtime/tcllib.pir
   trunk/languages/tcl/runtime/variables.pir
   trunk/languages/tcl/src/builtin/expr.pir
   trunk/languages/tcl/src/builtin/for.tmt
   trunk/languages/tcl/src/builtin/while.tmt
   trunk/languages/tcl/src/grammar/expr/functions.pir
   trunk/languages/tcl/src/grammar/expr/operators.pir
   trunk/languages/tcl/src/grammar/expr/past2pir.tg
   trunk/languages/tcl/src/macros.pir
   trunk/languages/tcl/src/tclsh.pir
   trunk/languages/tcl/t/internals/select_option.t
   trunk/languages/tcl/t/internals/select_switches.t
   trunk/lib/Parrot/PIR/Formatter.pm
   trunk/runtime/parrot/library/Iter.pir
   trunk/runtime/parrot/library/PGE/P6Grammar.pir
   trunk/runtime/parrot/library/PGE/Perl6Grammar.pir
   trunk/runtime/parrot/library/Parrot/HLLCompiler.pir
   trunk/src/ops/core.ops
   trunk/src/ops/ops.num
   trunk/t/compilers/pge/p5regex/p5rx.t
   trunk/t/compilers/pge/p6regex/01-regex.t
   trunk/t/compilers/pge/perl6regex/01-regex.t
   trunk/t/library/coroutine.t
   trunk/t/library/iter.t
   trunk/t/library/pg.t
   trunk/t/library/range.t
   trunk/t/oo/composition.t
   trunk/t/oo/ops.t
   trunk/t/op/cmp-nonbranch.t
   trunk/t/op/gc.t
   trunk/t/op/sprintf.t
   trunk/t/pmc/bigint.t
   trunk/t/pmc/class.t
   trunk/t/pmc/complex.t
   trunk/t/pmc/exception.t
   trunk/t/pmc/exporter.t
   trunk/t/pmc/float.t
   trunk/t/pmc/io_status.t
   trunk/t/pmc/object.t
   trunk/t/pmc/parrotio.t
   trunk/t/pmc/pmcproxy.t
   trunk/t/pmc/resizablestringarray.t
   trunk/t/pmc/super.t

Log:
[exceptions]  Adds pop_eh and push_eh_p
  ** MAKE REALCLEAN REQUIRED DUE TO NEW OPS **


Modified: trunk/docs/pdds/pdd23_exceptions.pod
==============================================================================
--- trunk/docs/pdds/pdd23_exceptions.pod        (original)
+++ trunk/docs/pdds/pdd23_exceptions.pod        Wed Oct 24 17:11:20 2007
@@ -54,16 +54,18 @@
 exception (i.e. the call stack is I<not> unwound first).  See below for more
 detail.
 
-If a I<LABEL> is provided, Parrot creates and pushes a continuation that
+If a I<LABEL> or is provided, Parrot creates and pushes a continuation that
 resumes execution at I<LABEL> if invoked, which has the effect of
 unconditionally handling all errors, and unwinding the stack to that label.
 
+If a I<INVOCABLE_PMC> is provided, Parrot pushes the pmc which will execute
+if invoked, which has the effect of unconditionally handling all errors,
+replacing the stack with that execution context of the invocable pmc.
+
 =item B<pop_eh>
 
 Pop the most recently pushed exception handler off the exception handler stack.
 
-{{ TODO: Provide exception handler stack introspection. }}
-
 =item B<throw I<EXCEPTION>>
 
 Throw an exception consisting of the given I<EXCEPTION> PMC.  Active exception
@@ -131,6 +133,28 @@
 
 =back
 
+=head2 Exception Introspection Opcodes
+{{ TODO: Provide exception handler stack introspection. }}
+
+These are the opcodes relevant to introspection of the exception handler stack:
+
+=over
+
+=item B<count_eh>
+
+Return the quantity of currently active exception handlers.
+
+=item B<get_eh I<index>>
+
+Return the exception handler at I<index>
+
+=item B<get_all_eh>
+
+Return a resizable pmc array of all current exception handlers.
+
+=back
+
+
 =head2 Order of Operations in Exception Handling
 
 When B<throw> or B<throwcc> is called, for all active exception

Reply via email to