Skip to content

Commit

Permalink
Sync branch with trunk.
Browse files Browse the repository at this point in the history
git-svn-id: https://svn.parrot.org/parrot/branches/pmc_i_ops@39482 d31e2699-5ff4-0310-a27c-f18f2fbe73fe
  • Loading branch information
bacek committed Jun 9, 2009
1 parent 903b9b0 commit 6366225
Show file tree
Hide file tree
Showing 87 changed files with 2,045 additions and 1,705 deletions.
13 changes: 0 additions & 13 deletions DEPRECATED.pod
Expand Up @@ -196,13 +196,6 @@ to happen.

L<http://rt.perl.org/rt3/Ticket/Display.html?id=53302>

=item Parrot_readbc, Parrot_loadbc. [eligible in 1.1]

They have been renamed to C<Parrot_pbc_read>, C<Parrot_pbc_load>.
C<Parrot_pbc_read> has one third int argument.

L<https://trac.parrot.org/parrot/ticket/266>

=item C API coding standards cleanup [eligible in 1.1]

All C API functions that aren't currently named according to the
Expand All @@ -212,12 +205,6 @@ check in 1.4 or 2.0 for the new names.

L<https://trac.parrot.org/parrot/ticket/443>

=item Parrot_add_library_path [eligible in 1.1]

Will be renamed to C<Parrot_lib_add_path_from_cstring>.

L<https://trac.parrot.org/parrot/ticket/455>

=item parrot_new_pmc_hash [eligible in 1.5]

This function will be removed. parrot_new_hash should be used in its place.
Expand Down
9 changes: 6 additions & 3 deletions MANIFEST
@@ -1,10 +1,10 @@
# ex: set ro:
# $Id$
#
# generated by tools/dev/mk_manifest_and_skip.pl Sun May 24 16:30:09 2009 UT
# generated by tools/dev/mk_manifest_and_skip.pl Thu Jun 4 22:51:55 2009 UT
#
# See below for documentation on the format of this file.
#
# See tools/dev/install_files.pl for documentation on the
# format of this file.
# See docs/submissions.pod on how to recreate this file after SVN
# has been told about new or deleted files.
CREDITS []
Expand Down Expand Up @@ -114,6 +114,7 @@ compilers/nqp/t/25-list_context.t [test]
compilers/nqp/t/26-method_ops.t [test]
compilers/nqp/t/27-ternary.t [test]
compilers/nqp/t/28-return.t [test]
compilers/nqp/t/29-self.t [test]
compilers/nqp/t/harness [test]
compilers/pct/PCT.pir [pct]
compilers/pct/README.pod []doc
Expand Down Expand Up @@ -1760,6 +1761,7 @@ t/op/01-parse_ops.t [test]
t/op/64bit.t [test]
t/op/annotate.t [test]
t/op/arithmetics.t [test]
t/op/arithmetics_pmc.t [test]
t/op/basic.t [test]
t/op/bitwise.t [test]
t/op/box.t [test]
Expand Down Expand Up @@ -2027,6 +2029,7 @@ t/tools/install/testlib/manifest_pseudo [test]
t/tools/install/testlib/parrot.pc [test]
t/tools/install/testlib/phony [test]
t/tools/install/testlib/phony.exe [test]
t/tools/install/testlib/runtime/parrot/include/sockets.pasm [test]
t/tools/install/testlib/runtime/parrot/library/TGE.pbc [test]
t/tools/install/testlib/src/ops/ops.num [test]
t/tools/install/testlib/src/pmc/pmc_object.h [test]
Expand Down
5 changes: 5 additions & 0 deletions NEWS
@@ -1,5 +1,10 @@
# $Id$

New in 1.3.0
- Core
+ Optimization for parts of the IO system
+ Fix inheritance heirarchy of FileHandle and Socket PMC types

New in 1.2.0
- Core
+ Fixes for pir classes inheriting from core pmcs.
Expand Down
1 change: 1 addition & 0 deletions PBC_COMPAT
Expand Up @@ -27,6 +27,7 @@

# please insert tab separated entries at the top of the list

