[svn:parrot] r48106 - in branches/gsoc_threads: . docs/book/pir docs/project include/parrot runtime/parrot/library src src/call src/interp src/runcore t/src tools/dev

Chandon at svn.parrot.org Chandon at svn.parrot.org
Sun Jul 18 23:56:12 UTC 2010


Author: Chandon
Date: Sun Jul 18 23:56:11 2010
New Revision: 48106
URL: https://trac.parrot.org/parrot/changeset/48106

Log:
[gsoc_threads] Merge from trunk.

Modified:
   branches/gsoc_threads/   (props changed)
   branches/gsoc_threads/DEPRECATED.pod
   branches/gsoc_threads/docs/book/pir/ch04_variables.pod
   branches/gsoc_threads/docs/project/support_policy.pod
   branches/gsoc_threads/include/parrot/key.h
   branches/gsoc_threads/include/parrot/runcore_api.h
   branches/gsoc_threads/include/parrot/runcore_trace.h   (props changed)
   branches/gsoc_threads/runtime/parrot/library/distutils.pir
   branches/gsoc_threads/src/call/args.c
   branches/gsoc_threads/src/interp/inter_create.c   (props changed)
   branches/gsoc_threads/src/key.c
   branches/gsoc_threads/src/runcore/cores.c   (props changed)
   branches/gsoc_threads/src/runcore/main.c
   branches/gsoc_threads/src/runcore/trace.c   (props changed)
   branches/gsoc_threads/src/vtable.tbl
   branches/gsoc_threads/t/src/embed.t   (props changed)
   branches/gsoc_threads/tools/dev/mk_gitignore.pl   (props changed)

Modified: branches/gsoc_threads/DEPRECATED.pod
==============================================================================
--- branches/gsoc_threads/DEPRECATED.pod	Sun Jul 18 23:38:22 2010	(r48105)
+++ branches/gsoc_threads/DEPRECATED.pod	Sun Jul 18 23:56:11 2010	(r48106)
@@ -305,6 +305,27 @@
 
 L<https://trac.parrot.org/parrot/ticket/1624>
 
+=item :main Sub behaviour and selection. [eligible in 2.7]
+
+Currently, if no :main sub is found, the first .sub in a file is used as
+main. Also, arguments are passed to the main sub regardless of the .param
+declarations in that sub.
+
+After this change, if no sub is marked with :main, an exception will be
+raised. Multiple :main declarations will be still be allowed, and all but the
+first will be ignored.
+
+This change will also force all subs, including :main, to have their
+arguments checked - to allow an arbitrary number of arguments, have
+this be the only .param declaration in the sub.
+
+ .param pmc args :slurpy
+
+
+L<https://trac.parrot.org/parrot/ticket/1033>
+L<https://trac.parrot.org/parrot/ticket/1704>
+L<https://trac.parrot.org/parrot/ticket/1705>
+
 =back
 
 =head1 Functions
@@ -406,13 +427,22 @@
 
 L<https://trac.parrot.org/parrot/ticket/463>
 
-=item PAST::Val node generation [eligible in 1.5]
-
-The PAST::Compiler may generate the code for PAST::Val nodes
-(i.e., constants) at the beginning of the block (Parrot sub) instead
-of the location where they occur in the PAST tree.
+=item PAST::Val node generation [eligible in 1.5] 
 
-L<https://trac.parrot.org/parrot/ticket/868>
+The PAST::Compiler may generate the code for PAST::Val nodes 
+(i.e., constants) at the beginning of the block (Parrot sub) instead 
+of the location where they occur in the PAST tree. 
+
+L<https://trac.parrot.org/parrot/ticket/868> 
+
+=item Meta-model implementation used by PCT [eligible in 2.7]
+
+PCT is set to switch to a new meta-model implementation for its classes
+and objects. This will most likely only affect those who rely on the
+interface of what is returned from .HOW, or rely on PCT objects exhibiting
+various other peculiarities of the P6object implementation. (Even when that
+is the case, the HOW API will not be changing too drastically, so for most
+PCT users there should be little to no upheavel.)
 
 =back
 

Modified: branches/gsoc_threads/docs/book/pir/ch04_variables.pod
==============================================================================
--- branches/gsoc_threads/docs/book/pir/ch04_variables.pod	Sun Jul 18 23:38:22 2010	(r48105)
+++ branches/gsoc_threads/docs/book/pir/ch04_variables.pod	Sun Jul 18 23:56:11 2010	(r48106)
@@ -182,7 +182,7 @@
 
   $P0 = or $P1, $P2
 
