@img/sharp-libvips-dev 1.1.0 → 1.2.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/cplusplus/vips-operators.cpp +39 -0
  2. package/include/archive.h +53 -2
  3. package/include/archive_entry.h +56 -25
  4. package/include/ffi.h +20 -2
  5. package/include/fontconfig/fontconfig.h +1 -1
  6. package/include/glib-2.0/gio/gio-visibility.h +34 -0
  7. package/include/glib-2.0/gio/gzlibcompressor.h +6 -0
  8. package/include/glib-2.0/girepository/gi-visibility.h +34 -0
  9. package/include/glib-2.0/girepository/gitypes.h +6 -0
  10. package/include/glib-2.0/glib/gbitlock.h +11 -0
  11. package/include/glib-2.0/glib/gdate.h +6 -0
  12. package/include/glib-2.0/glib/glib-visibility.h +34 -0
  13. package/include/glib-2.0/glib/gmain.h +13 -10
  14. package/include/glib-2.0/glib/gmessages.h +4 -1
  15. package/include/glib-2.0/glib/gstring.h +2 -0
  16. package/include/glib-2.0/glib/gversionmacros.h +9 -0
  17. package/include/glib-2.0/gmodule/gmodule-visibility.h +34 -0
  18. package/include/glib-2.0/gobject/gobject-visibility.h +34 -0
  19. package/include/harfbuzz/hb-common.h +1 -431
  20. package/include/harfbuzz/hb-deprecated.h +80 -2
  21. package/include/harfbuzz/hb-draw.h +2 -10
  22. package/include/harfbuzz/hb-face.h +1 -1
  23. package/include/harfbuzz/hb-font.h +55 -36
  24. package/include/harfbuzz/hb-paint.h +5 -3
  25. package/include/harfbuzz/hb-script-list.h +484 -0
  26. package/include/harfbuzz/hb-subset.h +22 -2
  27. package/include/harfbuzz/hb-version.h +3 -3
  28. package/include/libheif/heif.h +2 -0
  29. package/include/libheif/heif_version.h +2 -2
  30. package/include/libpng16/png.h +10 -10
  31. package/include/libpng16/pngconf.h +20 -27
  32. package/include/libpng16/pnglibconf.h +1 -1
  33. package/include/libxml2/libxml/HTMLparser.h +2 -2
  34. package/include/libxml2/libxml/parser.h +2 -0
  35. package/include/libxml2/libxml/xmlIO.h +2 -2
  36. package/include/libxml2/libxml/xmlerror.h +1 -1
  37. package/include/libxml2/libxml/xmlversion.h +4 -4
  38. package/include/pixman-1/pixman-version.h +2 -2
  39. package/include/pixman-1/pixman.h +200 -0
  40. package/include/png.h +10 -10
  41. package/include/pngconf.h +20 -27
  42. package/include/pnglibconf.h +1 -1
  43. package/include/vips/VImage8.h +62 -14
  44. package/include/vips/arithmetic.h +34 -34
  45. package/include/vips/basic.h +16 -0
  46. package/include/vips/buf.h +0 -5
  47. package/include/vips/colour.h +6 -7
  48. package/include/vips/connection.h +25 -37
  49. package/include/vips/enumtypes.h +11 -2
  50. package/include/vips/foreign.h +73 -43
  51. package/include/vips/format.h +7 -5
  52. package/include/vips/gate.h +0 -11
  53. package/include/vips/header.h +11 -11
  54. package/include/vips/image.h +8 -3
  55. package/include/vips/interpolate.h +0 -2
  56. package/include/vips/memory.h +4 -0
  57. package/include/vips/mosaicing.h +4 -0
  58. package/include/vips/object.h +14 -18
  59. package/include/vips/operation.h +0 -2
  60. package/include/vips/private.h +50 -2
  61. package/include/vips/region.h +1 -3
  62. package/include/vips/resample.h +2 -0
  63. package/include/vips/semaphore.h +8 -3
  64. package/include/vips/thread.h +1 -24
  65. package/include/vips/threadpool.h +0 -6
  66. package/include/vips/type.h +13 -9
  67. package/include/vips/util.h +17 -98
  68. package/include/vips/vector.h +0 -4
  69. package/include/vips/version.h +8 -8
  70. package/include/vips/vips.h +1 -0
  71. package/package.json +1 -1
  72. package/versions.json +11 -11
  73. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +0 -221
  74. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h +0 -37
  75. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +0 -525
  76. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +0 -40
  77. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +0 -115
  78. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +0 -481
  79. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +0 -113
  80. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h +0 -718
  81. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +0 -33
  82. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +0 -70
  83. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +0 -168
  84. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +0 -46
  85. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +0 -165
  86. package/include/glib-2.0/glib/gwin32.h +0 -142
  87. package/include/harfbuzz/hb-subset-repacker.h +0 -81
  88. package/include/hwy/ops/tuple-inl.h +0 -125
  89. package/include/orc-0.4/orc/orc-stdint.h +0 -1
  90. package/include/orc-0.4/orc/orc.h +0 -16
  91. package/include/orc-0.4/orc/orcarm.h +0 -879
  92. package/include/orc-0.4/orc/orcbytecode.h +0 -35
  93. package/include/orc-0.4/orc/orcbytecodes.h +0 -255
  94. package/include/orc-0.4/orc/orccode.h +0 -53
  95. package/include/orc-0.4/orc/orccompiler.h +0 -176
  96. package/include/orc-0.4/orc/orcconstant.h +0 -39
  97. package/include/orc-0.4/orc/orccpu.h +0 -21
  98. package/include/orc-0.4/orc/orccpuinsn.h +0 -40
  99. package/include/orc-0.4/orc/orcdebug.h +0 -158
  100. package/include/orc-0.4/orc/orcemulateopcodes.h +0 -203
  101. package/include/orc-0.4/orc/orcexecutor.h +0 -135
  102. package/include/orc-0.4/orc/orcfunctions.h +0 -93
  103. package/include/orc-0.4/orc/orcinstruction.h +0 -39
  104. package/include/orc-0.4/orc/orcinternal.h +0 -46
  105. package/include/orc-0.4/orc/orclimits.h +0 -94
  106. package/include/orc-0.4/orc/orcmips.h +0 -229
  107. package/include/orc-0.4/orc/orcmmx.h +0 -79
  108. package/include/orc-0.4/orc/orcneon.h +0 -43
  109. package/include/orc-0.4/orc/orconce.h +0 -166
  110. package/include/orc-0.4/orc/orcopcode.h +0 -63
  111. package/include/orc-0.4/orc/orcparse.h +0 -27
  112. package/include/orc-0.4/orc/orcpowerpc.h +0 -209
  113. package/include/orc-0.4/orc/orcprogram.h +0 -192
  114. package/include/orc-0.4/orc/orcrule.h +0 -52
  115. package/include/orc-0.4/orc/orcsse.h +0 -55
  116. package/include/orc-0.4/orc/orctarget.h +0 -115
  117. package/include/orc-0.4/orc/orcutils.h +0 -238
  118. package/include/orc-0.4/orc/orcvariable.h +0 -81
  119. package/include/orc-0.4/orc/orcx86.h +0 -199
  120. package/include/orc-0.4/orc/orcx86insn.h +0 -672