4.8 2009.05.30 Infinoid Added Handle PMC
4.7 2009.05.29 cotto add cmp_pmc opcode (also, addition of setstdin and root_new in previous commits)
4.6 2009.05.18 bacek removed PackfileAnnotationKeys PMC
4.5 2009.04.10 cotto removed Ref and SharedRef PMCs
Expand Down
1 change: 0 additions & 1 deletion PLATFORMS
Expand Up @@ -58,7 +58,6 @@ netbsd5.0-sparc-gcc-4.1.3 B Y - - Y Y Y Y ? 20090519
netbsd5.0-sparc64-gcc-4.1.3 B8 Y - - Y Y Y Y/1 ? 20090519
netbsd5.0-x86_64-gcc-4.1.3 8 Y - - Y Y Y Y ? 20090419
opensolaris-x86-gcc_4.0.3 4 Y Y ? ? ? Y Y/2 ? 20080325
sol8-sparc-gcc_4.1.0 B - - - - - - Y/42 ? 20090317
win32-x86-mingw_gcc4.3.0 Y Y - - - Y Y/88 ? 20081203
win32-x86-msvc_6.0 4 - Y - - - Y Y/8 ? 20090315
win32-x64-msvc_9.0 8 - - - - - Y Y/51 ? 20081203
Expand Down
2 changes: 1 addition & 1 deletion README
Expand Up @@ -18,7 +18,7 @@ You need a C compiler, a linker, and a make program of course. If you will be
linking with the ICU library you have to download and install it before
configuring Parrot.

Get it from http://www-306.ibm.com/software/globalization/icu/downloads.jsp
Get it from http://site.icu-project.org/download

You also need Perl 5.8.4 or newer, Storable 2.12 or newer, and Bundle::Parrot
to run various configure and build scripts.
Expand Down
2 changes: 1 addition & 1 deletion README_win32.pod
Expand Up @@ -60,7 +60,7 @@ build Parrot without it, by not installing it or asking Parrot to
ignore it (C<--without-icu>).

If you want to use ICU, download it from
L<http://www.icu-project.org/download/>.
L<http://site.icu-project.org/download>.

If you want to use precompiled binaries, do the following.
Download the package matching your compiler, unpack it (say, into
Expand Down
2 changes: 1 addition & 1 deletion compilers/imcc/imcc.l
Expand Up @@ -505,7 +505,7 @@ SP [ ]
YYCHOP();

if (valp)
valp->s = yytext;
valp->s = str_dup(yytext);

return LABEL;
}
Expand Down
39 changes: 27 additions & 12 deletions compilers/imcc/imcc.y
Expand Up @@ -800,14 +800,19 @@ IMCC_itcall_sub(PARROT_INTERP, ARGIN(SymReg *sub))
{
ASSERT_ARGS(IMCC_itcall_sub)
IMCC_INFO(interp)->cur_call->pcc_sub->sub = sub;

if (IMCC_INFO(interp)->cur_obj) {
if (IMCC_INFO(interp)->cur_obj->set != 'P')
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR, "object isn't a PMC");
IMCC_INFO(interp)->cur_call->pcc_sub->object = IMCC_INFO(interp)->cur_obj;

IMCC_INFO(interp)->cur_call->pcc_sub->object =
IMCC_INFO(interp)->cur_obj;
IMCC_INFO(interp)->cur_obj = NULL;
}

if (IMCC_INFO(interp)->cur_call->pcc_sub->sub->pmc_type == enum_class_NCI)
IMCC_INFO(interp)->cur_call->pcc_sub->flags |= isNCI;

if (IMCC_INFO(interp)->cur_unit->type == IMC_PCCSUB)
IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->pcc_sub->calls_a_sub |= 1;
}
Expand Down Expand Up @@ -1407,13 +1412,13 @@ vtable:
VTABLE_METHOD
{
$$ = P_VTABLE;
IMCC_INFO(interp)->cur_unit->vtable_name = NULL;
IMCC_INFO(interp)->cur_unit->vtable_name = NULL;
IMCC_INFO(interp)->cur_unit->is_vtable_method = 1;
}
| VTABLE_METHOD '(' STRINGC ')'
{
$$ = P_VTABLE;
IMCC_INFO(interp)->cur_unit->vtable_name = $3;
IMCC_INFO(interp)->cur_unit->vtable_name = $3;
IMCC_INFO(interp)->cur_unit->is_vtable_method = 1;
}
;
Expand All @@ -1423,21 +1428,21 @@ method:
{
$$ = P_METHOD;
IMCC_INFO(interp)->cur_unit->method_name = NULL;
IMCC_INFO(interp)->cur_unit->is_method = 1;
IMCC_INFO(interp)->cur_unit->is_method = 1;
}
| METHOD '(' any_string ')'
{
$$ = P_METHOD;
IMCC_INFO(interp)->cur_unit->method_name = $3;
IMCC_INFO(interp)->cur_unit->is_method = 1;
IMCC_INFO(interp)->cur_unit->is_method = 1;
}
;

