Permalink
Newer
Older
100644 637 lines (627 sloc) 21.4 KB
2
-
3
name: 'Op new_si is deprecated'
4
note: "new_si op used to create empty string with reserved capacity. In non-mutable strings world of modern parrot this doesn't make sense. new_s to create new empty string will remain"
5
tags:
6
- 'deprecated'
7
- 'Opcodes'
8
ticket: 'https://github.com/parrot/parrot/issues/203'
9
-
10
name: 'Experimental Select PMC'
11
note: 'The Select PMC is experimental until its interface gets some exercise. See ticket for more information.'
13
- 'PMC'
14
- 'experimental'
15
ticket: 'https://github.com/parrot/parrot/issues/651'
16
-
17
name: '"Advanced" NCI parameter types'
18
eligible: '3.1'
19
ticket: 'http://trac.parrot.org/parrot/ticket/1931'
20
tags:
21
- 'deprecated'
22
- 'completed'
23
-
24
name: 'Pointer, UnManagedStruct, and ManagedStruct'
25
eligible: '3.4'
26
ticket: 'https://github.com/parrot/parrot/issues/657'
27
-
28
name: 'add write barrier to all PMCs that write in unusual VTABLE functions'
29
eligible: '3.4'
30
note: 'VTABLE functions not marked with :write that mutate the PMCs need to use the write barrier. See ticket for more information.'
32
- 'C'
33
- 'deprecated'
34
- 'completed'
35
ticket: 'http://trac.parrot.org/parrot/ticket/2010'
37
name: '":init" Sub flag'
38
eligible: '3.4'
39
note: 'At this point, ":init" is a no-op, and will therefore be removed.'
41
- 'PIR'
42
- 'syntax'
43
- 'deprecated'
44
detection:
45
regex:
46
pir: '^ ".sub" .+ ":init"'
47
ticket: 'https://github.com/parrot/parrot/issues/469'
48
-
49
name: '":load" and ":init" Sub flags doing different things'
50
eligible: '3.1'
51
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).'
53
- 'deprecated'
54
- 'PIR'
55
- 'syntax'
56
ticket: 'https://trac.parrot.org/parrot/ticket/1895'
57
-
58
name: ':main Sub behaviour and selection.'
59
eligible: '2.7'
60
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.'
62
- 'deprecated'
63
- 'PIR'
64
- 'syntax'
66
- 'https://github.com/parrot/parrot/issues/600'
67
- 'https://github.com/parrot/parrot/issues/571'
68
- 'https://github.com/parrot/parrot/issues/578'
69
-
70
name: 'Action methods in rules'
71
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.'
73
- 'deprecated'
74
- 'compiler'
75
- 'completed'
76
ticket: 'https://trac.parrot.org/parrot/ticket/843'
77
-
78
name: 'Archive::Tar & Archive::Zip'
80
- 'library'
81
- 'experimental'
82
ticket: 'https://github.com/parrot/parrot/issues/375'
83
-
84
name: 'Assigning to registers in parrot_debugger'
86
- 'debugger'
87
- 'experimental'
88
-
89
name: 'Auto-vivification of nested aggregates'
90
eligible: '2.4'
91
note: 'E.g. will not auto-vivify nested hashes and return PMCNULL early.'
93
- 'deprecated'
94
- 'PMC'
95
- 'completed'
96
ticket: 'https://trac.parrot.org/parrot/ticket/1561'
97
-
98
name: 'C API coding standards cleanup'
99
eligible: '1.1'
Feb 17, 2011
100
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:'
102
- 'deprecated'
103
- 'functions'
104
ticket: 'https://trac.parrot.org/parrot/ticket/443'
105
-
106
name: 'Complex PMC'
107
eligible: '3.1'
108
note: 'This perennially broken PMC will be removed.'
110
- 'deprecated'
111
- 'PMC'
112
detection:
113
regex:
114
pir: 'new\s\[?\''Complex\''\]?'
115
ticket: 'https://github.com/parrot/parrot/issues/462'
116
-
117
name: 'Cross-HLL library loading'
119
- 'library'
120
- 'experimental'
121
ticket: 'https://github.com/parrot/parrot/issues/266'
122
-
123
name: 'GC timely destruction'
124
eligible: '3.1'
125
note: 'All PIR ops and internal semantics related to timely destruction of PMCs is deprecated.'
127
- 'deprecated'
128
- 'functions'
129
ticket: 'https://github.com/parrot/parrot/issues/278'
130
-
131
name: 'GC_SYS_NAME option to interpinfo_s_i'
132
note: 'Ability to get the string name of the current GC core from the interpinfo_s_i. See r43900 and r43904 for details.'
134
- 'Opcodes'
135
- 'experimental'
136
ticket: 'https://github.com/parrot/parrot/issues/347'
137
-
138
name: 'IPv6 Support'
140
- 'experimental'
142
note: 'IPv6 support is still being perfected and being made portable'
143
-
144
name: 'JSON and Config;JSON'
145
eligible: '1.5'
147
- 'deprecated'
148
- 'library'
149
ticket: 'https://github.com/parrot/parrot/issues/494'
150
-
151
name: 'LWP, https::Message, URI & URI::Escape'
153
- 'library'
154
- 'experimental'
155
ticket: 'https://github.com/parrot/parrot/issues/431'
156
-
157
name: 'ManagedStruct reallocations based on shape changes'
158
eligible: '2.4'
159
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.'
161
- 'deprecated'
162
- 'PMC'
163
ticket: 'https://github.com/parrot/parrot/issues/319'
164
-
165
name: 'MappedByteArray PMC'
167
- 'PMC'
168
- 'experimental'
169
ticket: 'https://github.com/parrot/parrot/issues/420'
170
-
171
name: 'Meta-model implementation used by PCT'
172
eligible: '2.7'
173
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.)'
176
- 'deprecated'
177
- 'compiler'
178
-
179
name: 'Method unescape on String'
180
note: 'This is a helper method for testing of Parrot_str_unescape_string.'
182
- 'PMC'
183
- 'experimental'
184
- 'completed'
185
ticket: 'https://trac.parrot.org/parrot/ticket/1628'
186
-
187
name: 'NCI_FB_CB and NCI_FB_UD in iglobals'
188
note: 'Hooks allowing a runtime-loadable dynamic frame builder.'
190
- 'opcodes'
191
- 'experimental'
192
ticket: 'https://github.com/parrot/parrot/issues/354'
193
-
194
name: 'OpenGL bindings and libraries'
196
- 'library'
197
- 'experimental'
198
ticket: 'https://trac.parrot.org/parrot/ticket/852'
199
-
200
name: 'Overriding vtable invoke in PIR objects'
201
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).'
203
- 'PMC'
204
- 'experimental'
205
- 'completed'
206
ticket: 'https://trac.parrot.org/parrot/ticket/103'
207
-
208
name: 'PARROT_LIBRARY and PARROT_INCLUDE environment variables'
209
note: 'A way to provide an equivalent of -L and -I parrot command line options to language that doesn''t support it.'
211
- 'library'
212
- 'experimental'
213
ticket: 'https://trac.parrot.org/parrot/ticket/1429'
214
-
215
name: 'PAST::Val node generation'
216
eligible: '1.5'
217
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.'
219
- 'deprecated'
220
- 'compiler'
221
- 'completed'
222
ticket: 'https://trac.parrot.org/parrot/ticket/868'
223
-
224
name: 'PCT::HLLCompiler from Perl 5''s Test::Harness'
225
eligible: '1.1'
Feb 17, 2011
226
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.'
228
- 'deprecated'
229
- 'compiler'
230
ticket: 'https://github.com/parrot/parrot/issues/464'
231
-
232
name: 'PCT::HLLCompiler stages'
233
eligible: '1.1'
234
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.'
236
- 'deprecated'
237
- 'compiler'
238
- 'completed'
239
ticket: 'https://trac.parrot.org/parrot/ticket/462'
240
-
241
name: 'PMC Attributes Allocation Functions'
242
note: 'These items and related helper functions are added as experimental support for <https://trac.parrot.org/parrot/ticket/1506>'
244
- 'functions'
245
- 'experimental'
246
- 'completed'
247
-
248
name: 'PMC numbering'
250
- 'bytecode'
251
- 'experimental'
252
- 'completed'
253
ticket: 'https://trac.parrot.org/parrot/ticket/451'
254
-
255
name: 'PackfileDebug'
257
- 'PMC'
258
- 'experimental'
259
ticket: 'https://github.com/parrot/parrot/issues/382'
260
-
261
name: 'Parrot_load_bytecode_file'
262
note: 'Load a .pbc file into the interpreter. Experimental.'
264
- 'functions'
265
- 'experimental'
266
-
267
name: 'Parrot_str_unescape_string'
268
note: 'This function is an experimental addition to enhance and maybe replace Parrot_str_unescape'
270
- 'functions'
271
- 'experimental'
272
- 'completed'
273
ticket: 'https://trac.parrot.org/parrot/ticket/1628'
274
-
275
name: 'Protoobject'
276
eligible: '2.7'
277
note: 'Use P6Object instead.'
279
- 'deprecated'
280
- 'library'
281
- 'completed'
282
ticket: 'https://trac.parrot.org/parrot/ticket/1337'
283
-
284
name: 'STRING COW'
285
eligible: '2.4'
286
note: 'COW strings are to be removed. All "inplace" string modification functions and all "inplace" string ops are deprecated.'
288
- 'deprecated'
289
- 'functions'
290
- 'completed'
291
ticket: 'https://trac.parrot.org/parrot/ticket/1540'
292
-
293
name: 'STRING Out parameters in Parrot_str_* functions'
294
eligible: '2.1'
295
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.'
297
- 'deprecated'
298
- 'functions'
299
- 'completed'
300
ticket: 'https://trac.parrot.org/parrot/ticket/1584'
301
-
302
name: 'Threads and Parallelism'
304
- 'experimental'
305
ticket: 'https://trac.parrot.org/parrot/ticket/1601'
306
-
307
name: 'UnManagedStruct get_integer, set_integer_native'
308
eligible: '2.4'
309
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.'
311
- 'deprecated'
312
- 'PMC'
313
ticket: 'https://github.com/parrot/parrot/issues/311'
314
-
315
name: 'UnManagedStruct handling nested structure'
316
eligible: '2.4'
317
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.'
319
- 'PMC'
320
- 'deprecated'
321
ticket: 'https://github.com/parrot/parrot/issues/298'
322
-
323
name: 'UnManagedStruct initializer structure'
324
eligible: '2.4'
325
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.'
327
- 'deprecated'
328
- 'PMC'
329
ticket: 'https://github.com/parrot/parrot/issues/305'
330
-
331
name: 'charset, charsetname, find_charset, trans_charset'
332
eligible: '2.10'
333
note: 'These opcodes will be removed. The corresponding encoding opcodes should be used instead.'
335
- 'deprecated'
336
- 'opcodes'
337
- 'completed'
338
ticket: 'https://trac.parrot.org/parrot/ticket/1778'
339
-
340
name: 'continuation-based ExceptionHandlers'
341
eligible: '2.1'
343
- 'deprecated'
344
- 'PIR'
345
- 'syntax'
346
- 'completed'
347
ticket: 'https://trac.parrot.org/parrot/ticket/1091'
348
-
349
name: 'dlfunc and new_callback signature string format'
350
eligible: '2.4'
351
note: 'These will be changed to allow more flexibility in types.'
353
- 'deprecated'
354
- 'opcodes'
355
ticket: 'https://github.com/parrot/parrot/issues/340'
356
-
357
name: 'finalize'
358
note: 'Finalize exception handler, unrolling inner runloops if needed.'
360
- 'opcodes'
361
- 'experimental'
362
- 'completed'
363
ticket: 'https://trac.parrot.org/parrot/ticket/1635'
364
-
365
name: 'fixed_8 encoding'
366
eligible: '2.10'
Feb 17, 2011
367
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.'
369
- 'deprecated'
370
- 'opcodes'
371
- 'completed'
372
ticket: 'https://trac.parrot.org/parrot/ticket/1778'
373
-
374
name: 'get_addr and set_addr'
375
eligible: '1.5'
376
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.'
378
- 'deprecated'
379
- 'opcodes'
380
ticket: 'https://github.com/parrot/parrot/issues/303'
381
-
382
name: 'get_results opcode order and features'
383
eligible: '2.1'
384
note: 'get_results no longer used to fetch exception object.'
386
- 'deprecated'
387
- 'opcodes'
388
- 'completed'
389
ticket: 'https://trac.parrot.org/parrot/ticket/1406'
390
-
391
name: 'implicit optional named parameters'
392
eligible: '2.1'
394
- 'completed'
395
- 'deprecated'
396
- 'PIR'
397
- 'syntax'
398
ticket: 'https://trac.parrot.org/parrot/ticket/1103'
399
-
400
name: 'inplace string updates.'
401
eligible: '2.4'
402
note: 'All "inplace" string update ops are deprecated. E.g. "chopn_s", etc. Part of COW removal.'
404
- 'deprecated'
405
- 'opcodes'
406
- 'completed'
407
ticket: 'https://trac.parrot.org/parrot/ticket/1540'
408
-
409
name: 'loadlib_p_s_p'
410
note: 'Ability to use non-default dynamic loading behaviour.'
412
- 'opcodes'
413
- 'experimental'
414
ticket: 'https://github.com/parrot/parrot/issues/361'
415
-
416
name: 'logical PMC ops'
417
eligible: '2.7'
418
note: 'These fall out from the logical vtables deprecation.'
420
- 'deprecated'
421
- 'opcodes'
422
ticket: 'https://trac.parrot.org/parrot/ticket/1655'
423
-
424
name: 'logical_* vtables'
425
eligible: '2.7'
Feb 17, 2011
426
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.'
428
- 'deprecated'
429
- 'PMC'
430
ticket: 'https://trac.parrot.org/parrot/ticket/1655'
431
-
432
name: 'mmd_cvt_to_types'
433
eligible: '1.1'
435
- 'deprecated'
436
- 'functions'
437
ticket: 'https://github.com/parrot/parrot/issues/460'
438
-
439
name: 'multiple dispatch within core PMC'
440
eligible: '1.1'
442
- 'deprecated'
443
- 'PMC'
444
ticket: 'https://trac.parrot.org/parrot/ticket/452'
445
-
446
name: 'new_callback_p_p_p_s'
447
eligible: '2.4'
448
note: 'To be replaced with new_callback_p_p_p_p_s.'
450
- 'deprecated'
451
- 'opcodes'
452
ticket: 'https://github.com/parrot/parrot/issues/291'
453
-
454
name: 'opcode numbering'
456
- 'bytecode'
457
- 'experimental'
458
- 'completed'
459
ticket: 'https://trac.parrot.org/parrot/ticket/451'
460
-
461
name: 'open and close opcodes will be removed'
462
eligible: '2.7'
463
note: 'These opcodes will be removed. The open/close methods on File or the FileHandle PMC should be used instead.'
465
- 'deprecated'
466
- 'opcodes'
467
ticket: 'https://github.com/parrot/parrot/issues/550'
468
-
469
name: 'packfile structure'
471
- 'bytecode'
472
- 'experimental'
473
- 'completed'
474
ticket: 'https://trac.parrot.org/parrot/ticket/451'
475
-
476
name: 'pkg-config support'
477
eligible: '3.1'
478
note: 'Use "parrot_config" instead.'
480
- 'deprecated'
481
- 'library'
482
- 'completed'
483
ticket: 'https://trac.parrot.org/parrot/ticket/1853'
484
-
485
name: 'Parrot_ext_try function'
487
- 'experimental'
488
- 'functions'
489
ticket: 'https://github.com/parrot/parrot/issues/602'
490
-
491
name: 'LANG search path with -L'
492
tags:
493
- 'experimental'
494
- 'api'
495
- 'library'
496
ticket: ''
497
-
498
name : 'Old Embed API Functions'
499
tags:
500
- 'deprecated'
501
ticket: 'http://trac.parrot.org/parrot/ticket/1910'
502
-
503
name : 'PackfileView PMC'
504
tags :
505
- 'experimental'
506
ticket : 'http://trac.parrot.org/parrot/ticket/2145'
507
-
508
name : 'Eval PMC'
509
tags:
510
- 'deprecated'
511
ticket: 'https://github.com/parrot/parrot/issues/567'
512
-
513
name : 'PackFile_* API functions'
514
tags :
515
- 'deprecated'
516
ticket : 'http://trac.parrot.org/parrot/ticket/2140'
517
-
518
name : 'Parrot_compreg function'
519
tags :
520
- 'deprecated'
Jul 23, 2011
521
- 'completed'
522
ticket : 'http://trac.parrot.org/parrot/ticket/1879'
523
-
524
name : 'load_bytecode_p_s opcode'
525
tags :
526
- 'experimental'
527
ticket : 'https://github.com/parrot/parrot/issues/435'
528
-
529
name : 'FixedPMCArray.set_pmc'
530
eligible : '3.1'
531
tags :
532
- 'deprecated'
533
- 'completed'
534
ticket : 'http://trac.parrot.org/parrot/ticket/1904'
535
-
536
name : 'Scalar PMC'
537
note : 'The Scalar PMC can be removed, so long as the behaviors of PMCs which inherit from it do not change.'
538
ticket : 'https://github.com/parrot/parrot/issues/672'
539
eligible : '3.1'
540
-
541
name : 'encoding:charset:"" string literals'
542
note : 'This form of string literals will be removed.'
543
ticket : 'https://trac.parrot.org/parrot/ticket/1808'
544
eligible : '3.1'
545
-
546
name : 'Old string_* functions'
547
eligible : '3.0'
548
note : 'The old string_* functions will be removed.'
549
ticket : 'http://trac.parrot.org/parrot/ticket/1809'
550
-
551
name : 'PIR compiler availability'
552
eligible : '3.1'
553
note : 'The PIR compiler (currently IMCC) will be extracted to a separately loadable component.'
554
ticket : 'https://github.com/parrot/parrot/issues/406'
555
-
556
name : '"constant" PObj'
557
eligible : '3.1'
559
"constant" PObj (which is never collected) are deprecated. All PMCs and STRINGs
560
should be properly marked during GC.
561
562
Functions C<Parrot_pmc_new_constant>, C<Parrot_pmc_new_constant_noinit>,
563
C<Parrot_pmc_new_constant_init> and C<Parrot_pmc_new_constant_init_int>
564
will be removed.
565
566
PObj flag C<PObj_constant_FLAG> and related macros will be removed.
567
ticket : 'https://trac.parrot.org/parrot/ticket/1875'
568
tags:
569
- 'deprecated'
570
- 'completed'
571
-
572
name : 'Non-const STRING* arguments'
573
eligible : '3.1'
575
Due to the immutable nature of STRINGs we are changing the internal handling to use only
576
const STRING pointers. This will improve optimizations possibilities for compilers,
577
and make parrot const-correct.
578
579
Passing of non-const STRING* arguments is deprecated and will be changed to
580
const STRING*. This includes (but is not limited to) all string API functions,
582
ticket : 'https://github.com/parrot/parrot/issues/483'
583
-
584
name : 'X-to-Y native PBC reading'
585
eligible : '3.1'
586
note : 'Support for PBC files optimized for alternate platforms will be dropped in favour of a universal network PBC format.'
587
ticket : 'https://github.com/parrot/parrot/issues/553'
588
-
589
name : 'The PIR and PASM compreg PMCs'
590
eligible : '3.1'
Sep 3, 2011
591
note :
592
The PMC returned by C<compreg "PIR"> is not going to be an NCI PMC any longer,
593
it will be a new type of PMC which conforms to PDD31 and will be similar to
594
HLLCompiler.
596
There will not be a PASM compreg anymore.
597
ticket : 'http://trac.parrot.org/parrot/ticket/1967'
598
-
599
name : 'Interpreter API cleanup'
600
note :
601
All functions that were defined in parrot/interpreter.h have been renamed in order
602
to follow the project's coding standards.
603
604
Functions that began with "Parrot_" now begin with "Parrot_interp_"
605
For example, function C<Parrot_new> has been renamed to C<Parrot_interp_new>.
606
607
Also, "Parrot_interp_" has been prepended to all functions that didn't begin with
608
"Parrot_" for consistency. For example, function C<allocate_interpreter> has been
609
renamed to C<Parrot_interp_allocate_interpreter>.
611
Other than the above changes, the below functions were also renamed to make their
612
purpose more clear:
613
* C<interpinfo> -> C<Parrot_interp_info>
614
* C<Parrot_int_get_interp_from_pmc> -> C<Parrot_interp_get_from_pmc>
615
tags:
616
- api
617
- deprecated
618
- completed
619
ticket: 'http://trac.parrot.org/parrot/ticket/443'
Sep 3, 2011
620
621
name : 'Introspection methods for Key PMC'
622
note :
623
Several methods for introspection and creation of register-reference Key
624
PMCs have been added for testing. These methods are : make_register_key,
625
is_register_reference, get_register_idx and get_register_contents.
626
tags:
627
- experimental
628
ticket: 'https://github.com/parrot/parrot/issues/717'
629
630
name : 'rindex opcode'
631
note :
632
The new rindex_i_s_s and rindex_i_s_s_i opcodes are experimental. They
633
duplicate functionality found in the String PMC reverse_index method.
634
tags :
635
- experimental
636
ticket : 'https://github.com/parrot/parrot/issues/767'