Skip to content
This repository
Browse code

Merge branch 'master' into m0-spec

  • Loading branch information...
commit cb24ece0bd703241f46ae670d5ba3ed289a402ff 2 parents c386e91 + 8b56ba3
Duke Leto authored May 24, 2011

Showing 193 changed files with 8,751 additions and 8,548 deletions. Show diff stats Hide diff stats

  1. 5  .gitignore
  2. 8  CREDITS
  3. 8  ChangeLog
  4. 15  Configure.pl
  5. 52  MANIFEST
  6. 10  MANIFEST.SKIP
  7. 8  MANIFEST.generated
  8. 43  NEWS
  9. 2  PLATFORMS
  10. 2  README
  11. 2  VERSION
  12. 136  api.yaml
  13. 3  compilers/imcc/Defines.mak
  14. 46  compilers/imcc/Rules.in
  15. 210  compilers/imcc/api.c
  16. 272  compilers/imcc/cfg.c
  17. 43  compilers/imcc/cfg.h
  18. 126  compilers/imcc/debug.c
  19. 66  compilers/imcc/debug.h
  20. 97  compilers/imcc/imc.c
  21. 295  compilers/imcc/imc.h
  22. 651  compilers/imcc/imcc.l
  23. 1,082  compilers/imcc/imcc.y
  24. 952  compilers/imcc/imclexer.c
  25. 1,728  compilers/imcc/imcparser.c
  26. 2  compilers/imcc/imcparser.h
  27. 188  compilers/imcc/instructions.c
  28. 49  compilers/imcc/instructions.h
  29. 1,224  compilers/imcc/main.c
  30. 374  compilers/imcc/optimizer.c
  31. 27  compilers/imcc/optimizer.h
  32. 29  compilers/imcc/parser.h
  33. 152  compilers/imcc/parser_util.c
  34. 995  compilers/imcc/pbc.c
  35. 76  compilers/imcc/pbc.h
  36. 373  compilers/imcc/pcc.c
  37. 177  compilers/imcc/reg_alloc.c
  38. 33  compilers/imcc/sets.c
  39. 39  compilers/imcc/sets.h
  40. 360  compilers/imcc/symreg.c
  41. 198  compilers/imcc/symreg.h
  42. 3  compilers/opsc/Defines.mak
  43. 3  compilers/opsc/Rules.mak
  44. 2  compilers/opsc/opsc.pir
  45. 7  compilers/opsc/src/Ops/OpLib.pm
  46. 107  compilers/opsc/src/Ops/Renumberer.pm
  47. 13  compilers/opsc/src/Ops/Trans/C.pm
  48. 12  compilers/pct/src/PAST/Compiler.pir
  49. 107  config/auto/frames.pm
  50. 75  config/auto/frames/test_exec_cygwin_c.in
  51. 70  config/auto/frames/test_exec_linux_c.in
  52. 70  config/auto/frames/test_exec_openbsd_c.in
  53. 8  config/auto/gc.pm
  54. 64  config/auto/git_describe.pm
  55. 2  config/auto/icu.pm
  56. 5  config/auto/ipv6/test.in
  57. 19  config/auto/llvm.pm
  58. 3  config/auto/opengl.pm
  59. 1  config/auto/platform.pm
  60. 2  config/auto/pmc.pm
  61. 67  config/auto/sha1.pm
  62. 2  config/auto/warnings.pm
  63. 6  config/gen/config_h/config_h.in
  64. 4  config/gen/config_pm.pm
  65. 1  config/gen/config_pm/config_lib_pir.in
  66. 156  config/gen/makefiles/root.in
  67. 214  config/gen/opengl.pm
  68. 5  config/init/defaults.pm
  69. 10  config/init/hints/darwin.pm
  70. 3  config/init/hints/mswin32.pm
  71. 6  docs/book/pir/ch03_basic_syntax.pod
  72. 4  docs/book/pir/ch04_variables.pod
  73. 15  docs/book/pir/ch09_exceptions.pod
  74. 18  docs/compiler_faq.pod
  75. 231  docs/deprecations/deprecations.pod
  76. 73  docs/deprecations/deprecations_2_6.pod
  77. 200  docs/deprecations/deprecations_2_9.pod
  78. 222  docs/deprecations/deprecations_3_0.pod
  79. 28  docs/deprecations/deprecations_3_3.pod
  80. 59  docs/deprecations/deprecations_3_6.pod
  81. 135  docs/deprecations/how_to_deprecate.pod
  82. 12  docs/imcc/operation.pod
  83. 13  docs/index/developer.json
  84. 3  docs/parrothist.pod
  85. 12  docs/pdds/pdd19_pir.pod
  86. 22  docs/pdds/pdd20_lexical_vars.pod
  87. 8  docs/pdds/pdd22_io.pod
  88. 2  docs/project/git_workflow.pod
  89. 34  docs/project/hacking_tips.pod
  90. 26  docs/project/release_manager_guide.pod
  91. 8  docs/project/support_policy.pod
  92. 7  docs/submissions.pod
  93. 352  docs/translations/README.BGR
  94. 2  docs/translations/README.deutsch
  95. 4  examples/library/ncurses_life.pir
  96. 254  frontend/parrot/main.c
  97. 9  frontend/parrot_debugger/main.c
  98. 13  frontend/pbc_dump/main.c
  99. 10  frontend/pbc_merge/main.c
  100. 64  include/imcc/api.h
  101. 135  include/imcc/embed.h
  102. 21  include/imcc/yyscanner.h
  103. 179  include/parrot/api.h
  104. 30  include/parrot/call.h
  105. 10  include/parrot/compiler.h
  106. 126  include/parrot/context.h
  107. 2  include/parrot/core_types.h
  108. 21  include/parrot/datatypes.h
  109. 6  include/parrot/debugger.h
  110. 22  include/parrot/encoding.h
  111. 2  include/parrot/exceptions.h
  112. 8  include/parrot/exit.h
  113. 8  include/parrot/extend.h
  114. 4  include/parrot/gc_api.h
  115. 5  include/parrot/global_setup.h
  116. 12  include/parrot/hash.h
  117. 27  include/parrot/hll.h
  118. 61  include/parrot/interpreter.h
  119. 113  include/parrot/io.h
  120. 2  include/parrot/key.h
  121. 14  include/parrot/list.h
  122. 1  include/parrot/longopt.h
  123. 26  include/parrot/misc.h
  124. 28  include/parrot/namespace.h
  125. 39  include/parrot/nci.h
  126. 14  include/parrot/oo.h
  127. 2  include/parrot/oplib/core_ops.h
  128. 101  include/parrot/packfile.h
  129. 7  include/parrot/platform_interface.h
  130. 16  include/parrot/pmc.h
  131. 3  include/parrot/pmc_freeze.h
  132. 10  include/parrot/pobj.h
  133. 2  include/parrot/runcore_api.h
  134. 8  include/parrot/scheduler.h
  135. 12  include/parrot/string.h
  136. 29  include/parrot/string_funcs.h
  137. 8  include/parrot/thread.h
  138. 2  include/parrot/vtables.h
  139. 6  lib/Parrot/Configure/Options/Conf.pm
  140. 3  lib/Parrot/Configure/Options/Conf/Shared.pm
  141. 3  lib/Parrot/Configure/Step/List.pm
  142. 45  lib/Parrot/Git/Describe.pm
  143. 7  lib/Parrot/Headerizer.pm
  144. 71  lib/Parrot/Headerizer/Functions.pm
  145. 1  lib/Parrot/Manifest.pm
  146. 2  lib/Parrot/Pmc2c/Emitter.pm
  147. 4  lib/Parrot/Pmc2c/MULTI.pm
  148. 3  lib/Parrot/Pmc2c/Method.pm
  149. 16  lib/Parrot/Pmc2c/PMC.pm
  150. 6  lib/Parrot/Pmc2c/PMC/default.pm
  151. 2  lib/Parrot/Pmc2c/Parser.pm
  152. 3  lib/Parrot/Pmc2c/Pmc2cMain.pm
  153. 44  lib/Parrot/SHA1.pm
  154. 106  lib/Parrot/Test.pm
  155. 25  lib/Parrot/Vtable.pm
  156. 5  ports/debian/README.source
  157. 35  ports/debian/changelog
  158. 10  ports/debian/control
  159. 6  ports/debian/control.in
  160. 483  ports/debian/copyright
  161. 1  ports/debian/parrot-devel.install.in
  162. 2  ports/debian/parrot.docs
  163. 1  ports/debian/patches/03_fix_nqp_man.patch
  164. 50  ports/debian/patches/04_fix_opsc_man.patch
  165. 13  ports/debian/patches/05_fix_gc_ftbfs_ia64.patch
  166. 2  ports/debian/patches/series
  167. 10  ports/debian/rules
  168. 1  ports/debian/source/format
  169. 0  ports/fedora/{2.11.0 → 3.3.0}/parrot.desk.in.tar.gz
  170. 44  ports/fedora/{2.11.0 → 3.3.0}/parrot.spec
  171. 4  runtime/parrot/library/Archive/Tar.pir
  172. 4  runtime/parrot/library/Archive/Zip.pir
  173. 4  runtime/parrot/library/HTTP/Message.pir
  174. 4  runtime/parrot/library/LWP/Protocol.pir
  175. 6  runtime/parrot/library/LWP/UserAgent.pir
  176. 363  runtime/parrot/library/NCI/Utils.pir
  177. 71  runtime/parrot/library/OpenGL.pir
  178. 2  runtime/parrot/library/PGE/Dumper.pir
  179. 2  runtime/parrot/library/Stream/Sub.pir
  180. 4  runtime/parrot/library/Stream/Writer.pir
  181. 6  runtime/parrot/library/TAP/Harness.pir
  182. 4  runtime/parrot/library/TAP/Parser.pir
  183. 11  runtime/parrot/library/distutils.pir
  184. 56  runtime/parrot/library/libpcre.pir
  185. 659  runtime/parrot/library/ncurses.pasm
  186. 15  runtime/parrot/library/osutils.pir
  187. 38  runtime/parrot/library/pcre.pir
  188. 197  runtime/parrot/library/postgres.pasm
  189. 499  runtime/parrot/library/postgres.pir
  190. 43  runtime/parrot/library/uuid.pir
  191. 132  src/call/args.c
  192. 4  src/call/context.c
