Author: lwall
Date: 2010-07-11 19:09:44 +0200 (Sun, 11 Jul 2010)
New Revision: 31626
Modified:
docs/Perl6/Spec/S12-objects.pod
Log:
[S12] discuss pessimizing optimizations with augment
Modified: docs/Perl6/Spec/S12-objects.pod
===================================================================
--- docs/Perl6/Spec/S12-objects.pod 2010-07-11 17:03:32 UTC (rev 31625)
+++ docs/Perl6/Spec/S12-objects.pod 2010-07-11 17:09:44 UTC (rev 31626)
@@ -2047,6 +2047,13 @@
class Mammal is repr(*) {...}
+An C<augment> is allowed to do this as long as it is before the
+main C<CHECK> time, at which point the compiler commits to its
+optimization strategies. Compilers are not required to support
+run-time pessimizations (though they may). Compilers may also generate
+both optimal and pessimal code paths and choose which to run based
+on run-time information, as long as correct semantics are maintained.
+
All non-native representations are required to support undefined type
objects that may contain unthrown exceptions (C<Failure> objects);
while this can be implemented using an alternate representation,