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,