ns_entry_name:
NS_ENTRY
{
$$ = 0;
IMCC_INFO(interp)->cur_unit->ns_entry_name = NULL;
IMCC_INFO(interp)->cur_unit->ns_entry_name = NULL;
IMCC_INFO(interp)->cur_unit->has_ns_entry_name = 1;
}
| NS_ENTRY '(' any_string ')'
Expand Down Expand Up @@ -1674,8 +1679,8 @@ paramtype:
| ADV_OPTIONAL { $$ = VT_OPTIONAL; }
| ADV_OPT_FLAG { $$ = VT_OPT_FLAG; }
| ADV_NAMED { $$ = VT_NAMED; }
| ADV_NAMED '(' STRINGC ')' { adv_named_set(interp, $3); $$ = 0; }
| ADV_NAMED '(' USTRINGC ')' { adv_named_set_u(interp, $3); $$ = 0; }
| ADV_NAMED '(' STRINGC ')' { adv_named_set(interp, $3); $$ = 0; mem_sys_free($3); }
| ADV_NAMED '(' USTRINGC ')' { adv_named_set_u(interp, $3); $$ = 0; mem_sys_free($3); }
| UNIQUE_REG { $$ = VT_UNIQUE_REG; }
;

Expand Down Expand Up @@ -1826,7 +1831,9 @@ _labels:
label:
LABEL
{
$$ = iLABEL(interp, IMCC_INFO(interp)->cur_unit, mk_local_label(interp, $1));
Instruction *i = iLABEL(interp, IMCC_INFO(interp)->cur_unit, mk_local_label(interp, $1));
mem_sys_free($1);
$$ = i;
}
;

Expand Down Expand Up @@ -1899,11 +1906,13 @@ labeled_inst:
{
SymReg *n = mk_const(interp, $2, 'S');
set_lexical(interp, $4, n); $$ = 0;
mem_sys_free($2);
}
| LEXICAL USTRINGC COMMA target
{
SymReg *n = mk_const(interp, $2, 'U');
set_lexical(interp, $4, n); $$ = 0;
mem_sys_free($2);
}
| CONST { pesky_global__is_def=1; } type IDENTIFIER '=' const
{
Expand Down Expand Up @@ -2092,9 +2101,9 @@ func_assign:
;

the_sub:
IDENTIFIER { $$ = mk_sub_address(interp, $1); mem_sys_free($1); }
| STRINGC { $$ = mk_sub_address_fromc(interp, $1); mem_sys_free($1); }
| USTRINGC { $$ = mk_sub_address_u(interp, $1); mem_sys_free($1); }
IDENTIFIER { $$ = mk_sub_address(interp, $1); mem_sys_free($1); }
| STRINGC { $$ = mk_sub_address_fromc(interp, $1); mem_sys_free($1); }
| USTRINGC { $$ = mk_sub_address_u(interp, $1); mem_sys_free($1); }
| target
{
$$ = $1;
Expand All @@ -2115,6 +2124,12 @@ the_sub:
IMCC_INFO(interp)->cur_obj = $1;
$$ = $3;
}
| target DOT USTRINGC
{
IMCC_INFO(interp)->cur_obj = $1;
$$ = mk_const(interp, $3, 'U');
mem_sys_free($3);
}
| target DOT STRINGC
{
IMCC_INFO(interp)->cur_obj = $1;
Expand Down
2 changes: 1 addition & 1 deletion compilers/imcc/imclexer.c
Expand Up @@ -3601,7 +3601,7 @@ YY_RULE_SETUP
YYCHOP();

if (valp)
valp->s = yytext;
valp->s = str_dup(yytext);

return LABEL;
}
Expand Down

0 comments on commit 6366225

Please sign in to comment.