[svn:parrot] r48095 - in branches/gsoc_nfg: . compilers/imcc config/gen/platform/generic docs/project editor include/parrot runtime/parrot/library src src/call src/interp src/pmc src/runcore t/library t/src tools/dev
darbelo at svn.parrot.org
darbelo at svn.parrot.org
Thu Jul 15 05:22:24 UTC 2010
Author: darbelo
Date: Thu Jul 15 05:22:24 2010
New Revision: 48095
URL: https://trac.parrot.org/parrot/changeset/48095
Log:
Sync with trunk.
Modified:
branches/gsoc_nfg/ (props changed)
branches/gsoc_nfg/DEPRECATED.pod
branches/gsoc_nfg/NEWS
branches/gsoc_nfg/compilers/imcc/pbc.c
branches/gsoc_nfg/config/gen/platform/generic/env.c
branches/gsoc_nfg/docs/project/support_policy.pod
branches/gsoc_nfg/editor/README.pod
branches/gsoc_nfg/include/parrot/key.h
branches/gsoc_nfg/include/parrot/runcore_api.h
branches/gsoc_nfg/include/parrot/runcore_trace.h (props changed)
branches/gsoc_nfg/runtime/parrot/library/distutils.pir
branches/gsoc_nfg/src/call/args.c
branches/gsoc_nfg/src/interp/inter_create.c (props changed)
branches/gsoc_nfg/src/key.c
branches/gsoc_nfg/src/pmc/key.pmc
branches/gsoc_nfg/src/runcore/cores.c (props changed)
branches/gsoc_nfg/src/runcore/main.c
branches/gsoc_nfg/src/runcore/trace.c (props changed)
branches/gsoc_nfg/src/vtable.tbl
branches/gsoc_nfg/t/library/pcre.t
branches/gsoc_nfg/t/src/embed.t (props changed)
branches/gsoc_nfg/tools/dev/mk_gitignore.pl (props changed)
Modified: branches/gsoc_nfg/DEPRECATED.pod
==============================================================================
--- branches/gsoc_nfg/DEPRECATED.pod Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/DEPRECATED.pod Thu Jul 15 05:22:24 2010 (r48095)
@@ -406,13 +406,22 @@
L<https://trac.parrot.org/parrot/ticket/463>
-=item PAST::Val node generation [eligible in 1.5]
+=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.
-
-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_nfg/NEWS
==============================================================================
--- branches/gsoc_nfg/NEWS Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/NEWS Thu Jul 15 05:22:24 2010 (r48095)
@@ -1,5 +1,10 @@
# $Id$
+New in 2.6.0
+- Platforms
+ + The Fedora package 'parrot-devel' install the files for syntax-highlighting
+ and automatic indenting for the vim editor.
+
New in 2.5.0
- Core
+ Added ByteBuffer PMC to allow direct byte manipulation
Modified: branches/gsoc_nfg/compilers/imcc/pbc.c
==============================================================================
--- branches/gsoc_nfg/compilers/imcc/pbc.c Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/compilers/imcc/pbc.c Thu Jul 15 05:22:24 2010 (r48095)
@@ -1465,7 +1465,7 @@
if (unit->vtable_name) {
vtable_name = Parrot_str_new(interp, unit->vtable_name + 1,
strlen(unit->vtable_name) - 2);
- UNIT_FREE_CHAR(unit->method_name);
+ UNIT_FREE_CHAR(unit->vtable_name);
}
else
vtable_name = sub->name;
Modified: branches/gsoc_nfg/config/gen/platform/generic/env.c
==============================================================================
--- branches/gsoc_nfg/config/gen/platform/generic/env.c Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/config/gen/platform/generic/env.c Thu Jul 15 05:22:24 2010 (r48095)
@@ -74,13 +74,13 @@
void
Parrot_unsetenv(PARROT_INTERP, STRING *str_name)
{
- char * const name = Parrot_str_to_cstring(interp, str_name);
#ifdef PARROT_HAS_UNSETENV
+ char * const name = Parrot_str_to_cstring(interp, str_name);
unsetenv(name);
+ Parrot_str_free_cstring(name);
#else
- Parrot_setenv(name, "");
+ Parrot_setenv(interp, str_name, Parrot_str_new(interp, "", 0));
#endif
- Parrot_str_free_cstring(name);
}
/*
Modified: branches/gsoc_nfg/docs/project/support_policy.pod
==============================================================================
--- branches/gsoc_nfg/docs/project/support_policy.pod Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/docs/project/support_policy.pod Thu Jul 15 05:22:24 2010 (r48095)
@@ -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_nfg/editor/README.pod
==============================================================================
--- branches/gsoc_nfg/editor/README.pod Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/editor/README.pod Thu Jul 15 05:22:24 2010 (r48095)
@@ -14,14 +14,20 @@
=head2 Vim
-Calling C<make vim-install> in the F<editor/> directory will
-install several files in F<~/.vim>. All these files have the F<.vim>
+By default calling C<make vim-install> in the F<editor/> directory will
+install several files in F<~/.vim>. You can use the variable C<VIM_DIR>
+on the command line by calling C<make> to choose a different target directory
+for the vim files.
+
+ make vim-install [VIM_DIR=/vim_files_target_directory]
+
+All these files have the F<.vim>
extension. F<pir.vim> (generated from F<pir_vim.in>), F<pasm.vim>, and
F<pmc.vim> are syntax files; F<indent_pir.vim> is an indent plugin;
and F<filetype_parrot.vim> is a filetype script that tells vim to
associate the extensions .pir, .pasm, and .pmc with the
right syntax. The syntax files are installed to F<~/.vim/syntax/>;
-F<filetype_parrot.vim> is installed to F<~/.vim/ftdetect>;
+F<filetype_parrot.vim> is installed to F<~/.vim/parrot.vim>;
F<indent_pir.vim> is copied to F<~/.vim/indent/pir.vim>. If you want
indenting, you should also place C<filetype indent on> somewhere in
your F<~/.vimrc>.
@@ -35,7 +41,7 @@
in F<editor/> to build it.
-TODO: How do we install Kate syntax files?
+Copy the file F<imcc.xml> to F<~/.kde/share/apps/katepart/syntax>.
=head2 Emacs
@@ -77,7 +83,7 @@
(function (lambda ()
(setq indent-tabs-mode nil))))
-to F<~/.emacs> as this seems to prevent the odd behavior that is noted when
+to F<~/.emacs> as this seems to prevent the odd behavior that is noted when
using tabs in the pasm mode.
=back
Modified: branches/gsoc_nfg/include/parrot/key.h
==============================================================================
--- branches/gsoc_nfg/include/parrot/key.h Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/include/parrot/key.h Thu Jul 15 05:22:24 2010 (r48095)
@@ -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_nfg/include/parrot/runcore_api.h
==============================================================================
--- branches/gsoc_nfg/include/parrot/runcore_api.h Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/include/parrot/runcore_api.h Thu Jul 15 05:22:24 2010 (r48095)
@@ -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_nfg/runtime/parrot/library/distutils.pir
==============================================================================
--- branches/gsoc_nfg/runtime/parrot/library/distutils.pir Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/runtime/parrot/library/distutils.pir Thu Jul 15 05:22:24 2010 (r48095)
@@ -193,7 +193,11 @@
L<http://bitbucket.org/riffraff/shakespeare-parrot/src/tip/setup.pir>
-L<http://gitorious.org/kakapo/kakapo/blobs/master/setup.nqp>
+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_nfg/src/call/args.c
==============================================================================
--- branches/gsoc_nfg/src/call/args.c Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/src/call/args.c Thu Jul 15 05:22:24 2010 (r48095)
@@ -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_nfg/src/key.c
==============================================================================
--- branches/gsoc_nfg/src/key.c Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/src/key.c Thu Jul 15 05:22:24 2010 (r48095)
@@ -379,6 +379,7 @@
*/
+PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
STRING *
Modified: branches/gsoc_nfg/src/pmc/key.pmc
==============================================================================
--- branches/gsoc_nfg/src/pmc/key.pmc Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/src/pmc/key.pmc Thu Jul 15 05:22:24 2010 (r48095)
@@ -388,6 +388,18 @@
VTABLE STRING* get_repr() {
return key_set_to_string(INTERP, SELF);
}
+
+/*
+=item C<set_register(reg_no, type)>
+
+Set key to hold particular register.
+
+=cut
+*/
+ METHOD set_register(INTVAL reg_no, INTVAL reg_type) {
+ key_set_register(INTERP, SELF, reg_no, reg_type);
+ }
+
}
/*
Modified: branches/gsoc_nfg/src/runcore/main.c
==============================================================================
--- branches/gsoc_nfg/src/runcore/main.c Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/src/runcore/main.c Thu Jul 15 05:22:24 2010 (r48095)
@@ -261,6 +261,7 @@
*/
+PARROT_EXPORT
void
Parrot_setup_event_func_ptrs(PARROT_INTERP)
{
Modified: branches/gsoc_nfg/src/vtable.tbl
==============================================================================
--- branches/gsoc_nfg/src/vtable.tbl Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/src/vtable.tbl Thu Jul 15 05:22:24 2010 (r48095)
@@ -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()
Modified: branches/gsoc_nfg/t/library/pcre.t
==============================================================================
--- branches/gsoc_nfg/t/library/pcre.t Thu Jul 15 04:50:35 2010 (r48094)
+++ branches/gsoc_nfg/t/library/pcre.t Thu Jul 15 05:22:24 2010 (r48095)
@@ -1,5 +1,5 @@
#!perl
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
use strict;
@@ -101,7 +101,9 @@
OUT
## 2
- pir_output_is( <<"CODE", <<'OUT', 'soup to nuts' );
+ my @todo;
+ @todo = ( todo => '3..5 fail on Win32' ) if $^O =~ /MSWin32/;
+ pir_output_is( <<"CODE", <<'OUT', 'soup to nuts', @todo );
.include 'iglobals.pasm'
.include 'libpaths.pasm'
More information about the parrot-commits
mailing list