[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