* docs/compiler_faq.pod:
[parrot.git] / PBC_COMPAT
blob8271d30a1f4f684924633e39b19c764e0e19c04f
1 # This file shows the history of incompatible changes to
2 # Parrot that invalidated existing PBC (Parrot Byte Code) files.
4 # The latest version number of the bytecode format in this file
5 # is used by Parrot to version the bytecode files it writes and
6 # is able to read. In the future, Parrot should be able to read
7 # and/or write older bytecode versions too.
9 # Currently known actions that should be entered here
10 #   (and invalidate PBC are):
12 # - deleting/changing/inserting existing ops in ops.num
13 # - changing operands of existing ops
14 # - adding/deleting/renaming a PMC to classes
15 # - changes in the packfile format itself
16 # - changes to any PMCs that are frozen into the .pbc like
17 #   ParrotInterpreter (HLL_info), Subs and more
18 # - other core changes that invalidate byte code :)
20 # After changing PBC_COMPAT either disable t/native_pbc tests or
21 # better, if you have an i386 box at hand, regenerate the PBCs
22 # with tools/dev/mk_native_pbc and commit the changes
24 # or TODO much better: all .pbc files should make-depend on PBC_COMPAT
26 # Also, if you're removing an opcode, be sure to run 
27 # make -f tools/dev/ops_renum.mak
29 # please insert tab separated entries at the top of the list
31 3.13    2008.03.29      chromatic       added does_i_p_pc opcode
32 3.12    2008.03.26      coke    deleted classoffset
33 3.11    2008.03.26      coke    deleted getattribute_p_p_i,setattribute_p_p_i
34 3.10    2007.12.18      coke    deleted print_newline opcode
35 3.09    2007.12.13      chromatic       added copy_p_p opcode
36 3.08    2007.12.12      allison added addhandler_p opcode
37 3.07    2007.12.12      tewk    added die_s die_sc die_p die_pc opcodes
38 3.06    2007.11.28      coke    remove classname opcode
39 3.05    2007.10.29      allison         add get_eh, get_all_eh, and count_eh opcodes
40 3.04    2007.10.28      paultcochrane   remove clear_eh opcode
41 3.03    2007.10.17      coke            released 0.4.17
42 3.02    2007.09.20      bernhard        remove opcode hash
43 3.02    2007.09.07      bernhard        deprecate opcode substr_r
44 3.01    2007.08.17      chromatic       store HLL names as strings in frozen Sub PMCs
45 3.0     2007.07.23      jonathan        implementing new PBC header format
46 2.26    2007.07.17      particle        released 0.4.14
47 2.25    2007.06.19      allison released 0.4.13
48 2.24    2007.05.16      bernhard        remove opcodes adddoes, removedoes, singleton
49 2.23    2007.05.15      chromatic       released 0.4.12
50 2.22    2007.04.17      mdiep   released 0.4.11
51 2.21    2007.04.15      jonathan        added get_class opcodes and clone_p_p_p opcode
52 2.20    2007.04.07      jonathan        added addrole opcode
53 2.19    2007.03.20      coke    released 0.4.10
54 2.18    2007.02.22      pmichaud        released 0.4.9
55 2.17    2007.01.16      particle        released 0.4.8
56 2.16    2006.12.16      paultcochrane   deleted fetchmethod opcode
57 2.15    2006.11.14      chip    released 0.4.7
58 2.14    2006.11.07      tewk    added comp_flags to parrot_sub_t        
59 2.13    2006.09.23      bernhard        remove ops from dotgnu.ops
60 2.12    2006.08.18      leo     removed None PMC from parrot core
61 2.11    2006.08.16      creiss  added STM opcodes
62 2.10    2006.08.08      chip    released 0.4.6
63 2.9     2006.06.19      leo     released 0.4.5
64 2.8     2006.06.18      leo     reorder opcodes
65 2.7     2006.05.14      leo     released 0.4.4
66 2.6     2006.04.02      leo     released 0.4.3
67 2.5     2006.03.21      leo     remove deleted opcodes
68 2.4     2006.02.22      leo     released 0.4.2
69 2.3     2006.01.08      leo     released 0.4.1
70 2.2     2005.12.04      leo     released 0.4.0, deleted opcodes
71 2.1     2005.12.01      leo     inserted another pic ops
72 2.0     2005.11.22      leo     changed PBC format (HLL_info)
73 1.4     2005.11.13      leo     freeze outer_sub with Subs in PBC
74 1.3     2005.11.12      leo     freeze lex_info with Subs in PBC
75 1.2     2005.11.06      leo     deleted newsub, foldup, pack; 0.3.1 release
76 1.1     2005.10.17      leo     deleted register stack opcodes
77 1.0     2005.10.15      jonathan        changed debug segment format
78 0.27    2005.10.11      leo     added reg usage to Subs in PBC
79 0.26    2005.10.07      leo     deleted lot of opcodes
80 0.25    2005.10.05      leo     deleted rx_ opcodes
81 0.24    2005.10.01      leo     0.3.0 release
82 0.23    2005.08.05      leo     0.2.3 release
83 0.22    2005.07.03      leo     0.2.2 release; add fixedintegerarray.freeze
84 0.21    2005.06.04      leo     0.2.1 release
85 0.20    2005.05.31      leo     added HLL_id to frozen sub structure
86 0.19    2005.05.11      leo     MMD function number change (rm MMD_I_LOGICAL...)
87 0.18    2005.05.08      leo     0.2.0 release
88 0.17    2005.04.22      leo     removed add_p_* and friends, insert infix ops
89 0.16    2005.03.06      leo     0.1.2 release
90 0.15    2004.11.27      leo     tossed 36 ops: gt,ge,isgt,isge w. I,N,S args
91 0.14    2004.11.27      leo     tossed 13 ops: forgot some op_n_i
92 0.13    2004.11.27      leo     tossed 177 ops: constants only, mixed args
93 0.12    2004.11.11      leo     updates ops.num with some renumbering
94 0.11    2004.10.09      leo     0.1.1 release
95 0.10    2004.09.26      leo     insert non-branching compare ops
96 0.9     2004.09.24      leo     insert interpinfo_p opcodes
97 0.8     2004.02.29      leo     0.1.0 release
98 0.7     2003.11.21      leo     remove unused size fields in front of PF constants
99 0.6     2003.10.31      leo     0.0.13 release
100 0.5     2003.10.24      dan     add bogus opcode
101 0.4     2003.10.24      leo     start using this file for fingerprinting
102 0.3     2003.10.22      dan     add delegates.pmc
103 0.2     2003.10.21      dan     delete instantiate op
104 0.1     2003.10.21      leo     start this file