xref: /netbsd-src/sys/external/bsd/sljit/dist/API_CHANGES (revision 06eb4e7bdb1e14f0c368bf8554cee763517c4736)
1This file is the short summary of the API changes:
2
327.03.2017 - Non-backward compatible
4    JIT stack is changed from bottom-up to top-town.
5
615.01.2017 - Non-backward compatible
7    Move with update may modifiy flags, the base register
8    can only be used once and [reg+reg<<shift] addressing
9    mode where shift > 0 is not supported anymore.
10
1112.01.2017 - Non-backward compatible
12    Introducing a new flag mechanism which provides better
13    compatibility with CPUs without flags. Only two flags
14    remain: zero and variable. The current type of the
15    variable flag is specified by the arithmetic operator.
16    The SLJIT_KEEP_FLAGS is removed.
17
1829.02.2016 - Non-backward compatible
19    Several types and instructions are renamed to improve
20    readability. In general byte, half, and int are renamed
21    to 8, 16, and 32. Floating point types are also renamed
22    from d and s to f64 and f32.
23
24      [s|u]b -> [s|u]8    (8 bit values)
25      [s|u]h -> [s|u]16   (16 bit values)
26      [s|u]i -> [s|u]32   (32 bit values)
27      d -> f64            (64 bit floating point value)
28      s -> f32            (32 bit floating point value)
29
3018.05.2015 - Non-backward compatible
31    SLJIT_[I|]L[U|S]DIV is renamed to SLJIT_[I|][U|S]DIVMOD
32
3329.09.2014 - Non-backward compatible
34    The sljit_create_compiler, sljit_allocate_stack, and
35    sljit_free_stack functions have an allocator_data
36    argument now.
37
3819.09.2014 - Non-backward compatible
39    Using I, D, S prefixes in conditional and floating
40    point operations. And an L prefix to long multiplication
41    and division (op0 opcodes).
42
4311.08.2014 - Non-backward compatible
44    A currently unused options parameter is added to sljit_emit_enter
45    and sljit_set_context.
46
4706.07.2014 - Non-backward compatible
48    SCRATCH registers are renamed to Rx and SAVED registers
49    are renamed to Sx. See the explanation of these registers
50    in sljitLir.h.
51
5231.05.2014 - Non-backward compatible
53    SLJIT_TEMPORARY_EREGx registers were not renamed to
54    SLJIT_SCRATCH_EREGx when the change was done on 08.11.2012
55
5605.03.2014 - Backward compatible
57    The sljit_set_target now supports those jumps, which
58    does not created with SLJIT_REWRITABLE_JUMP flag.
59    Reason: sljit_emit_ijump does not support conditional
60    jumps.
61
6203.03.2014 - Non-backward compatible
63    SLJIT_MOV_UI cannot be combined with SLJIT_INT_OP.
64    Reason: SLJIT_INT_OP flag is not recommended to use
65    directly, and SLJIT_IMOV has no sign bit.
66
6729.01.2014 - Backward compatible
68    Bits assigned to SLJIT_MEM and SLJIT_IMM flags are changed.
69    Reason: the most common cases are fits into one byte now,
70    and more registers can be supported in the future.
71
7208.11.2012 - Non-backward compatible
73    SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
74
7507.11.2012 - Non-backward compatible
76    sljit_emit_cond_value is renamed to sljit_emit_op_flags. An
77    extra source argument is added which will be used in the future.
78
7905.11.2012 - Backward compatible
80    sljit_emit_cond_value now supports SLJIT_AND and SLJIT_INT_OP
81    flags, which makes this function complete.
82
8301.11.2012 - Non-backward compatible
84    SLJIT_F* opcodes are renamed to SLJIT_*D to show that
85    they are double precision operators. Furthermore
86    SLJIT_*S single precision opcodes are added.
87
8801.11.2012 - Non-backward compatible
89    Register arguments of operations with SLJIT_INT_OP flag
90    must be computed by another operation with SLJIT_INT_OP flag.
91    The same way as SLJIT_SINGLE_OP flag works with floating point
92    numbers. See the description of SLJIT_INT_OP.
93
9401.11.2012 - Backward compatible
95    All operations whose support the SLJIT_INT_OP flag, have an
96    alternate name now, which includes the SLJIT_INT_OP. These
97    names starting with I.
98
9931.10.2012 - Non-backward compatible
100    Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h
101    to sljit_sh, and sljit_b to sljit_sb. Reason: their sign
102    bit is part of the type now.
103
10420.10.2012 - Non-backward compatible
105    Renaming SLJIT_C_FLOAT_NAN to SLJIT_C_FLOAT_UNORDERED.
106    Reason: all architectures call these unordered comparions.
107