Author: chip
Date: Mon Mar 13 15:41:32 2006
New Revision: 11894

Modified:
   trunk/docs/pdds/pdd03_calling_conventions.pod

Log:
Undeprecate the MAYBE_FLAT bit, which (contrary to my mistaken memory) is
not unused, but is in fact very often used for Perl 6.

New features: (1) When a hash value is flatted for MAYBE_FLAT, it must be
flattened as a list of pair PMCs; and (2) the proper pair PMC class to use
for this purpose must be indexed by HLL.


Modified: trunk/docs/pdds/pdd03_calling_conventions.pod
==============================================================================
--- trunk/docs/pdds/pdd03_calling_conventions.pod       (original)
+++ trunk/docs/pdds/pdd03_calling_conventions.pod       Mon Mar 13 15:41:32 2006
@@ -123,15 +123,19 @@
                The meaning of this bit is undefined when applied to integer,
                number, and string values.
 
-    6     MAYBE_FLAT ((DEPRECATED))
-               DEPRECATED - DO NOT USE
-               If:
-                (a) this bit is set on a PMC value; and,
-                (b) the PMC is an aggregate or a scalar containing a reference
-                    to an aggregate; and,
-                (c) the called function has a slurpy flag on the corresponding
-                    parameter;
-               then, pretend FLAT bit was set.
+    6     MAYBE_FLAT
+               If this bit is set on a PMC value, and:
+                (a) the PMC is either an aggregate or a scalar containing a
+                    reference to an aggregate, and
+                (b) the target register has the SLURPY bit set,
+               then pass the PMC value as a list of values, in these ways:
+                (a) if the value is an array, pass its elements in the normal
+                    way (FLAT style);
+                (b) if the value is a hash, pass its elements as a list of
+                    key/value pairs contained in HLL-specific 'pair' PMCs.
+               The meaning of this bit is undefined when applied to integer,
+               number, and string values.  It may not be combined with the
+               NAMED bit.
 
     7     (unused)
 

Reply via email to