@@ -1,94 +0,0 @@
1
-
2
- #ifndef _ORC_LIMITS_H_
3
- #define _ORC_LIMITS_H_
4
-
5
- #include <orc/orcutils.h>
6
-
7
- ORC_BEGIN_DECLS
8
-
9
- #define ORC_N_REGS (32*4)
10
- #define ORC_N_INSNS 100
11
- #define ORC_N_VARIABLES 64
12
- #define ORC_N_ARRAYS 12
13
- #define ORC_N_REGISTERS 20
14
- #define ORC_N_FIXUPS 100
15
- #define ORC_N_CONSTANTS 20
16
- #define ORC_N_LABELS 40
17
- #define ORC_N_COMPILER_VARIABLES (ORC_N_VARIABLES+32)
18
-
19
- #define ORC_GP_REG_BASE 32
20
- #define ORC_VEC_REG_BASE 64
21
- #define ORC_REG_INVALID 0
22
-
23
- #define ORC_STATIC_OPCODE_N_SRC 4
24
- #define ORC_STATIC_OPCODE_N_DEST 2
25
-
26
- #define ORC_OPCODE_N_ARGS 4
27
- #define ORC_N_TARGETS 10
28
- #define ORC_N_RULE_SETS 10
29
-
30
- #define ORC_MAX_VAR_SIZE 8
31
-
32
- #define ORC_MAX_DEST_VARS 4
33
- #define ORC_MAX_SRC_VARS 8
34
- #define ORC_MAX_TEMP_VARS 16
35
- #define ORC_MAX_CONST_VARS 8
36
- #define ORC_MAX_PARAM_VARS 8
37
- #define ORC_MAX_ACCUM_VARS 4
38
-
39
- enum {
40
- ORC_VAR_D1,
41
- ORC_VAR_D2,
42
- ORC_VAR_D3,
43
- ORC_VAR_D4,
44
- ORC_VAR_S1,
45
- ORC_VAR_S2,
46
- ORC_VAR_S3,
47
- ORC_VAR_S4,
48
- ORC_VAR_S5,
49
- ORC_VAR_S6,
50
- ORC_VAR_S7,
51
- ORC_VAR_S8,
52
- ORC_VAR_A1,
53
- ORC_VAR_A2,
54
- ORC_VAR_A3,
55
- ORC_VAR_A4,
56
- ORC_VAR_C1,
57
- ORC_VAR_C2,
58
- ORC_VAR_C3,
59
- ORC_VAR_C4,
60
- ORC_VAR_C5,
61
- ORC_VAR_C6,
62
- ORC_VAR_C7,
63
- ORC_VAR_C8,
64
- ORC_VAR_P1,
65
- ORC_VAR_P2,
66
- ORC_VAR_P3,
67
- ORC_VAR_P4,
68
- ORC_VAR_P5,
69
- ORC_VAR_P6,
70
- ORC_VAR_P7,
71
- ORC_VAR_P8,
72
- ORC_VAR_T1,
73
- ORC_VAR_T2,
74
- ORC_VAR_T3,
75
- ORC_VAR_T4,
76
- ORC_VAR_T5,
77
- ORC_VAR_T6,
78
- ORC_VAR_T7,
79
- ORC_VAR_T8,
80
- ORC_VAR_T9,
81
- ORC_VAR_T10,
82
- ORC_VAR_T11,
83
- ORC_VAR_T12,
84
- ORC_VAR_T13,
85
- ORC_VAR_T14,
86
- ORC_VAR_T15,
87
- ORC_VAR_T16
88
- };
89
-
90
-
91
- ORC_END_DECLS
92
-
93
- #endif
94
-
@@ -1,229 +0,0 @@
1
- /*
2
- Copyright 2002 - 2009 David A. Schleef <ds@schleef.org>
3
- Copyright 2012 MIPS Technologies, Inc.
4
-
5
- Author: Guillaume Emont <guijemont@igalia.com>
6
-
7
- Redistribution and use in source and binary forms, with or without
8
- modification, are permitted provided that the following conditions
9
- are met:
10
- 1. Redistributions of source code must retain the above copyright
11
- notice, this list of conditions and the following disclaimer.
12
- 2. Redistributions in binary form must reproduce the above copyright
13
- notice, this list of conditions and the following disclaimer in the
14
- documentation and/or other materials provided with the distribution.
15
-
16
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17
- IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
20
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
24
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
25
- IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
- POSSIBILITY OF SUCH DAMAGE.
27
-
28
- */
29
-
30
- #ifndef _ORC_MIPS_H_
31
- #define _ORC_MIPS_H_
32
-
33
- #include <orc/orc.h>
34
-
35
- ORC_BEGIN_DECLS
36
-
37
- #ifdef ORC_ENABLE_UNSTABLE_API
38
-
39
- typedef enum {
40
- ORC_TARGET_MIPS_FRAME_POINTER = (1<<0),
41
- ORC_TARGET_MIPS_DSP2 = (1<<1),
42
- } OrcTargetMipsFlags;
43
-
44
- typedef enum {
45
- ORC_MIPS_ZERO = ORC_GP_REG_BASE+0,
46
- ORC_MIPS_AT,
47
- ORC_MIPS_V0,
48
- ORC_MIPS_V1,
49
- ORC_MIPS_A0,
50
- ORC_MIPS_A1,
51
- ORC_MIPS_A2,
52
- ORC_MIPS_A3,
53
- ORC_MIPS_T0,
54
- ORC_MIPS_T1,
55
- ORC_MIPS_T2,
56
- ORC_MIPS_T3,
57
- ORC_MIPS_T4,
58
- ORC_MIPS_T5,
59
- ORC_MIPS_T6,
60
- ORC_MIPS_T7,
61
- ORC_MIPS_S0,
62
- ORC_MIPS_S1,
63
- ORC_MIPS_S2,
64
- ORC_MIPS_S3,
65
- ORC_MIPS_S4,
66
- ORC_MIPS_S5,
67
- ORC_MIPS_S6,
68
- ORC_MIPS_S7,
69
- ORC_MIPS_T8,
70
- ORC_MIPS_T9,
71
- ORC_MIPS_K0,
72
- ORC_MIPS_K1,
73
- ORC_MIPS_GP,
74
- ORC_MIPS_SP,
75
- ORC_MIPS_FP,
76
- ORC_MIPS_RA
77
- } OrcMipsRegister;
78
-
79
- ORC_API
80
- unsigned long orc_mips_get_cpu_flags (void);
81
-
82
- ORC_API
83
- void orc_mips_emit_label (OrcCompiler *compiler, unsigned int label);
84
-
85
- ORC_API
86
- void orc_mips_emit_nop (OrcCompiler *compiler);
87
-
88
- ORC_API
89
- void orc_mips_emit_sw (OrcCompiler *compiler, OrcMipsRegister reg,
90
- OrcMipsRegister base, unsigned int offset);
91
- ORC_API
92
- void orc_mips_emit_swr (OrcCompiler *compiler, OrcMipsRegister reg,
93
- OrcMipsRegister base, unsigned int offset);
94
- ORC_API
95
- void orc_mips_emit_swl (OrcCompiler *compiler, OrcMipsRegister reg,
96
- OrcMipsRegister base, unsigned int offset);
97
- ORC_API
98
- void orc_mips_emit_sh (OrcCompiler *compiler, OrcMipsRegister reg,
99
- OrcMipsRegister base, unsigned int offset);
100
- ORC_API
101
- void orc_mips_emit_sb (OrcCompiler *compiler, OrcMipsRegister reg,
102
- OrcMipsRegister base, unsigned int offset);
103
- ORC_API
104
- void orc_mips_emit_lw (OrcCompiler *compiler, OrcMipsRegister dest,
105
- OrcMipsRegister base, unsigned int offset);
106
- ORC_API
107
- void orc_mips_emit_lwr (OrcCompiler *compiler, OrcMipsRegister dest,
108
- OrcMipsRegister base, unsigned int offset);
109
- ORC_API
110
- void orc_mips_emit_lwl (OrcCompiler *compiler, OrcMipsRegister dest,
111
- OrcMipsRegister base, unsigned int offset);
112
- ORC_API
113
- void orc_mips_emit_lh (OrcCompiler *compiler, OrcMipsRegister dest,
114
- OrcMipsRegister base, unsigned int offset);
115
- ORC_API
116
- void orc_mips_emit_lb (OrcCompiler *compiler, OrcMipsRegister dest,
117
- OrcMipsRegister base, unsigned int offset);
118
- ORC_API
119
- void orc_mips_emit_lbu (OrcCompiler *compiler, OrcMipsRegister dest,
120
- OrcMipsRegister base, unsigned int offset);
121
- ORC_API
122
- void orc_mips_emit_jr (OrcCompiler *compiler, OrcMipsRegister address_reg);
123
-
124
- ORC_API
125
- void orc_mips_emit_conditional_branch (OrcCompiler *compiler, int condition,
126
- OrcMipsRegister rs, OrcMipsRegister rt,
127
- unsigned int label);
128
-
129
- ORC_API
130
- void orc_mips_emit_conditional_branch_with_offset (OrcCompiler *compiler,
131
- int condition,
132
- OrcMipsRegister rs,
133
- OrcMipsRegister rt,
134
- int offset);
135
-
136
- enum {
137
- ORC_MIPS_BEQ = 04,
138
- ORC_MIPS_BNE,
139
- ORC_MIPS_BLEZ,
140
- ORC_MIPS_BGTZ,
141
-
142
- /* instructions are encoded differently from here on*/
143
- ORC_MIPS_BLTZ,
144
- ORC_MIPS_BGEZ,
145
- };
146
-
147
- #define orc_mips_emit_beqz(compiler, reg, label) \
148
- orc_mips_emit_conditional_branch(compiler, ORC_MIPS_BEQ, reg, ORC_MIPS_ZERO, label)
149
- #define orc_mips_emit_bnez(compiler, reg, label) \
150
- orc_mips_emit_conditional_branch(compiler, ORC_MIPS_BNE, reg, ORC_MIPS_ZERO, label)
151
- #define orc_mips_emit_blez(compiler, reg, label) \
152
- orc_mips_emit_conditional_branch(compiler, ORC_MIPS_BLEZ, reg, ORC_MIPS_ZERO, label)
153
- #define orc_mips_emit_beq(compiler, reg1, reg2, label) \
154
- orc_mips_emit_conditional_branch(compiler, ORC_MIPS_BEQ, reg1, reg2, label)
155
-
156
- ORC_API void orc_mips_emit_addiu (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source, int value);
157
- ORC_API void orc_mips_emit_addi (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source, int value);
158
- ORC_API void orc_mips_emit_add (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
159
- ORC_API void orc_mips_emit_addu (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
160
- ORC_API void orc_mips_emit_addu_qb (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
161
- ORC_API void orc_mips_emit_addu_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
162
- ORC_API void orc_mips_emit_addq_s_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
163
- ORC_API void orc_mips_emit_adduh_r_qb (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
164
- ORC_API void orc_mips_emit_move (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source);
165
- ORC_API void orc_mips_emit_sub (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
166
- ORC_API void orc_mips_emit_subu_qb (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
167
- ORC_API void orc_mips_emit_subq_s_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
168
- ORC_API void orc_mips_emit_subq_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
169
- ORC_API void orc_mips_emit_subu_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
170
- ORC_API void orc_mips_emit_srl (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source, int value);
171
- ORC_API void orc_mips_emit_sll (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source, int value);
172
- ORC_API void orc_mips_emit_sra (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source, int value);
173
- ORC_API void orc_mips_emit_shll_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source, int value);
174
- ORC_API void orc_mips_emit_shra_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source, int value);
175
- ORC_API void orc_mips_emit_shrl_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source, int value);
176
- ORC_API void orc_mips_emit_andi (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source, int value);
177
- ORC_API void orc_mips_emit_or (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
178
- ORC_API void orc_mips_emit_and (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
179
- ORC_API void orc_mips_emit_ori (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source, int value);
180
- ORC_API void orc_mips_emit_lui (OrcCompiler *compiler, OrcMipsRegister dest, int value);
181
- ORC_API void orc_mips_emit_mul (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
182
- ORC_API void orc_mips_emit_mul_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
183
-
184
- ORC_API void orc_mips_emit_append (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source, int shift_amount);
185
-
186
- ORC_API void orc_mips_emit_prepend (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source, int shift_amount);
187
-
188
- ORC_API void orc_mips_emit_mtlo (OrcCompiler *compiler, OrcMipsRegister source);
189
-
190
- ORC_API void orc_mips_emit_extr_s_h (OrcCompiler *compiler, OrcMipsRegister dest, int accumulator, int shift);
191
-
192
- ORC_API void orc_mips_emit_slt (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister src1, OrcMipsRegister src2);
193
- ORC_API void orc_mips_emit_movn (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister src, OrcMipsRegister condition);
194
-
195
- ORC_API void orc_mips_emit_repl_ph (OrcCompiler *compiler, OrcMipsRegister dest, int value);
196
- ORC_API void orc_mips_emit_replv_qb (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source);
197
- ORC_API void orc_mips_emit_replv_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source);
198
- ORC_API void orc_mips_emit_preceu_ph_qbr (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source);
199
- ORC_API void orc_mips_emit_precr_qb_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
200
- ORC_API void orc_mips_emit_precrq_qb_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
201
- ORC_API void orc_mips_emit_cmp_lt_ph (OrcCompiler *compiler, OrcMipsRegister source1, OrcMipsRegister source2);
202
- ORC_API void orc_mips_emit_pick_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
203
-
204
- ORC_API void orc_mips_emit_packrl_ph (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source1, OrcMipsRegister source2);
205
- ORC_API void orc_mips_emit_align (OrcCompiler *compiler, int align_shift);
206
-
207
- ORC_API void orc_mips_emit_wsbh (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source);
208
- ORC_API void orc_mips_emit_seh (OrcCompiler *compiler, OrcMipsRegister dest, OrcMipsRegister source);
209
-
210
- ORC_API void orc_mips_emit_pref (OrcCompiler *compiler, int hint, OrcMipsRegister base, int offset);
211
-
212
- ORC_API void orc_mips_do_fixups (OrcCompiler *compiler);
213
-
214
- /* ORC_STRUCT_OFFSET doesn't work for cross-compiling, so we use that */
215
-
216
- #define ORC_MIPS_EXECUTOR_OFFSET_PROGRAM 0
217
- #define ORC_MIPS_EXECUTOR_OFFSET_N 4
218
- #define ORC_MIPS_EXECUTOR_OFFSET_COUNTER1 8
219
- #define ORC_MIPS_EXECUTOR_OFFSET_COUNTER2 12
220
- #define ORC_MIPS_EXECUTOR_OFFSET_COUNTER3 16
221
- #define ORC_MIPS_EXECUTOR_OFFSET_ARRAYS(i) (20 + 4 * i)
222
- #define ORC_MIPS_EXECUTOR_OFFSET_PARAMS(i) (276 + 4 * i)
223
- #define ORC_MIPS_EXECUTOR_OFFSET_ACCUMULATORS(i) (532 + 4 * i)
224
-
225
- #endif /* ORC_ENABLE_UNSTABLE_API */
226
-
227
- ORC_END_DECLS
228
-
229
- #endif /* _ORC_MIPS_H_ */
@@ -1,79 +0,0 @@
1
-
2
- #ifndef _ORC_MMX_H_
3
- #define _ORC_MMX_H_
4
-
5
- #include <orc/orcx86.h>
6
- #include <orc/orcx86insn.h>
7
-
8
- ORC_BEGIN_DECLS
9
-
10
- #ifdef ORC_ENABLE_UNSTABLE_API
11
-
12
- typedef enum {
13
- X86_MM0 = ORC_VEC_REG_BASE,
14
- X86_MM1,
15
- X86_MM2,
16
- X86_MM3,
17
- X86_MM4,
18
- X86_MM5,
19
- X86_MM6,
20
- X86_MM7
21
- } OrcMMXRegister;
22
-
23
- #define ORC_MMX_SHUF(a,b,c,d) ((((a)&3)<<6)|(((b)&3)<<4)|(((c)&3)<<2)|(((d)&3)<<0))
24
-
25
- ORC_API
26
- const char * orc_x86_get_regname_mmx(int i);
27
-
28
- ORC_API
29
- void orc_x86_emit_mov_memoffset_mmx (OrcCompiler *compiler, int size, int offset,
30
- int reg1, int reg2, int is_aligned);
31
-
32
- ORC_API
33
- void orc_x86_emit_mov_memindex_mmx (OrcCompiler *compiler, int size, int offset,
34
- int reg1, int regindex, int shift, int reg2, int is_aligned);
35
-
36
- ORC_API
37
- void orc_x86_emit_mov_mmx_memoffset (OrcCompiler *compiler, int size, int reg1, int offset,
38
- int reg2, int aligned, int uncached);
39
- #if 0
40
- void orc_x86_emit_mov_mmx_reg_reg (OrcCompiler *compiler, int reg1, int reg2);
41
- void orc_x86_emit_mov_reg_mmx (OrcCompiler *compiler, int reg1, int reg2);
42
- void orc_x86_emit_mov_mmx_reg (OrcCompiler *compiler, int reg1, int reg2);
43
- void orc_mmx_emit_loadib (OrcCompiler *p, int reg, int value);
44
- void orc_mmx_emit_loadiw (OrcCompiler *p, int reg, int value);
45
- void orc_mmx_emit_loadil (OrcCompiler *p, int reg, int value);
46
- void orc_mmx_emit_loadpb (OrcCompiler *p, int reg, int value);
47
- void orc_mmx_emit_loadpw (OrcCompiler *p, int reg, int value);
48
- void orc_mmx_emit_loadpl (OrcCompiler *p, int reg, int value);
49
- void orc_mmx_emit_loadpq (OrcCompiler *p, int reg, int value);
50
-
51
- void orc_mmx_emit_660f (OrcCompiler *p, const char *insn_name, int code,
52
- int src, int dest);
53
- void orc_mmx_emit_f20f (OrcCompiler *p, const char *insn_name, int code,
54
- int src, int dest);
55
- void orc_mmx_emit_f30f (OrcCompiler *p, const char *insn_name, int code,
56
- int src, int dest);
57
- void orc_mmx_emit_0f (OrcCompiler *p, const char *insn_name, int code,
58
- int src, int dest);
59
- void orc_mmx_emit_pshufw (OrcCompiler *p, int shuf, int src, int dest);
60
- void orc_mmx_emit_palignr (OrcCompiler *p, int align, int src, int dest);
61
- void orc_mmx_emit_pinsrw_memoffset (OrcCompiler *p, int imm, int offset,
62
- int src, int dest);
63
- void orc_mmx_emit_pextrw_memoffset (OrcCompiler *p, int imm, int src,
64
- int offset, int dest);
65
- void orc_mmx_emit_shiftimm (OrcCompiler *p, const char *insn_name,
66
- int code, int modrm_code, int shift, int reg);
67
- #endif
68
-
69
- ORC_API unsigned int orc_mmx_get_cpu_flags (void);
70
-
71
- ORC_API void orc_mmx_load_constant (OrcCompiler *compiler, int reg, int size,
72
- orc_uint64 value);
73
-
74
- #endif
75
-
76
- ORC_END_DECLS
77
-
78
- #endif
79
-
@@ -1,43 +0,0 @@
1
-
2
- #ifndef _ORC_NEON_H_
3
- #define _ORC_NEON_H_
4
-
5
- #include <orc/orc.h>
6
- #include <orc/orcarm.h>
7
-
8
- ORC_BEGIN_DECLS
9
-
10
- #ifdef ORC_ENABLE_UNSTABLE_API
11
-
12
- ORC_API const char *orc_neon_reg_name (int reg);
13
- ORC_API const char *orc_neon_reg_name_quad (int reg);
14
-
15
- ORC_API const char *orc_neon64_reg_name_vector (int reg, int size, int quad);
16
-
17
- ORC_API void orc_neon_loadb (OrcCompiler *compiler, OrcVariable *var, int update);
18
- ORC_API void orc_neon_loadw (OrcCompiler *compiler, OrcVariable *var, int update);
19
- ORC_API void orc_neon_loadl (OrcCompiler *compiler, OrcVariable *var, int update);
20
- ORC_API void orc_neon_loadq (OrcCompiler *compiler, int dest, int src1, int update, int is_aligned);
21
-
22
- ORC_API void orc_neon_load_vec_aligned (OrcCompiler *compiler, OrcVariable *var, int update);
23
- ORC_API void orc_neon_load_vec_unaligned (OrcCompiler *compiler, OrcVariable *var, int update);
24
- ORC_API void orc_neon_load_halfvec_unaligned (OrcCompiler *compiler, OrcVariable *var, int update);
25
-
26
- ORC_API void orc_neon_neg (OrcCompiler *compiler, int dest);
27
- ORC_API void orc_neon_storeb (OrcCompiler *compiler, int dest, int update, int src1, int is_aligned);
28
- ORC_API void orc_neon_storew (OrcCompiler *compiler, int dest, int update, int src1, int is_aligned);
29
- ORC_API void orc_neon_storel (OrcCompiler *compiler, int dest, int update, int src1, int is_aligned);
30
- ORC_API void orc_neon_storeq (OrcCompiler *compiler, int dest, int update, int src1, int is_aligned);
31
- ORC_API void orc_neon_emit_loadil (OrcCompiler *p, OrcVariable *dest, int value);
32
- ORC_API void orc_neon_emit_loadpb (OrcCompiler *p, int reg, int param);
33
- ORC_API void orc_neon_emit_loadpw (OrcCompiler *p, int reg, int param);
34
- ORC_API void orc_neon_emit_loadpl (OrcCompiler *p, int reg, int param);
35
- ORC_API void orc_neon_preload (OrcCompiler *compiler, OrcVariable *var, int write,
36
- int offset);
37
-
38
- #endif
39
-
40
- ORC_END_DECLS
41
-
42
- #endif
43
-
@@ -1,166 +0,0 @@
1
-
2
- #ifndef _ORC_ONCE_H_
3
- #define _ORC_ONCE_H_
4
-
5
- #include <orc/orc.h>
6
-
7
- #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_ATOMICS)
8
- #include <stdatomic.h>
9
- typedef atomic_int orc_once_atomic_int;
10
- #else
11
- typedef int orc_once_atomic_int;
12
- #endif
13
-
14
- #if (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 201112L || defined(__STDC_NO_ATOMICS)) && defined(_MSC_VER)
15
- #include <windows.h>
16
- #endif
17
-
18
- ORC_BEGIN_DECLS
19
-
20
- typedef struct _OrcMutex OrcMutex;
21
-
22
- typedef struct _OrcOnce OrcOnce;
23
-
24
- struct _OrcOnce {
25
- orc_once_atomic_int inited;
26
- void *value;
27
- };
28
-
29
- #define ORC_ONCE_INIT { 0, NULL }
30
-
31
- ORC_API void orc_once_mutex_lock (void);
32
- ORC_API void orc_once_mutex_unlock (void);
33
-
34
- #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_ATOMICS)
35
-
36
- static inline orc_bool orc_once_enter(OrcOnce *once, void **value) {
37
- int inited;
38
-
39
- inited = atomic_load_explicit (&once->inited, memory_order_acquire);
40
- if (inited) {
41
- *value = once->value;
42
- return TRUE;
43
- }
44
-
45
- orc_once_mutex_lock ();
46
-
47
- inited = atomic_load_explicit (&once->inited, memory_order_acquire);
48
- if (inited) {
49
- *value = once->value;
50
- orc_once_mutex_unlock ();
51
- return TRUE;
52
- }
53
-
54
- return FALSE;
55
- }
56
-
57
- static inline void orc_once_leave(OrcOnce *once, void *value) {
58
- int inited = TRUE;
59
- once->value = value;
60
- atomic_store_explicit (&once->inited, inited, memory_order_release);
61
- orc_once_mutex_unlock ();
62
- }
63
-
64
- #elif defined(_MSC_VER)
65
-
66
- static inline orc_bool orc_once_enter(OrcOnce *once, void **value) {
67
- int inited;
68
-
69
- /* We use 0 for not initialized, 1 for initialized and 2 for currently
70
- * being initialized */
71
- inited = InterlockedCompareExchange(&once->inited, 2, 0);
72
- /* If the value was previously initialized then just return here */
73
- if (inited == 1) {
74
- *value = once->value;
75
- return TRUE;
76
- }
77
-
78
- orc_once_mutex_lock ();
79
- /* If the value was currently being initialized then check if we're the
80
- * thread that is doing the initialization or not */
81
- if (inited == 2) {
82
- inited = InterlockedCompareExchange(&once->inited, 2, 2);
83
-
84
- /* The other thread initialized the value in the meantime so
85
- * we can just return here */
86
- if (inited == 1) {
87
- *value = once->value;
88
- orc_once_mutex_unlock ();
89
- return TRUE;
90
- }
91
- }
92
-
93
- return FALSE;
94
- }
95
-
96
- static inline void orc_once_leave(OrcOnce *once, void *value) {
97
- once->value = value;
98
- InterlockedExchange (&once->inited, 1);
99
- orc_once_mutex_unlock ();
100
- }
101
-
102
- #elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1))
103
-
104
- static inline orc_bool orc_once_enter(OrcOnce *once, void **value) {
105
- int inited;
106
-
107
- /* we use 0 for not initialized, 1 for initialized and 3 for currently
108
- * being initialized */
109
- inited = __sync_val_compare_and_swap(&once->inited, 3, 0);
110
- /* if the value was previously initialized then just return here */
111
- if (inited == 1) {
112
- *value = once->value;
113
- return TRUE;
114
- }
115
-
116
- orc_once_mutex_lock ();
117
- /* if the value was currently being initialized then check if we're the
118
- * thread that is doing the initialization or not */
119
- if (inited == 3) {
120
- inited = __sync_val_compare_and_swap(&once->inited, 3, 3);
121
-
122
- /* the other thread initialized the value in the meantime so
123
- * we can just return here */
124
- if (inited == 1) {
125
- *value = once->value;
126
- orc_once_mutex_unlock ();
127
- return TRUE;
128
- }
129
- }
130
-
131
- return FALSE;
132
- }
133
-
134
- static inline void orc_once_leave(OrcOnce *once, void *value) {
135
- once->value = value;
136
- /* this effectively sets the previous value of 3 to 1 */
137
- __sync_and_and_fetch (&once->inited, 1);
138
- orc_once_mutex_unlock ();
139
- }
140
-
141
- #else
142
- #warning No atomic operations available
143
-
144
- static inline orc_bool orc_once_enter(OrcOnce *once, void **value) {
145
- orc_once_mutex_lock ();
146
- if (once->inited) {
147
- *value = once->value;
148
- orc_once_mutex_unlock ();
149
- return TRUE;
150
- }
151
-
152
- return FALSE;
153
- }
154
-
155
- static inline void orc_once_leave(OrcOnce *once, void *value) {
156
- once->value = value;
157
- once->inited = TRUE;
158
- orc_once_mutex_unlock ();
159
- }
160
-
161
- #endif
162
-
163
- ORC_END_DECLS
164
-
165
- #endif
166
-
@@ -1,63 +0,0 @@
1
-
2
- #ifndef _ORC_OPCODE_H_
3
- #define _ORC_OPCODE_H_
4
-
5
- #include <orc/orc.h>
6
- #include <orc/orclimits.h>
7
-
8
- ORC_BEGIN_DECLS
9
-
10
- typedef struct _OrcOpcodeSet OrcOpcodeSet;
11
- typedef struct _OrcStaticOpcode OrcStaticOpcode;
12
-
13
-
14
- /**
15
- * OrcOpcodeSet:
16
- *
17
- * The OrcOpcodeSet structure has no public members
18
- */
19
- struct _OrcOpcodeSet {
20
- /*< private >*/
21
- int opcode_major;
22
- char prefix[8];
23
-
24
- int n_opcodes;
25
- OrcStaticOpcode *opcodes;
26
- };
27
-
28
- #define ORC_STATIC_OPCODE_ACCUMULATOR (1<<0)
29
- #define ORC_STATIC_OPCODE_FLOAT_SRC (1<<1)
30
- #define ORC_STATIC_OPCODE_FLOAT_DEST (1<<2)
31
- #define ORC_STATIC_OPCODE_FLOAT (ORC_STATIC_OPCODE_FLOAT_SRC|ORC_STATIC_OPCODE_FLOAT_DEST)
32
- #define ORC_STATIC_OPCODE_SCALAR (1<<3)
33
- #define ORC_STATIC_OPCODE_LOAD (1<<4)
34
- #define ORC_STATIC_OPCODE_STORE (1<<5)
35
- #define ORC_STATIC_OPCODE_INVARIANT (1<<6)
36
- #define ORC_STATIC_OPCODE_ITERATOR (1<<7)
37
- #define ORC_STATIC_OPCODE_COPY (1<<8)
38
-
39
-
40
- struct _OrcStaticOpcode {
41
- char name[16];
42
- unsigned int flags;
43
- int dest_size[ORC_STATIC_OPCODE_N_DEST];
44
- int src_size[ORC_STATIC_OPCODE_N_SRC];
45
- OrcOpcodeEmulateNFunc emulateN;
46
- };
47
-
48
- ORC_API OrcStaticOpcode * orc_opcode_find_by_name (const char *name);
49
-
50
- ORC_API void orc_opcode_init (void);
51
-
52
- ORC_API OrcOpcodeSet *orc_opcode_set_get (const char *name);
53
-
54
- ORC_API OrcOpcodeSet *orc_opcode_set_get_nth (int opcode_major);
55
-
56
- ORC_API int orc_opcode_set_find_by_name (OrcOpcodeSet *opcode_set, const char *name);
57
-
58
- ORC_API int orc_opcode_register_static (OrcStaticOpcode *sopcode, char *prefix);
59
-
60
- ORC_END_DECLS
61
-
62
- #endif
63
-
@@ -1,27 +0,0 @@
1
-
2
- #ifndef __ORC_PARSE_H__
3
- #define __ORC_PARSE_H__
4
-
5
- #include <orc/orc.h>
6
-
7
- ORC_BEGIN_DECLS
8
-
9
- typedef struct _OrcParseError OrcParseError;
10
- struct _OrcParseError {
11
- const char *source;
12
- int line_number;
13
- int where;
14
- const char *text;
15
- };
16
-
17
- ORC_API void orc_parse_error_freev (OrcParseError **errors);
18
-
19
- ORC_API int orc_parse (const char *code, OrcProgram ***programs);
20
- ORC_API int orc_parse_full (const char *code, OrcProgram ***programs, char **log);
21
- ORC_API int orc_parse_code (const char *code, OrcProgram ***programs, int *n_program, OrcParseError ***errors, int *n_error);
22
- ORC_API const char * orc_parse_get_init_function (OrcProgram *program);
23
-
24
- ORC_END_DECLS
25
-
26
- #endif
27
-