-=end PIR_FRAGMENT_INVALID[
+=end PIR_FRAGMENT_INVALID
 
 Both C<and> and C<or> are short-circuiting ops. If they can determine what
 value to return from the first argument, they'll never evaluate the second.

Modified: branches/gsoc_threads/docs/project/support_policy.pod
==============================================================================
--- branches/gsoc_threads/docs/project/support_policy.pod	Sun Jul 18 23:38:22 2010	(r48105)
+++ branches/gsoc_threads/docs/project/support_policy.pod	Sun Jul 18 23:56:11 2010	(r48106)
@@ -71,13 +71,19 @@
 next supported release. We sometimes delay removing deprecated features
 for various reasons, including dependencies by other parts of the core.
 
-The developer releases have more flexibility in feature removal, while
-still meeting the deprecation requirements for support releases. A
-feature that has a deprecation notification in the 2.0 release may be
-removed from any monthly developer release between 2.0 and the next
-supported release, though we're likely to stagger the removals. An
-experimental feature that was never included in a supported release may
-be removed before a supported release without a deprecation cycle.
+The developer releases have more flexibility in feature removal, while still
+meeting the deprecation requirements for support releases. A feature that has a
+deprecation notification in the 2.0 release may be removed from any monthly
+developer release between 2.0 and the next supported release, though we're
+likely to stagger the removals.
+
+=head2 Experimental Features
+
+From time to time, we may add features to get feedback on their utility and
+design.  Marking them as "Experimental" in F<DEPRECATED.pod> indicates that we
+may modify or remove them without official deprecation notices.  Use them at
+your own risk--and please provide feedback through official channels if you use
+them successfully or otherwise.
 
 =head2 Supported Older Versions
 

Modified: branches/gsoc_threads/include/parrot/key.h
==============================================================================
--- branches/gsoc_threads/include/parrot/key.h	Sun Jul 18 23:38:22 2010	(r48105)
+++ branches/gsoc_threads/include/parrot/key.h	Sun Jul 18 23:56:11 2010	(r48106)
@@ -147,17 +147,18 @@
         __attribute__nonnull__(1);
 
 PARROT_EXPORT
-PARROT_PURE_FUNCTION
-PARROT_WARN_UNUSED_RESULT
-INTVAL key_type(SHIM_INTERP, ARGIN(const PMC *key))
-        __attribute__nonnull__(2);
-
 PARROT_WARN_UNUSED_RESULT
 PARROT_CAN_RETURN_NULL
 STRING * key_string(PARROT_INTERP, ARGIN(PMC *key))
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
+PARROT_EXPORT
+PARROT_PURE_FUNCTION
+PARROT_WARN_UNUSED_RESULT
+INTVAL key_type(SHIM_INTERP, ARGIN(const PMC *key))
+        __attribute__nonnull__(2);
+
 #define ASSERT_ARGS_key_append __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(key1) \
@@ -203,11 +204,11 @@
     , PARROT_ASSERT_ARG(value))
 #define ASSERT_ARGS_key_set_to_string __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_key_type __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(key))
 #define ASSERT_ARGS_key_string __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(key))
+#define ASSERT_ARGS_key_type __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+       PARROT_ASSERT_ARG(key))
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 /* HEADERIZER END: src/key.c */
 

Modified: branches/gsoc_threads/include/parrot/runcore_api.h
==============================================================================
--- branches/gsoc_threads/include/parrot/runcore_api.h	Sun Jul 18 23:38:22 2010	(r48105)
+++ branches/gsoc_threads/include/parrot/runcore_api.h	Sun Jul 18 23:56:11 2010	(r48106)
@@ -78,13 +78,14 @@
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
-void Parrot_runcore_destroy(PARROT_INTERP)
+PARROT_EXPORT
+void Parrot_setup_event_func_ptrs(PARROT_INTERP)
         __attribute__nonnull__(1);
 
-void Parrot_runcore_init(PARROT_INTERP)
+void Parrot_runcore_destroy(PARROT_INTERP)
         __attribute__nonnull__(1);
 
-void Parrot_setup_event_func_ptrs(PARROT_INTERP)
+void Parrot_runcore_init(PARROT_INTERP)
         __attribute__nonnull__(1);
 
 void prepare_for_run(PARROT_INTERP)
