Permalink
Browse files

Sync branch with trunk.

git-svn-id: https://svn.parrot.org/parrot/branches/pmc_i_ops@39482 d31e2699-5ff4-0310-a27c-f18f2fbe73fe
  • Loading branch information...
1 parent 903b9b0 commit 6366225d19affb64a7fe442a1b0bb4d6d16d6316 @bacek bacek committed Jun 9, 2009
Showing with 2,045 additions and 1,705 deletions.
  1. +0 −13 DEPRECATED.pod
  2. +6 −3 MANIFEST
  3. +5 −0 NEWS
  4. +1 −0 PBC_COMPAT
  5. +0 −1 PLATFORMS
  6. +1 −1 README
  7. +1 −1 README_win32.pod
  8. +1 −1 compilers/imcc/imcc.l
  9. +27 −12 compilers/imcc/imcc.y
  10. +1 −1 compilers/imcc/imclexer.c
  11. +746 −726 compilers/imcc/imcparser.c
  12. +1 −1 compilers/imcc/imcparser.h
  13. +5 −10 compilers/imcc/main.c
  14. +6 −0 compilers/imcc/parser_util.c
  15. +8 −2 compilers/imcc/pcc.c
  16. +7 −2 compilers/imcc/reg_alloc.c
  17. +1 −1 compilers/imcc/symreg.c
  18. +33 −11 docs/book/appc_command_line_options.pod
  19. +1 −1 docs/pdds/pdd28_strings.pod
  20. +1 −26 docs/running.pod
  21. +0 −6 include/parrot/embed.h
  22. +9 −5 include/parrot/io.h
  23. +2 −0 include/parrot/io_portable.h
  24. +21 −0 include/parrot/io_unix.h
  25. +24 −0 include/parrot/io_win32.h
  26. +21 −21 include/parrot/library.h
  27. +14 −8 include/parrot/runcore_api.h
  28. +6 −4 lib/Parrot/Install.pm
  29. +2 −2 lib/Parrot/Ops2pm.pm
  30. +40 −0 runtime/parrot/languages/parrot/parrot.pir
  31. +48 −40 src/embed.c
  32. +1 −0 src/gc/alloc_register.c
  33. +1 −1 src/hash.c
  34. +196 −25 src/io/api.c
  35. +6 −6 src/io/buffer.c
  36. +46 −0 src/io/unix.c
  37. +43 −0 src/io/win32.c
  38. +11 −14 src/library.c
  39. +13 −13 src/oo.c
  40. +1 −1 src/ops/io.ops
  41. +8 −2 src/packfile.c
  42. +5 −4 src/pmc.c
  43. +12 −6 src/pmc/codestring.pmc
  44. +1 −1 src/pmc/coroutine.pmc
  45. +3 −3 src/pmc/eventhandler.pmc
  46. +13 −79 src/pmc/filehandle.pmc
  47. +44 −0 src/pmc/handle.pmc
  48. +0 −1 src/pmc/resizablestringarray.pmc
  49. +43 −4 src/pmc/socket.pmc
  50. +9 −58 src/pmc/stringhandle.pmc
  51. +13 −2 src/pmc/undef.pmc
  52. +4 −1 src/pmc_freeze.c
  53. +8 −8 src/runcore/main.c
  54. +1 −2 src/string/api.c
  55. +2 −1 t/compilers/imcc/syn/file.t
  56. +23 −2 t/compilers/imcc/syn/pcc.t
  57. +4 −4 t/library/pcre.t
  58. BIN t/native_pbc/annotations.pbc
  59. BIN t/native_pbc/integer_1.pbc
  60. BIN t/native_pbc/integer_4.pbc
  61. BIN t/native_pbc/number_1.pbc
  62. BIN t/native_pbc/number_2.pbc
  63. BIN t/native_pbc/number_4.pbc
  64. BIN t/native_pbc/number_5.pbc
  65. BIN t/native_pbc/string_1.pbc
  66. BIN t/native_pbc/string_4.pbc
  67. +1 −1 t/op/arithmetics_pmc.t
  68. +0 −7 t/op/interp.t
  69. +419 −470 t/pmc/array.t
  70. +1 −53 t/pmc/io.t
  71. +1 −1 t/pmc/pmc.t
  72. +1 −1 t/steps/auto_icu-01.t
  73. +12 −12 t/steps/auto_jit-01.t
  74. +2 −2 t/steps/auto_pmc-01.t
  75. +5 −5 t/steps/gen_platform-01.t
  76. +0 −1 t/tools/install/02-install_files.t
  77. +0 −1 t/tools/install/03-lines_to_files.t
  78. +2 −1 t/tools/install/dev_overall.t
  79. +2 −1 t/tools/install/overall.t
  80. +1 −1 t/tools/ops2pm/05-renum_op_map_file.t
  81. +1 −1 t/tools/ops2pm/10-print_module.t
  82. +1 −1 t/tools/ops2pm/11-print_h.t
  83. +6 −1 tools/dev/create_language.pl
  84. +10 −3 tools/dev/fetch_languages.pl
  85. +12 −0 tools/dev/mk_native_pbc
  86. +4 −4 tools/dev/parrot-fuzzer
  87. +14 −1 tools/install/smoke_languages.pl
View
@@ -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
@@ -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.
View
@@ -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 []
@@ -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
@@ -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]
@@ -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]
View
5 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.
View
@@ -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
View
@@ -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
View
2 README
@@ -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.
View
@@ -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
View
@@ -505,7 +505,7 @@ SP [ ]
YYCHOP();
if (valp)
- valp->s = yytext;
+ valp->s = str_dup(yytext);
return LABEL;
}
View
@@ -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;
}
@@ -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;
}
;
@@ -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 ')'
@@ -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; }
;
@@ -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;
}
;
@@ -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
{
@@ -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;
@@ -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;
@@ -3601,7 +3601,7 @@ YY_RULE_SETUP
YYCHOP();
if (valp)
- valp->s = yytext;
+ valp->s = str_dup(yytext);
return LABEL;
}
Oops, something went wrong.

0 comments on commit 6366225

Please sign in to comment.