5  .gitignore
@@ -251,6 +251,7 @@
251 251
 /runtime/parrot/include/*.fpmc
252 252
 /runtime/parrot/include/*.pasm
253 253
 /runtime/parrot/include/*.pbc
  254
+/runtime/parrot/include/*.pir
254 255
 /runtime/parrot/languages/JSON/JSON.pir
255 256
 /runtime/parrot/languages/data_json
256 257
 /runtime/parrot/library/*.pbc
@@ -386,10 +387,6 @@
386 387
 /t/compilers/data_json/*.pir
387 388
 /t/compilers/data_json/*_pbcexe
388 389
 /t/compilers/imcc/*.pbc
389  
-/t/compilers/imcc/imcpasm/*.pasm
390  
-/t/compilers/imcc/imcpasm/*.pbc
391  
-/t/compilers/imcc/imcpasm/*.pir
392  
-/t/compilers/imcc/imcpasm/*_pbcexe
393 390
 /t/compilers/imcc/reg/*.pasm
394 391
 /t/compilers/imcc/reg/*.pbc
395 392
 /t/compilers/imcc/reg/*.pir
8  CREDITS
@@ -100,7 +100,7 @@ E: yDNA@cpan.org
100 100
 N: Andrew Whitworth
101 101
 D: Internals development
102 102
 D: Documentation
103  
-D: Release manager for 0.8.2, 1.3.0, 1.5.0, 2.4.0 and 2.11.0
  103
+D: Release manager for 0.8.2, 1.3.0, 1.5.0, 2.4.0, 2.11.0 and 3.3.0
104 104
 E: wknight8111@gmail.com
105 105
 U: Whiteknight
106 106
 
@@ -434,7 +434,7 @@ D: Miscellaneous codingstd fixes
434 434
 N: Gerd Pokorra
435 435
 A: gerd
436 436
 E: pokorra@uni-siegen.de
437  
-D: Release manager for 1.9.0, 2.3.0, 2.5.0, 2.8.0, 2.9.0 and 3.2.0
  437
+D: Release manager for 1.9.0, 2.3.0, 2.5.0, 2.8.0, 2.9.0, 3.2.0 and 3.4.0
438 438
 
439 439
 N: Goplat
440 440
 D: Win98 and other fixes.
@@ -719,6 +719,10 @@ N: Markus Mayr
719 719
 D: Implementation of the Rational PMC
720 720
 D: Fixing SDL-bindings and examples
721 721
 
  722
+N: Matt Boyle
  723
+U: ligne
  724
+D: Fixes to docs and test-suite.
  725
+
722 726
 N: Matt Diephouse
723 727
 U: mdiep
724 728
 E: matt@diephouse.com
8  ChangeLog
... ...
@@ -1,5 +1,13 @@
1 1
 #1
2 2
 
  3
+2011.05.17     Gerd
  4
+	* Released 3.4.0
  5
+	See NEWS for more.
  6
+
  7
+2011.04.19     Whiteknight
  8
+    * Released 3.3.0
  9
+    See NEWS for more.
  10
+
3 11
 2011.03.15     Gerd
4 12
 	* Released 3.2.0
5 13
 	See NEWS for more.
15  Configure.pl
@@ -66,8 +66,9 @@
66 66
 # from Parrot::Configure::Data
67 67
 $conf->options->set( %{$args} );
68 68
 # save the command-line for make reconfig
69  
-$conf->data->set(configure_args => @ARGV ? '"'.join("\" \"", map {qq($_)} @ARGV).'"'
70  
-                                         : '');
  69
+$conf->data->set(configure_args => @ARGV
  70
+    ? '"'.join("\" \"", map {qq($_)} @ARGV).'"'
  71
+    : '');
71 72
 
72 73
 # Log files created by Configure.pl in MANIFEST.configure.generated
73 74
 $conf->{active_configuration} = 1;
@@ -358,10 +359,6 @@ =head2 Parrot Options
358 359
 
359 360
 Use the given ops files.
360 361
 
361  
-=item C<--buildframes>
362  
-
363  
-Dynamically build NCI call frames.
364  
-
365 362
 =back
366 363
 
367 364
 =head2 International Components For Unicode (ICU) Options
@@ -407,6 +404,11 @@ =head2 Other Options
407 404
 Use this option if you want imcc's parser and lexer files to be generated.
408 405
 Needs a working parser and lexer.
409 406
 
  407
+=item C<--with-llvm>
  408
+
  409
+Use this option if you have a recent version of LLVM installed and wish Parrot
  410
+to link to it.
  411
+
410 412
 =back
411 413
 
412 414
 =head1 CONFIGURATION-FILE INTERFACE
@@ -618,7 +620,6 @@ =head2 Example
618 620
     auto::isreg
619 621
     auto::arch
620 622
     auto::jit
621  
-    auto::frames
622 623
     auto::cpu
623 624
     auto::inline
624 625
     auto::gc
52  MANIFEST
@@ -35,6 +35,7 @@ compilers/data_json/data_json/grammar.pg                    [data_json]
35 35
 compilers/data_json/data_json/pge2pir.tg                    [data_json]
36 36
 compilers/imcc/Defines.mak                                  [imcc]
37 37
 compilers/imcc/Rules.in                                     [imcc]
  38
+compilers/imcc/api.c                                        [imcc]
38 39
 compilers/imcc/cfg.c                                        [imcc]
39 40
 compilers/imcc/cfg.h                                        [imcc]
40 41
 compilers/imcc/debug.c                                      [imcc]
@@ -77,7 +78,6 @@ compilers/opsc/src/Ops/Emitter.pm                           [opsc]
77 78
 compilers/opsc/src/Ops/File.pm                              [opsc]
78 79
 compilers/opsc/src/Ops/Op.pm                                [opsc]
79 80
 compilers/opsc/src/Ops/OpLib.pm                             [opsc]
80  
-compilers/opsc/src/Ops/Renumberer.pm                        [opsc]
81 81
 compilers/opsc/src/Ops/Trans.pm                             [opsc]
82 82
 compilers/opsc/src/Ops/Trans/C.pm                           [opsc]
83 83
 compilers/opsc/src/builtins.pir                             [opsc]
@@ -139,17 +139,12 @@ config/auto/env.pm                                          []
139 139
 config/auto/env/test_setenv_c.in                            []
140 140
 config/auto/env/test_unsetenv_c.in                          []
141 141
 config/auto/format.pm                                       []
142  
-config/auto/frames.pm                                       []
143  
-config/auto/frames/test_exec_cygwin_c.in                    []
144  
-config/auto/frames/test_exec_linux_c.in                     []
145  
-config/auto/frames/test_exec_openbsd_c.in                   []
146 142
 config/auto/gc.pm                                           []
147 143
 config/auto/gc/test_c.in                                    []
148 144
 config/auto/gcc.pm                                          []
149 145
 config/auto/gcc/test_c.in                                   []
150 146
 config/auto/gettext.pm                                      []
151 147
 config/auto/gettext/gettext_c.in                            []
152  
-config/auto/git_describe.pm                                 []
153 148
 config/auto/glibc.pm                                        []
154 149
 config/auto/glibc/test_c.in                                 []
155 150
 config/auto/gmp.pm                                          []
@@ -189,7 +184,6 @@ config/auto/pod2man.pm                                      []
189 184
 config/auto/readline.pm                                     []
190 185
 config/auto/readline/readline_c.in                          []
191 186
 config/auto/revision.pm                                     []
192  
-config/auto/sha1.pm                                         []
193 187
 config/auto/signal.pm                                       []
194 188
 config/auto/signal/test1_c.in                               []
195 189
 config/auto/signal/test2_c.in                               []
@@ -292,6 +286,13 @@ docs/compiler_faq.pod                                       [doc]
292 286
 docs/configuration.pod                                      [doc]
293 287
 docs/debug.pod                                              [doc]
294 288
 docs/debugger.pod                                           [doc]
  289
+docs/deprecations/deprecations.pod                          [doc]
  290
+docs/deprecations/deprecations_2_6.pod                      [doc]
  291
+docs/deprecations/deprecations_2_9.pod                      [doc]
  292
+docs/deprecations/deprecations_3_0.pod                      [doc]
  293
+docs/deprecations/deprecations_3_3.pod                      [doc]
  294
+docs/deprecations/deprecations_3_6.pod                      [doc]
  295
+docs/deprecations/how_to_deprecate.pod                      [doc]
295 296
 docs/dev/byteorder.pod                                      [doc]
296 297
 docs/dev/c_functions.pod                                    [doc]
297 298
 docs/dev/coverage.pod                                       [doc]
@@ -866,6 +867,9 @@ frontend/parrot_debugger/main.c                             []
866 867
 frontend/pbc_dump/main.c                                    []
867 868
 frontend/pbc_dump/packdump.c                                []
868 869
 frontend/pbc_merge/main.c                                   []
  870
+include/imcc/api.h                                          [main]include
  871
+include/imcc/embed.h                                        [main]include
  872
+include/imcc/yyscanner.h                                    [main]include
869 873
 include/parrot/api.h                                        [main]include
870 874
 include/parrot/atomic.h                                     [main]include
871 875
 include/parrot/atomic/fallback.h                            [main]include
@@ -1156,7 +1160,6 @@ runtime/parrot/library/distutils.pir                        [library]
1156 1160
 runtime/parrot/library/dumper.pir                           [library]
1157 1161
 runtime/parrot/library/libpcre.pir                          [library]
1158 1162
 runtime/parrot/library/ncurses.declarations                 [library]
1159  
-runtime/parrot/library/ncurses.pasm                         [library]
1160 1163
 runtime/parrot/library/ncurses.pir                          [library]
1161 1164
 runtime/parrot/library/openssl.declarations                 [library]
1162 1165
 runtime/parrot/library/osutils.pir                          [library]
@@ -1164,7 +1167,6 @@ runtime/parrot/library/parrotlib.pir                        [library]
1164 1167
 runtime/parrot/library/pcore.pir                            [library]
1165 1168
 runtime/parrot/library/pcre.pir                             [library]
1166 1169
 runtime/parrot/library/postgres.declarations                [library]
1167  
-runtime/parrot/library/postgres.pasm                        [library]
1168 1170
 runtime/parrot/library/postgres.pir                         [library]
1169 1171
 runtime/parrot/library/random_lib.pir                       [library]
1170 1172
 runtime/parrot/library/uuid.pir                             [library]
@@ -1206,6 +1208,7 @@ src/dynpmc/rotest.pmc                                       []
1206 1208
 src/dynpmc/subproxy.pmc                                     []
1207 1209
 src/embed.c                                                 []
1208 1210
 src/embed/api.c                                             []
  1211
+src/embed/bytecode.c                                        []
1209 1212
 src/embed/embed_private.h                                   []
1210 1213
 src/embed/pmc.c                                             []
1211 1214
 src/embed/strings.c                                         []
@@ -1288,6 +1291,7 @@ src/platform/darwin/hires_timer.c                           []
1288 1291
 src/platform/darwin/sysmem.c                                []
1289 1292
 src/platform/generic/dl.c                                   []
1290 1293
 src/platform/generic/encoding.c                             []
  1294
+src/platform/generic/entropy.c                              []
1291 1295
 src/platform/generic/env.c                                  []
1292 1296
 src/platform/generic/error.c                                []
1293 1297
 src/platform/generic/exec.c                                 []
@@ -1308,6 +1312,7 @@ src/platform/openbsd/math.c                                 []
1308 1312
 src/platform/solaris/math.c                                 []
1309 1313
 src/platform/solaris/time.c                                 []
1310 1314
 src/platform/win32/dl.c                                     []
  1315
+src/platform/win32/entropy.c                                []
1311 1316
 src/platform/win32/env.c                                    []
1312 1317
 src/platform/win32/error.c                                  []
1313 1318
 src/platform/win32/exec.c                                   []
@@ -1353,6 +1358,7 @@ src/pmc/imageiofreeze.pmc                                   []
1353 1358
 src/pmc/imageiosize.pmc                                     []
1354 1359
 src/pmc/imageiostrings.pmc                                  []
1355 1360
 src/pmc/imageiothaw.pmc                                     []
  1361
+src/pmc/imccompiler.pmc                                     []
1356 1362
 src/pmc/integer.pmc                                         []
1357 1363
 src/pmc/iterator.pmc                                        []
1358 1364
 src/pmc/key.pmc                                             []
@@ -1478,12 +1484,6 @@ t/codingstd/tabs.t                                          [test]
1478 1484
 t/codingstd/trailing_space.t                                [test]
1479 1485
 t/compilers/data_json/from_parrot.t                         [test]
1480 1486
 t/compilers/data_json/to_parrot.t                           [test]
1481  
-t/compilers/imcc/imcpasm/cfg.t                              [test]
1482  
-t/compilers/imcc/imcpasm/opt0.t                             [test]
1483  
-t/compilers/imcc/imcpasm/opt1.t                             [test]
1484  
-t/compilers/imcc/imcpasm/opt2.t                             [test]
1485  
-t/compilers/imcc/imcpasm/optc.t                             [test]
1486  
-t/compilers/imcc/imcpasm/pcc.t                              [test]
1487 1487
 t/compilers/imcc/reg/alloc.t                                [test]
1488 1488
 t/compilers/imcc/reg/spill.t                                [test]
1489 1489
 t/compilers/imcc/reg/spill_old.t                            [test]
@@ -1603,10 +1603,8 @@ t/configure/050-fatal.t                                     [test]
1603 1603
 t/configure/051-fatal_step.t                                [test]
1604 1604
 t/configure/059-silent.t                                    [test]
1605 1605
 t/configure/061-revision_from_cache.t                       [test]
1606  
-t/configure/062-sha1_to_cache.t                             [test]
1607  
-t/configure/063-git_describe_to_cache.t                     [test]
1608  
-t/configure/064-sha1_from_cache.t                           [test]
1609  
-t/configure/065-git_describe_from_cache.t                   [test]
  1606
+t/configure/062-sha1.t                                      [test]
  1607
+t/configure/063-git_describe.t                              [test]
1610 1608
 t/configure/testlib/Make_VERSION_File.pm                    [test]
1611 1609
 t/configure/testlib/Tie/Filehandle/Preempt/Stdin.pm         [test]
1612 1610
 t/configure/testlib/adefectivefoobar                        [test]
@@ -1644,7 +1642,16 @@ t/dynoplibs/trans-old.t                                     [test]
1644 1642
 t/dynoplibs/trans.t                                         [test]
1645 1643
 t/dynpmc/dynlexpad.t                                        [test]
1646 1644
 t/dynpmc/file.t                                             [test]
1647  
-t/dynpmc/foo.t                                              [test]
  1645
+t/dynpmc/foo-01.t                                           [test]
  1646
+t/dynpmc/foo-02.t                                           [test]
  1647
+t/dynpmc/foo-03.t                                           [test]
  1648
+t/dynpmc/foo-04.t                                           [test]
  1649
+t/dynpmc/foo-05.t                                           [test]
  1650
+t/dynpmc/foo-06.t                                           [test]
  1651
+t/dynpmc/foo-07.t                                           [test]
  1652
+t/dynpmc/foo-08.t                                           [test]
  1653
+t/dynpmc/foo-09.t                                           [test]
  1654
+t/dynpmc/foo-10.t                                           [test]
1648 1655
 t/dynpmc/foo2.t                                             [test]
1649 1656
 t/dynpmc/gziphandle.t                                       [test]
1650 1657
 t/dynpmc/os.t                                               [test]
@@ -1682,6 +1689,7 @@ t/library/iter.t                                            [test]
1682 1689
 t/library/lwp.t                                             [test]
1683 1690
 t/library/md5.t                                             [test]
1684 1691
 t/library/mime_base64.t                                     [test]
  1692
+t/library/nciutils.t                                        [test]
1685 1693
 t/library/osutils.t                                         [test]
1686 1694
 t/library/p6object.t                                        [test]
1687 1695
 t/library/parrotlib.t                                       [test]
@@ -1970,7 +1978,6 @@ t/steps/auto/cpu-01.t                                       [test]
1970 1978
 t/steps/auto/ctags-01.t                                     [test]
1971 1979
 t/steps/auto/env-01.t                                       [test]
1972 1980
 t/steps/auto/format-01.t                                    [test]
1973  
-t/steps/auto/frames-01.t                                    [test]
1974 1981
 t/steps/auto/gc-01.t                                        [test]
1975 1982
 t/steps/auto/gcc-01.t                                       [test]
1976 1983
 t/steps/auto/gettext-01.t                                   [test]
@@ -2078,13 +2085,11 @@ t/tools/install/testlib/phony                               [test]
2078 2085
 t/tools/install/testlib/phony.exe                           [test]
2079 2086
 t/tools/install/testlib/runtime/parrot/include/sockets.pasm [test]
2080 2087
 t/tools/install/testlib/runtime/parrot/library/TGE.pbc      [test]
2081  
-t/tools/install/testlib/src/ops/ops.num                     [test]
2082 2088
 t/tools/install/testlib/src/pmc/pmc_object.h                [test]
2083 2089
 t/tools/install/testlib/tools/build/ops2c.pl                [test]
2084 2090
 t/tools/install/testlib/vtable.dump                         [test]
2085 2091
 t/tools/mk_language_shell.t                                 [test]
2086 2092
 t/tools/parrot_config.t                                     [test]
2087  
-t/tools/parrot_debugger.t                                   [test]
2088 2093
 t/tools/pbc_disassemble.t                                   [test]
2089 2094
 t/tools/pbc_dump.t                                          [test]
2090 2095
 t/tools/pbc_merge.t                                         [test]
@@ -2099,6 +2104,7 @@ t/tools/testdata                                            [test]
2099 2104
 tools/build/README                                          []doc
2100 2105
 tools/build/c2str.pl                                        []
2101 2106
 tools/build/fixup_gen_file.pl                               []
  2107
+tools/build/gen_version.pl                                  []
2102 2108
 tools/build/h2inc.pl                                        []
2103 2109
 tools/build/ops2c.pl                                        [devel]
2104 2110
 tools/build/parrot_config_c.pl                              []
10  MANIFEST.SKIP
@@ -512,6 +512,8 @@
512 512
 ^/runtime/parrot/include/.*\.pasm/
513 513
 ^/runtime/parrot/include/.*\.pbc$
514 514
 ^/runtime/parrot/include/.*\.pbc/
  515
+^/runtime/parrot/include/.*\.pir$
  516
+^/runtime/parrot/include/.*\.pir/
515 517
 ^/runtime/parrot/languages/JSON/JSON\.pir$
516 518
 ^/runtime/parrot/languages/JSON/JSON\.pir/
517 519
 ^/runtime/parrot/languages/data_json$
@@ -866,14 +868,6 @@
866 868
 ^/t/compilers/data_json/.*_pbcexe/
867 869
 ^/t/compilers/imcc/.*\.pbc$
868 870
 ^/t/compilers/imcc/.*\.pbc/
869  
-^/t/compilers/imcc/imcpasm/.*\.pasm$
870  
-^/t/compilers/imcc/imcpasm/.*\.pasm/
871  
-^/t/compilers/imcc/imcpasm/.*\.pbc$
872  
-^/t/compilers/imcc/imcpasm/.*\.pbc/
873  
-^/t/compilers/imcc/imcpasm/.*\.pir$
874  
-^/t/compilers/imcc/imcpasm/.*\.pir/
875  
-^/t/compilers/imcc/imcpasm/.*_pbcexe$
876  
-^/t/compilers/imcc/imcpasm/.*_pbcexe/
877 871
 ^/t/compilers/imcc/reg/.*\.pasm$
878 872
 ^/t/compilers/imcc/reg/.*\.pasm/
879 873
 ^/t/compilers/imcc/reg/.*\.pbc$
8  MANIFEST.generated
... ...
@@ -1,11 +1,11 @@
1 1
 # See tools/dev/install_files.pl for documentation on the
2 2
 # format of this file.
3 3
 # Please re-sort this file after *EVERY* modification
4  
-blib/lib/libparrot.3.2.0.dylib                   [main]lib
  4
+blib/lib/libparrot.3.4.0.dylib                   [main]lib
5 5
 blib/lib/libparrot.a                             [main]lib
6 6
 blib/lib/libparrot.dylib                         [main]lib
7 7
 blib/lib/libparrot.so                            [main]lib
8  
-blib/lib/libparrot.so.3.2.0                      [main]lib
  8
+blib/lib/libparrot.so.3.4.0                      [main]lib
9 9
 compilers/data_json/data_json.pbc                [data_json]
10 10
 config/gen/call_list/opengl.in                   []
11 11
 docs/ops/bit.pod                                 [doc]
@@ -70,6 +70,7 @@ include/pmc/pmc_imageiofreeze.h                  [devel]include
70 70
 include/pmc/pmc_imageiosize.h                    [devel]include
71 71
 include/pmc/pmc_imageiostrings.h                 [devel]include
72 72
 include/pmc/pmc_imageiothaw.h                    [devel]include
  73
+include/pmc/pmc_imccompiler.h                    [devel]include
73 74
 include/pmc/pmc_integer.h                        [devel]include
74 75
 include/pmc/pmc_iterator.h                       [devel]include
75 76
 include/pmc/pmc_key.h                            [devel]include
@@ -233,6 +234,7 @@ runtime/parrot/include/iterator.pasm             [main]
233 234
 runtime/parrot/include/libpaths.pasm             [main]
234 235
 runtime/parrot/include/longopt.pasm              [main]
235 236
 runtime/parrot/include/opengl_defines.pasm       [main]
  237
+runtime/parrot/include/parrot_version.pir        [main]
236 238
 runtime/parrot/include/parrotlib.pbc             [main]
237 239
 runtime/parrot/include/pmctypes.pasm             [main]
238 240
 runtime/parrot/include/signal.pasm               [main]
@@ -376,6 +378,7 @@ src/pmc/imageiofreeze.dump                       [devel]src
376 378
 src/pmc/imageiosize.dump                         [devel]src
377 379
 src/pmc/imageiostrings.dump                      [devel]src
378 380
 src/pmc/imageiothaw.dump                         [devel]src
  381
+src/pmc/imccompiler.dump                         [devel]src
379 382
 src/pmc/integer.dump                             [devel]src
380 383
 src/pmc/iterator.dump                            [devel]src
381 384
 src/pmc/key.dump                                 [devel]src
@@ -439,5 +442,4 @@ src/pmc/unmanagedstruct.dump                     [devel]src
439 442
 src/string_private_cstring.h                     []
440 443
 tools/build/dynpmc.pl                            []
441 444
 tools/dev/mk_language_shell.pl                   [devel]
442  
-tools/dev/ncidef2pir.pl                          [devel]
443 445
 vtable.dump                                      [devel]src
43  NEWS
... ...
@@ -1,6 +1,47 @@
  1
+New in 3.5.0
  2
+- Core
  3
+- Languages
  4
+- Tests
  5
+  + The Parrot test suite harness now understands the HARNESS_TIMER environment
  6
+    variable. Setting it to a true value will show timing results for a test run.
  7
+  + IPv6 tests are now parallel testing friendly
  8
+
  9
+New in 3.4.0
  10
+- Core
  11
+  + The Generational Mark and Sweep garbage collector is the new default.
  12
+  + The --gc-nursery-size command line argument was added.
  13
+  + Parrot now gets entropy from the underlying OS.
  14
+  + The NCI subsystem now supports 8, 16, 32 and 64 bit integers.
  15
+  + The NCI subsystem now supports "long long" and "long double" signatures.
  16
+    Not all platforms/compilers support these non-standard types, so developers
  17
+    are cautioned to take note that using them reduces portability.
  18
+  + Many more OpenGL functions in the Parrot OpenGL bindings are available,
  19
+    which required the above-mentioned signatures.
  20
+  + Bytecode-related embedding api functions moved to src/embed/bytecode.c.
  21
+- Languages
  22
+  + Winxed
  23
+    - Use 'using extern' for module imports.
  24
+    - Improved stage 0 prefix ++ and -- operators.
  25
+    - Allow 'null' in conditional operator.
  26
+    - Several examples are updated.
  27
+- Community
  28
+  + Google Summer of Code Bonding period is going well. Students are mostly done
  29
+    with their classes and much code will flow soon.
  30
+- Documentation
  31
+  + More PCT introductions are available at: http://github.com/benabik/cish
  32
+
1 33
 New in 3.3.0
2 34
 - Core
3  
-  + The isa and isa_pmc vtables can be overridden from PIR
  35
+  + The isa and isa_pmc vtables can now be overridden from PIR
  36
+  + IMCC has a new improved external interface
  37
+  + A new IMCCompiler PMC adds prototype PDD31-alike functionality for the PIR and PASM compilers
  38
+  + New --with-llvm option to Configure.pl, which will link to LLVM if it is available
  39
+- Community
  40
+  + Parrot Virtual Machine was accepted into Google Summer of Code 2011
  41
+- Ecosystem
  42
+  + Rosella adds a stable "Event" library to implement a publish/subscribe mechanism
  43
+- Tests
  44
+  + The test coverage of the extend_vtable subsystem was greatly increased
4 45
 
5 46
 New in 3.2.0
6 47
 - Core
2  PLATFORMS
@@ -54,7 +54,7 @@ netbsd4.0-arm-gcc-4.1.2           Y    ?     Y   Y   Y    Y     ?  20090518
54 54
 netbsd4.0-i386-gcc-4.1.2          Y    ?     Y   Y   Y    Y     ?  20090517
55 55
 netbsd4.0-ppc-gcc-4.1.2       B   Y    ?     Y   Y   Y    Y     ?  20090519
56 56
 netbsd4.0-sparc64-gcc-4.1.2  B8   Y    -     Y   Y   Y    Y     ?  20090519
57  
-netbsd4.0-x86_64-gcc-4.1.2    8   Y    ?     Y   Y   Y    Y     ?  20090519
  57
+netbsd4.0-x86_64-gcc-4.1.2    8   Y    ?     Y   Y   Y    Y     ?  20110418
58 58
 netbsd5.0-i386-gcc-4.1.3          Y    ?     Y   Y   Y    Y     ?  20090519
59 59
 netbsd5.0-ppc-gcc-4.1.3       B   Y    ?     Y   Y   Y    Y     ?  20090517
60 60
 netbsd5.0-mipseb32-gcc-4.1.3  B   Y    ?     Y   Y   Y    Y     ?  20090518
2  README
... ...
@@ -1,4 +1,4 @@
1  
-This is Parrot, version 3.2.0
  1
+This is Parrot, version 3.4.0
2 2
 ------------------------------
3 3
 
4 4
 Parrot is Copyright (C) 2001-2011, Parrot Foundation.
2  VERSION
... ...
@@ -1 +1 @@
1  
-3.2.0
  1
+3.4.0
136  api.yaml
... ...
@@ -1,5 +1,12 @@
1 1
 ---
2 2
 -
  3
+  name:     '"Advanced" NCI parameter types'
  4
+  eligible: '3.1'
  5
+  ticket:   'http://trac.parrot.org/parrot/ticket/1931' 
  6
+  tags:
  7
+    - 'deprecated'
  8
+    - 'completed'
  9
+-
3 10
   name:     'Pointer, UnManagedStruct, and ManagedStruct'
4 11
   eligible: '3.4'
5 12
   ticket:   'http://trac.parrot.org/parrot/ticket/2035'
@@ -7,7 +14,7 @@
7 14
   name:  'add write barrier to all PMCs that write in unusual VTABLE functions'
8 15
   eligible:  '3.4'
9 16
   note:  'VTABLE functions not marked with :write that mutate the PMCs need to use the write barrier.  See ticket for more information.'
10  
-  tags: 
  17
+  tags:
11 18
     - 'C'
12 19
     - 'deprecated'
13 20
   ticket:  'http://trac.parrot.org/parrot/ticket/2010'
@@ -15,7 +22,7 @@
15 22
   name:  '":init" Sub flag'
16 23
   eligible:  '3.4'
17 24
   note:  'At this point, ":init" is a no-op, and will therefore be removed.'
18  
-  tags: 
  25
+  tags:
19 26
     - 'PIR'
20 27
     - 'syntax'
21 28
     - 'deprecated'
@@ -27,7 +34,7 @@
27 34
   name:  '":load" and ":init" Sub flags doing different things'
28 35
   eligible:  '3.1'
29 36
   note:  'Currently, ":init" and ":load" flagged Subs get called depending on the way a PIR file has been loaded. This distinction is silly and will cease to be. The ":load" flag will be triggered both for scenarios. ":init" becomes a no-op for a deprecation cycle (see below).'
30  
-  tags: 
  37
+  tags:
31 38
     - 'deprecated'
32 39
     - 'PIR'
33 40
     - 'syntax'
@@ -36,7 +43,7 @@
36 43
   name:  ':main Sub behaviour and selection.'
37 44
   eligible:  '2.7'
38 45
   note:  '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.'
39  
-  tags: 
  46
+  tags:
40 47
     - 'deprecated'
41 48
     - 'PIR'
42 49
     - 'syntax'
@@ -44,27 +51,27 @@
44 51
 -
45 52
   name:  'Action methods in rules'
46 53
   note:  'Per Synopsis 5, all regexes will have an implied {*} token at the end which cause invocation of an action method if a ":action" object is supplied.'
47  
-  tags: 
  54
+  tags:
48 55
     - 'deprecated'
49 56
     - 'compiler'
50 57
     - 'completed'
51 58
   ticket:  'https://trac.parrot.org/parrot/ticket/843'
52 59
 -
53 60
   name:  'Archive::Tar & Archive::Zip'
54  
-  tags: 
  61
+  tags:
55 62
     - 'library'
56 63
     - 'experimental'
57 64
   ticket:  'https://trac.parrot.org/parrot/ticket/1598'
58 65
 -
59 66
   name:  'Assigning to registers in parrot_debugger'
60  
-  tags: 
  67
+  tags:
61 68
     - 'debugger'
62 69
     - 'experimental'
63 70
 -
64 71
   name:  'Auto-vivification of nested aggregates'
65 72
   eligible:  '2.4'
66 73
   note:  'E.g. will not auto-vivify nested hashes and return PMCNULL early.'
67  
-  tags: 
  74
+  tags:
68 75
     - 'deprecated'
69 76
     - 'PMC'
70 77
     - 'completed'
@@ -73,7 +80,7 @@
73 80
   name:  'C API coding standards cleanup'
74 81
   eligible:  '1.1'
75 82
   note:  'All C API functions that aren''t currently named according to the ''Parrot_<system>_*'' scheme will be renamed. A list of renamed functions will be kept in the ticket at:'
76  
-  tags: 
  83
+  tags:
77 84
     - 'deprecated'
78 85
     - 'functions'
79 86
   ticket:  'https://trac.parrot.org/parrot/ticket/443'
@@ -81,7 +88,7 @@
81 88
   name:  'Complex PMC'
82 89
   eligible:  '3.1'
83 90
   note:  'This perennially broken PMC will be removed.'
84  
-  tags: 
  91
+  tags:
85 92
     - 'deprecated'
86 93
     - 'PMC'
87 94
   detection:
@@ -90,7 +97,7 @@
90 97
   ticket:  'https://trac.parrot.org/parrot/ticket/1892'
91 98
 -
92 99
   name:  'Cross-HLL library loading'
93  
-  tags: 
  100
+  tags:
94 101
     - 'library'
95 102
     - 'experimental'
96 103
   ticket:  'https://trac.parrot.org/parrot/ticket/754'
@@ -98,33 +105,33 @@
98 105
   name:  'GC timely destruction'
99 106
   eligible:  '3.1'
100 107
   note:  'All PIR ops and internal semantics related to timely destruction of PMCs is deprecated.'
101  
-  tags: 
  108
+  tags:
102 109
     - 'deprecated'
103 110
     - 'functions'
104 111
   ticket:  'https://trac.parrot.org/parrot/ticket/1800'
105 112
 -
106 113
   name:  'GC_SYS_NAME option to interpinfo_s_i'
107 114
   note:  'Ability to get the string name of the current GC core from the interpinfo_s_i. See r43900 and r43904 for details.'
108  
-  tags: 
  115
+  tags:
109 116
     - 'Opcodes'
110 117
     - 'experimental'
111 118
   ticket:  'https://trac.parrot.org/parrot/ticket/1581'
112 119
 -
113 120
   name:  'IPv6 Support'
114  
-  tags: 
  121
+  tags:
115 122
     - 'experimental'
116  
-  ticket:  
  123
+  ticket:
117 124
   note:  'IPv6 support is still being perfected and being made portable'
118 125
 -
119 126
   name:  'JSON and Config;JSON'
120 127
   eligible:  '1.5'
121  
-  tags: 
  128
+  tags:
122 129
     - 'deprecated'
123 130
     - 'library'
124 131
   ticket:  'https://trac.parrot.org/parrot/ticket/508'
125 132
 -
126 133
   name:  'LWP, https::Message, URI & URI::Escape'
127  
-  tags: 
  134
+  tags:
128 135
     - 'library'
129 136
     - 'experimental'
130 137
   ticket:  'https://trac.parrot.org/parrot/ticket/1637'
@@ -132,13 +139,13 @@
132 139
   name:  'ManagedStruct reallocations based on shape changes'
133 140
   eligible:  '2.4'
134 141
   note:  'Since shape changes may simply be used for re-interpreting data, and may also occur in several steps, re-allocating after any one shape change may be undesirable. In stead, an explicit allocate/reallocate method will be provided.'
135  
-  tags: 
  142
+  tags:
136 143
     - 'deprecated'
137 144
     - 'PMC'
138 145
   ticket:  'https://trac.parrot.org/parrot/ticket/1554'
139 146
 -
140 147
   name:  'MappedByteArray PMC'
141  
-  tags: 
  148
+  tags:
142 149
     - 'PMC'
143 150
     - 'experimental'
144 151
   ticket:  'https://trac.parrot.org/parrot/ticket/1877'
@@ -146,14 +153,14 @@
146 153
   name:  'Meta-model implementation used by PCT'
147 154
   eligible:  '2.7'
148 155
   note:  '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.)'
149  
-  ticket:  
150  
-  tags: 
  156
+  ticket:
  157
+  tags:
151 158
     - 'deprecated'
152 159
     - 'compiler'
153 160
 -
154 161
   name:  'Method unescape on String'
155 162
   note:  'This is a helper method for testing of Parrot_str_unescape_string.'
156  
-  tags: 
  163
+  tags:
157 164
     - 'PMC'
158 165
     - 'experimental'
159 166
     - 'completed'
@@ -161,20 +168,20 @@
161 168
 -
162 169
   name:  'NCI_FB_CB and NCI_FB_UD in iglobals'
163 170
   note:  'Hooks allowing a runtime-loadable dynamic frame builder.'
164  
-  tags: 
  171
+  tags:
165 172
     - 'opcodes'
166 173
     - 'experimental'
167 174
   ticket:  'https://trac.parrot.org/parrot/ticket/1582'
168 175
 -
169 176
   name:  'OpenGL bindings and libraries'
170  
-  tags: 
  177
+  tags:
171 178
     - 'library'
172 179
     - 'experimental'
173 180
   ticket:  'https://trac.parrot.org/parrot/ticket/852'
174 181
 -
175 182
   name:  'Overriding vtable invoke in PIR objects'
176 183
   note:  'The VTABLE invoke in object.pmc puts SELF at the start of the signature call arguments when there is no current object and is not already here. This allows the usage of $P0() instead of $P0($P0).'
177  
-  tags: 
  184
+  tags:
178 185
     - 'PMC'
179 186
     - 'experimental'
180 187
     - 'completed'
@@ -182,7 +189,7 @@
182 189
 -
183 190
   name:  'PARROT_LIBRARY and PARROT_INCLUDE environment variables'
184 191
   note:  'A way to provide an equivalent of -L and -I parrot command line options to language that doesn''t support it.'
185  
-  tags: 
  192
+  tags:
186 193
     - 'library'
187 194
     - 'experimental'
188 195
   ticket:  'https://trac.parrot.org/parrot/ticket/1429'
@@ -190,7 +197,7 @@
190 197
   name:  'PAST::Val node generation'
191 198
   eligible:  '1.5'
192 199
   note:  '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.'
193  
-  tags: 
  200
+  tags:
194 201
     - 'deprecated'
195 202
     - 'compiler'
196 203
     - 'completed'
@@ -199,7 +206,7 @@
199 206
   name:  'PCT::HLLCompiler from Perl 5''s Test::Harness'
200 207
   eligible:  '1.1'
201 208
   note:  'In order to facilitate using PCT::HLLCompiler with test harnesses, the ''command_line'' method of PCT::HLLCompiler object exits silently if it detects that it is being run in a sample run from Perl''s Test::Harness. Currently this detection is done by checking the second command line argument for @INC; future releases may use a different detection mechanism or eliminate it altogether.'
202  
-  tags: 
  209
+  tags:
203 210
     - 'deprecated'
204 211
     - 'compiler'
205 212
   ticket:  'https://trac.parrot.org/parrot/ticket/463'
@@ -207,7 +214,7 @@
207 214
   name:  'PCT::HLLCompiler stages'
208 215
   eligible:  '1.1'
209 216
   note:  'The interface of various methods for adding, removing, and modifying the list stages in a PCT::HLLCompiler object is subject to change. The existing actual stages will remain; only the mechanism for specifying the order of individual stages is likely to change.'
210  
-  tags: 
  217
+  tags:
211 218
     - 'deprecated'
212 219
     - 'compiler'
213 220
     - 'completed'
@@ -215,33 +222,33 @@
215 222
 -
216 223
   name:  'PMC Attributes Allocation Functions'
217 224
   note:  'These items and related helper functions are added as experimental support for <https://trac.parrot.org/parrot/ticket/1506>'
218  
-  tags: 
  225
+  tags:
219 226
     - 'functions'
220 227
     - 'experimental'
221 228
     - 'completed'
222 229
 -
223 230
   name:  'PMC numbering'
224  
-  tags: 
  231
+  tags:
225 232
     - 'bytecode'
226 233
     - 'experimental'
227 234
     - 'completed'
228 235
   ticket:  'https://trac.parrot.org/parrot/ticket/451'
229 236
 -
230 237
   name:  'PackfileDebug'
231  
-  tags: 
  238
+  tags:
232 239
     - 'PMC'
233 240
     - 'experimental'
234 241
   ticket:  'https://trac.parrot.org/parrot/ticket/1599'
235 242
 -
236 243
   name:  'Parrot_load_bytecode_file'
237 244
   note:  'Load a .pbc file into the interpreter. Experimental.'
238  
-  tags: 
  245
+  tags:
239 246
     - 'functions'
240 247
     - 'experimental'
241 248
 -
242 249
   name:  'Parrot_str_unescape_string'
243 250
   note:  'This function is an experimental addition to enhance and maybe replace Parrot_str_unescape'
244  
-  tags: 
  251
+  tags:
245 252
     - 'functions'
246 253
     - 'experimental'
247 254
     - 'completed'
@@ -250,7 +257,7 @@
250 257
   name:  'Protoobject'
251 258
   eligible:  '2.7'
252 259
   note:  'Use P6Object instead.'
253  
-  tags: 
  260
+  tags:
254 261
     - 'deprecated'
255 262
     - 'library'
256 263
     - 'completed'
@@ -259,7 +266,7 @@
259 266
   name:  'STRING COW'
260 267
   eligible:  '2.4'
261 268
   note:  'COW strings are to be removed. All "inplace" string modification functions and all "inplace" string ops are deprecated.'
262  
-  tags: 
  269
+  tags:
263 270
     - 'deprecated'
264 271
     - 'functions'
265 272
     - 'completed'
@@ -268,21 +275,21 @@
268 275
   name:  'STRING Out parameters in Parrot_str_* functions'
269 276
   eligible:  '2.1'
270 277
   note:  'All STRING modification functions will return a STRING pointer; capture and use this rather than relying on in-place modification of an existing pointer.'
271  
-  tags: 
  278
+  tags:
272 279
     - 'deprecated'
273 280
     - 'functions'
274 281
     - 'completed'
275 282
   ticket:  'https://trac.parrot.org/parrot/ticket/1584'
276 283
 -
277 284
   name:  'Threads and Parallelism'
278  
-  tags: 
  285
+  tags:
279 286
     - 'experimental'
280 287
   ticket:  'https://trac.parrot.org/parrot/ticket/1601'
281 288
 -
282 289
   name:  'UnManagedStruct get_integer, set_integer_native'
283 290
   eligible:  '2.4'
284 291
   note:  'These will no longer refer to the byte length of the buffer, but to the number of times the struct is repeated; emulating an array of structs.'
285  
-  tags: 
  292
+  tags:
286 293
     - 'deprecated'
287 294
     - 'PMC'
288 295
   ticket:  'https://trac.parrot.org/parrot/ticket/1553'
@@ -290,7 +297,7 @@
290 297
   name:  'UnManagedStruct handling nested structure'
291 298
   eligible:  '2.4'
292 299
   note:  'UnManagedStruct will be simplified to only support flat structures. This means that elements which themselves have structure - struct pointers and function pointers will be stored as "void *" and "void (*)(void)" respectively. To use these, they will need to be cast to the appropriate signature on access.'
293  
-  tags: 
  300
+  tags:
294 301
     - 'PMC'
295 302
     - 'deprecated'
296 303
   ticket:  'https://trac.parrot.org/parrot/ticket/1551'
@@ -298,7 +305,7 @@
298 305
   name:  'UnManagedStruct initializer structure'
299 306
   eligible:  '2.4'
300 307
   note:  'The initializer structure will cease to be an array of triples. Instead, an array of flags (no counts or offsets), or a string representation of the same information may be used.'
301  
-  tags: 
  308
+  tags:
302 309
     - 'deprecated'
303 310
     - 'PMC'
304 311
   ticket:  'https://trac.parrot.org/parrot/ticket/1552'
@@ -306,7 +313,7 @@
306 313
   name:  'charset, charsetname, find_charset, trans_charset'
307 314
   eligible:  '2.10'
308 315
   note:  'These opcodes will be removed. The corresponding encoding opcodes should be used instead.'
309  
-  tags: 
  316
+  tags:
310 317
     - 'deprecated'
311 318
     - 'opcodes'
312 319
     - 'completed'
@@ -314,7 +321,7 @@
314 321
 -
315 322
   name:  'continuation-based ExceptionHandlers'
316 323
   eligible:  '2.1'
317  
-  tags: 
  324
+  tags:
318 325
     - 'deprecated'
319 326
     - 'PIR'
320 327
     - 'syntax'
@@ -324,14 +331,14 @@
324 331
   name:  'dlfunc and new_callback signature string format'
325 332
   eligible:  '2.4'
326 333
   note:  'These will be changed to allow more flexibility in types.'
327  
-  tags: 
  334
+  tags:
328 335
     - 'deprecated'
329 336
     - 'opcodes'
330 337
   ticket:  'https://trac.parrot.org/parrot/ticket/1565'
331 338
 -
332 339
   name:  'finalize'
333 340
   note:  'Finalize exception handler, unrolling inner runloops if needed.'
334  
-  tags: 
  341
+  tags:
335 342
     - 'opcodes'
336 343
     - 'experimental'
337 344
     - 'completed'
@@ -340,7 +347,7 @@
340 347
   name:  'fixed_8 encoding'
341 348
   eligible:  '2.10'
342 349
   note:  'The ''fixed_8'' encoding is going away. Use ''ascii'' instead. If you want to test for a fixed_8 encoding, you have to compare the encoding to ''ascii'', ''iso-8859-1'' and ''binary'' separately.'
343  
-  tags: 
  350
+  tags:
344 351
     - 'deprecated'
345 352
     - 'opcodes'
346 353
     - 'completed'
@@ -349,7 +356,7 @@
349 356
   name:  'get_addr and set_addr'
350 357
   eligible:  '1.5'
351 358
   note:  'These opcodes are being repurposed. They will always return a unique memory address of the PMC. Uses of get_addr and set_addr that would set label values for Sub, Exception, and related PMC types will instead be handled by get_label and set_label.'
352  
-  tags: 
  359
+  tags:
353 360
     - 'deprecated'
354 361
     - 'opcodes'
355 362
   ticket:  'https://trac.parrot.org/parrot/ticket/218'
@@ -357,7 +364,7 @@
357 364
   name:  'get_results opcode order and features'
358 365
   eligible:  '2.1'
359 366
   note:  'get_results no longer used to fetch exception object.'
360  
-  tags: 
  367
+  tags:
361 368
     - 'deprecated'
362 369
     - 'opcodes'
363 370
     - 'completed'
@@ -365,7 +372,7 @@
365 372
 -
366 373
   name:  'implicit optional named parameters'
367 374
   eligible:  '2.1'
368  
-  tags: 
  375
+  tags:
369 376
     - 'completed'
370 377
     - 'deprecated'
371 378
     - 'PIR'
@@ -375,7 +382,7 @@
375 382
   name:  'inplace string updates.'
376 383
   eligible:  '2.4'
377 384
   note:  'All "inplace" string update ops are deprecated. E.g. "chopn_s", etc. Part of COW removal.'
378  
-  tags: 
  385
+  tags:
379 386
     - 'deprecated'
380 387
     - 'opcodes'
381 388
     - 'completed'
@@ -383,7 +390,7 @@
383 390
 -
384 391
   name:  'loadlib_p_s_p'
385 392
   note:  'Ability to use non-default dynamic loading behaviour.'
386  
-  tags: 
  393
+  tags:
387 394
     - 'opcodes'
388 395
     - 'experimental'
389 396
   ticket:  'https://trac.parrot.org/parrot/ticket/1583'
@@ -391,7 +398,7 @@
391 398
   name:  'logical PMC ops'
392 399
   eligible:  '2.7'
393 400
   note:  'These fall out from the logical vtables deprecation.'
394  
-  tags: 
  401
+  tags:
395 402
     - 'deprecated'
396 403
     - 'opcodes'
397 404
   ticket:  'https://trac.parrot.org/parrot/ticket/1655'
@@ -399,21 +406,21 @@
399 406
   name:  'logical_* vtables'
400 407
   eligible:  '2.7'
401 408
   note:  'These can be replaced by ''get_bool'' and intval ops unless you''re using them for things that aren''t really logical ops (don''t do that!). Logical vtables are removed in r49012, and logical ops on PMCs are converted to use ''get_bool'' internally. Rakudo seems to depend on logical ops on PMC.'
402  
-  tags: 
  409
+  tags:
403 410
     - 'deprecated'
404 411
     - 'PMC'
405 412
   ticket:  'https://trac.parrot.org/parrot/ticket/1655'
406 413
 -
407 414
   name:  'mmd_cvt_to_types'
408 415
   eligible:  '1.1'
409  
-  tags: 
  416
+  tags:
410 417
     - 'deprecated'
411 418
     - 'functions'
412 419
   ticket:  'https://trac.parrot.org/parrot/ticket/907'
413 420
 -
414 421
   name:  'multiple dispatch within core PMC'
415 422
   eligible:  '1.1'
416  
-  tags: 
  423
+  tags:
417 424
     - 'deprecated'
418 425
     - 'PMC'
419 426
   ticket:  'https://trac.parrot.org/parrot/ticket/452'
@@ -421,13 +428,13 @@
421 428
   name:  'new_callback_p_p_p_s'
422 429
   eligible:  '2.4'
423 430
   note:  'To be replaced with new_callback_p_p_p_p_s.'
424  
-  tags: 
  431
+  tags:
425 432
     - 'deprecated'
426 433
     - 'opcodes'
427 434
   ticket:  'https://trac.parrot.org/parrot/ticket/1548'
428 435
 -
429 436
   name:  'opcode numbering'
430  
-  tags: 
  437
+  tags:
431 438
     - 'bytecode'
432 439
     - 'experimental'
433 440
     - 'completed'
@@ -436,13 +443,13 @@
436 443
   name:  'open and close opcodes will be removed'
437 444
   eligible:  '2.7'
438 445
   note:  'These opcodes will be removed. The open/close methods on File or the FileHandle PMC should be used instead.'
439  
-  tags: 
  446
+  tags:
440 447
     - 'deprecated'
441 448
     - 'opcodes'
442 449
   ticket:  'https://trac.parrot.org/parrot/ticket/1697'
443 450
 -
444 451
   name:  'packfile structure'
445  
-  tags: 
  452
+  tags:
446 453
     - 'bytecode'
447 454
     - 'experimental'
448 455
     - 'completed'
@@ -451,14 +458,21 @@
451 458
   name:  'pkg-config support'
452 459
   eligible:  '3.1'
453 460
   note:  'Use "parrot_config" instead.'
454  
-  tags: 
  461
+  tags:
455 462
     - 'deprecated'
456 463
     - 'library'
457 464
     - 'completed'
458 465
   ticket:  'https://trac.parrot.org/parrot/ticket/1853'
459 466
 -
460 467
   name:  'Parrot_ext_try function'
461  
-  tags: 
  468
+  tags:
462 469
     - 'experimental'
463 470
     - 'functions'
464 471
   ticket:  'https://trac.parrot.org/parrot/ticket/1996'
  472
+-
  473
+  name:  'LANG search path with -L'
  474
+  tags:
  475
+    - 'experimental'
  476
+    - 'api'
  477
+    - 'library'
  478
+  ticket:  ''
3  compilers/imcc/Defines.mak
@@ -13,4 +13,5 @@ IMCC_O_FILES = \
13 13
     compilers/imcc/optimizer$(O) \
14 14
     compilers/imcc/pbc$(O) \
15 15
     compilers/imcc/parser_util$(O) \
16  
-    compilers/imcc/pcc$(O)
  16
+    compilers/imcc/pcc$(O) \
  17
+    compilers/imcc/api$(O)
46  compilers/imcc/Rules.in
... ...
@@ -1,3 +1,21 @@
  1
+compilers/imcc/api$(O) : \
  2
+    compilers/imcc/api.c \
  3
+    include/imcc/api.h \
  4
+    include/imcc/embed.h \
  5
+    include/parrot/extend_vtable.h \
  6
+    compilers/imcc/imc.h \
  7
+    compilers/imcc/cfg.h \
  8
+    include/parrot/extend.h \
  9
+    include/parrot/oplib/ops.h \
  10
+    compilers/imcc/symreg.h \
  11
+    compilers/imcc/sets.h \
  12
+    compilers/imcc/unit.h \
  13
+    include/imcc/yyscanner.h \
  14
+    compilers/imcc/debug.h \
  15
+    include/parrot/api.h \
  16
+    compilers/imcc/instructions.h \
  17
+    $(PARROT_H_HEADERS)
  18
+
1 19
 compilers/imcc/pcc$(O) : \
2 20
     compilers/imcc/pcc.c \
3 21
     compilers/imcc/cfg.h \
@@ -9,6 +27,8 @@ compilers/imcc/pcc$(O) : \
9 27
     compilers/imcc/sets.h \
10 28
     compilers/imcc/symreg.h \
11 29
     compilers/imcc/unit.h \
  30
+    include/imcc/yyscanner.h \
  31
+    include/imcc/embed.h \
12 32
     $(INC_DIR)/oplib/ops.h \
13 33
     $(INC_DIR)/oplib/core_ops.h \
14 34
     $(INC_DIR)/runcore_api.h \
@@ -25,6 +45,8 @@ compilers/imcc/instructions$(O) : \
25 45
     compilers/imcc/sets.h \
26 46
     compilers/imcc/symreg.h \
27 47
     compilers/imcc/unit.h \
  48
+    include/imcc/yyscanner.h \
  49
+    include/imcc/embed.h \
28 50
     $(INC_DIR)/oplib/ops.h \
29 51
     $(INC_DIR)/oplib/core_ops.h \
30 52
     $(INC_DIR)/runcore_api.h \
@@ -40,6 +62,8 @@ compilers/imcc/pbc$(O) : \
40 62
     compilers/imcc/sets.h \
41 63
     compilers/imcc/symreg.h \
42 64
     compilers/imcc/unit.h \
  65
+    include/imcc/yyscanner.h \
  66
+    include/imcc/embed.h \
43 67
     $(INC_DIR)/oplib/ops.h \
44 68
     $(INC_DIR)/oplib/core_ops.h \
45 69
     $(INC_DIR)/runcore_api.h \
@@ -60,6 +84,8 @@ compilers/imcc/parser_util$(O) : \
60 84
     compilers/imcc/sets.h \
61 85
     compilers/imcc/symreg.h \
62 86
     compilers/imcc/unit.h \
  87
+    include/imcc/yyscanner.h \
  88
+    include/imcc/embed.h \
63 89
     $(INC_DIR)/dynext.h \
64 90
     $(INC_DIR)/embed.h \
65 91
     $(INC_DIR)/oplib/ops.h \
@@ -76,6 +102,8 @@ compilers/imcc/imc$(O) : \
76 102
     compilers/imcc/sets.h \
77 103
     compilers/imcc/symreg.h \
78 104
     compilers/imcc/unit.h \
  105
+    include/imcc/yyscanner.h \