@@ -106,12 +107,12 @@
 #define ASSERT_ARGS_Parrot_runcore_switch __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(name))
+#define ASSERT_ARGS_Parrot_setup_event_func_ptrs __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_Parrot_runcore_destroy __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_Parrot_runcore_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_Parrot_setup_event_func_ptrs __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_prepare_for_run __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_runops_int __attribute__unused__ int _ASSERT_ARGS_CHECK = (\

Modified: branches/gsoc_threads/runtime/parrot/library/distutils.pir
==============================================================================
--- branches/gsoc_threads/runtime/parrot/library/distutils.pir	Sun Jul 18 23:38:22 2010	(r48105)
+++ branches/gsoc_threads/runtime/parrot/library/distutils.pir	Sun Jul 18 23:56:11 2010	(r48106)
@@ -193,6 +193,10 @@
 
 L<http://bitbucket.org/riffraff/shakespeare-parrot/src/tip/setup.pir>
 
+L<http://github.com/bacek/pir/blob/master/setup.pir>
+
+L<http://github.com/kthakore/parrotSDL/blob/master/setup.pir>
+
 L<http://github.com/ekiru/tree-optimization/blob/master/setup.nqp>
 
 =cut

Modified: branches/gsoc_threads/src/call/args.c
==============================================================================
--- branches/gsoc_threads/src/call/args.c	Sun Jul 18 23:38:22 2010	(r48105)
+++ branches/gsoc_threads/src/call/args.c	Sun Jul 18 23:56:11 2010	(r48106)
@@ -583,15 +583,6 @@
 
         /* Regular arguments just set the value */
         switch (type) {
-          case 'I':
-            VTABLE_push_integer(interp, call_object, va_arg(*args, INTVAL));
-            break;
-          case 'N':
-            VTABLE_push_float(interp, call_object, va_arg(*args, FLOATVAL));
-            break;
-          case 'S':
-            VTABLE_push_string(interp, call_object, va_arg(*args, STRING *));
-            break;
           case 'P':
             {
                 const INTVAL type_lookahead = sig[i+1];
@@ -617,6 +608,15 @@
                             : clone_key_arg(interp, pmc_arg));
                 break;
             }
+          case 'S':
+            VTABLE_push_string(interp, call_object, va_arg(*args, STRING *));
+            break;
+          case 'I':
+            VTABLE_push_integer(interp, call_object, va_arg(*args, INTVAL));
+            break;
+          case 'N':
+            VTABLE_push_float(interp, call_object, va_arg(*args, FLOATVAL));
+            break;
           case '-':
             return call_object;
             break;

Modified: branches/gsoc_threads/src/key.c
==============================================================================
--- branches/gsoc_threads/src/key.c	Sun Jul 18 23:38:22 2010	(r48105)
+++ branches/gsoc_threads/src/key.c	Sun Jul 18 23:56:11 2010	(r48106)
@@ -379,6 +379,7 @@
 
 */
 
+PARROT_EXPORT
 PARROT_WARN_UNUSED_RESULT
 PARROT_CAN_RETURN_NULL
 STRING *

Modified: branches/gsoc_threads/src/runcore/main.c
==============================================================================
--- branches/gsoc_threads/src/runcore/main.c	Sun Jul 18 23:38:22 2010	(r48105)
+++ branches/gsoc_threads/src/runcore/main.c	Sun Jul 18 23:56:11 2010	(r48106)
@@ -261,6 +261,7 @@
 
 */
 
+PARROT_EXPORT
 void
 Parrot_setup_event_func_ptrs(PARROT_INTERP)
 {

Modified: branches/gsoc_threads/src/vtable.tbl
==============================================================================
--- branches/gsoc_threads/src/vtable.tbl	Sun Jul 18 23:38:22 2010	(r48105)
+++ branches/gsoc_threads/src/vtable.tbl	Sun Jul 18 23:56:11 2010	(r48106)
@@ -274,9 +274,9 @@
 PMC* inspect_str(STRING* what)
 
 void freeze(PMC* info)
-void thaw  (PMC* info) :write
-void thawfinish (PMC* info) :write
-void visit (PMC* info)
+void thaw(PMC* info) :write
+void thawfinish(PMC* info) :write
+void visit(PMC* info)
 
 void share()
 


More information about the parrot-commits mailing list