@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,238 +0,0 @@
1
- /*
2
- * ORC - Library of Optimized Inner Loops
3
- * Copyright (c) 2007 David A. Schleef <ds@schleef.org>
4
- * All rights reserved.
5
- *
6
- * Redistribution and use in source and binary forms, with or without
7
- * modification, are permitted provided that the following conditions
8
- * are met:
9
- * 1. Redistributions of source code must retain the above copyright
10
- * notice, this list of conditions and the following disclaimer.
11
- * 2. Redistributions in binary form must reproduce the above copyright
12
- * notice, this list of conditions and the following disclaimer in the
13
- * documentation and/or other materials provided with the distribution.
14
- *
15
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
19
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
23
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25
- * POSSIBILITY OF SUCH DAMAGE.
26
- */
27
-
28
- #ifndef _ORC_UTILS_H_
29
- #define _ORC_UTILS_H_
30
-
31
- /* Orc objects */
32
- /* typedef struct _OrcVariable OrcVariable; */
33
- /* typedef struct _OrcOpcodeSet OrcOpcodeSet; */
34
- /* typedef struct _OrcStaticOpcode OrcStaticOpcode; */
35
- typedef struct _OrcInstruction OrcInstruction;
36
- typedef struct _OrcProgram OrcProgram;
37
- typedef struct _OrcCompiler OrcCompiler;
38
- typedef struct _OrcConstant OrcConstant;
39
- /* typedef struct _OrcFixup OrcFixup; */
40
- typedef struct _OrcTarget OrcTarget;
41
- typedef struct _OrcCode OrcCode;
42
-
43
- typedef enum {
44
- ORC_COMPILE_RESULT_OK = 0,
45
-
46
- ORC_COMPILE_RESULT_UNKNOWN_COMPILE = 0x100,
47
- ORC_COMPILE_RESULT_MISSING_RULE = 0x101,
48
-
49
- ORC_COMPILE_RESULT_UNKNOWN_PARSE = 0x200,
50
- ORC_COMPILE_RESULT_PARSE = 0x201,
51
- ORC_COMPILE_RESULT_VARIABLE = 0x202
52
-
53
- } OrcCompileResult;
54
-
55
- #include <stddef.h>
56
-
57
- #ifndef _ORC_INTEGER_TYPEDEFS_
58
- #define _ORC_INTEGER_TYPEDEFS_
59
- #if defined(__STDC__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
60
- #include <stdint.h>
61
- typedef int8_t orc_int8;
62
- typedef int16_t orc_int16;
63
- typedef int32_t orc_int32;
64
- typedef int64_t orc_int64;
65
- typedef uint8_t orc_uint8;
66
- typedef uint16_t orc_uint16;
67
- typedef uint32_t orc_uint32;
68
- typedef uint64_t orc_uint64;
69
- typedef intptr_t orc_intptr;
70
- #define ORC_UINT64_C(x) UINT64_C(x)
71
- #elif defined(_MSC_VER)
72
- typedef signed __int8 orc_int8;
73
- typedef signed __int16 orc_int16;
74
- typedef signed __int32 orc_int32;
75
- typedef signed __int64 orc_int64;
76
- typedef unsigned __int8 orc_uint8;
77
- typedef unsigned __int16 orc_uint16;
78
- typedef unsigned __int32 orc_uint32;
79
- typedef unsigned __int64 orc_uint64;
80
- #ifdef _WIN64
81
- typedef unsigned __int64 orc_intptr;
82
- #else
83
- typedef unsigned long orc_intptr;
84
- #endif
85
- #define ORC_UINT64_C(x) (x##Ui64)
86
- #else
87
- #include <limits.h>
88
- typedef signed char orc_int8;
89
- typedef short orc_int16;
90
- typedef int orc_int32;
91
- typedef unsigned char orc_uint8;
92
- typedef unsigned short orc_uint16;
93
- typedef unsigned int orc_uint32;
94
- #if INT_MAX == LONG_MAX
95
- typedef long long orc_int64;
96
- typedef unsigned long long orc_uint64;
97
- #define ORC_UINT64_C(x) (x##ULL)
98
- #else
99
- typedef long orc_int64;
100
- typedef unsigned long orc_uint64;
101
- #define ORC_UINT64_C(x) (x##UL)
102
- #endif
103
- #ifdef _WIN64
104
- typedef unsigned __int64 orc_intptr;
105
- #else
106
- typedef unsigned long orc_intptr;
107
- #endif
108
- #endif
109
- typedef union { orc_int16 i; orc_int8 x2[2]; } orc_union16;
110
- typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32;
111
- typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16 x4[4]; } orc_union64;
112
- #endif
113
-
114
- #ifndef TRUE
115
- #define TRUE 1
116
- #endif
117
- #ifndef FALSE
118
- #define FALSE 0
119
- #endif
120
-
121
- typedef unsigned int orc_bool;
122
-
123
- #define ORC_PTR_TO_INT(x) ((int)(orc_intptr)(x))
124
- #define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
125
-
126
- #if (defined(__GNUC__) && __GNUC__ >= 4) || defined (_MSC_VER)
127
- #define ORC_STRUCT_OFFSET(struct_type, member) \
128
- ((int) offsetof (struct_type, member))
129
- #else
130
- #define ORC_STRUCT_OFFSET(struct_type, member) \
131
- ((int) ((unsigned char **) &((struct_type*) 0)->member))
132
- #endif
133
-
134
- #ifdef ORC_ENABLE_UNSTABLE_API
135
-
136
- #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
137
- #ifndef MIN
138
- #define MIN(a,b) ((a)<(b) ? (a) : (b))
139
- #endif
140
- #ifndef MAX
141
- #define MAX(a,b) ((a)>(b) ? (a) : (b))
142
- #endif
143
- #ifndef ORC_CLAMP
144
- #define ORC_CLAMP(x,a,b) ((x)<(a) ? (a) : ((x)>(b) ? (b) : (x)))
145
- #endif
146
-
147
- #define ORC_READ_UINT32_LE(ptr) \
148
- (((orc_uint32)((orc_uint8 *)(ptr))[0]) | \
149
- ((orc_uint32)(((orc_uint8 *)(ptr))[1])<<8) | \
150
- ((orc_uint32)(((orc_uint8 *)(ptr))[2])<<16) | \
151
- ((orc_uint32)(((orc_uint8 *)(ptr))[3])<<24))
152
-
153
- #define ORC_WRITE_UINT32_LE(ptr,val) \
154
- do { \
155
- ((orc_uint8 *)ptr)[0] = ((val)>>0)&0xff; \
156
- ((orc_uint8 *)ptr)[1] = ((val)>>8)&0xff; \
157
- ((orc_uint8 *)ptr)[2] = ((val)>>16)&0xff; \
158
- ((orc_uint8 *)ptr)[3] = ((val)>>24)&0xff; \
159
- } while(0)
160
-
161
- #endif
162
-
163
- #if defined(__GNUC__) && defined(__GNUC_MINOR__)
164
- #define ORC_GNUC_PREREQ(maj, min) \
165
- ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
166
- #else
167
- #define ORC_GNUC_PREREQ(maj, min) 0
168
- #endif
169
-
170
- #if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__)
171
- #define ORC_LIKELY(expr) (__builtin_expect ((expr), 1))
172
- #define ORC_UNLIKELY(expr) (__builtin_expect ((expr), 0))
173
- #else
174
- #define ORC_LIKELY(expr) (expr)
175
- #define ORC_UNLIKELY(expr) (expr)
176
- #endif
177
-
178
- #ifndef ORC_INTERNAL
179
- #if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
180
- #define ORC_INTERNAL __attribute__((visibility("hidden")))
181
- #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
182
- #define ORC_INTERNAL __hidden
183
- #elif defined (__GNUC__) && ORC_GNUC_PREREQ(3,3) && defined(__ELF__)
184
- #define ORC_INTERNAL __attribute__((visibility("hidden")))
185
- #else
186
- #define ORC_INTERNAL
187
- #endif
188
- #endif
189
-
190
- #if ORC_GNUC_PREREQ(3,3) /* guess */
191
- #define ORC_GNU_PRINTF(a,b) __attribute__((__format__ (__printf__, a, b)))
192
- #else
193
- #define ORC_GNU_PRINTF(a,b)
194
- #endif
195
-
196
- #if ORC_GNUC_PREREQ(2,4)
197
- #define ORC_GNUC_UNUSED __attribute__((__unused__))
198
- #else
199
- #define ORC_GNUC_UNUSED
200
- #endif
201
-
202
- #ifdef __cplusplus
203
- #define ORC_BEGIN_DECLS extern "C" {
204
- #define ORC_END_DECLS }
205
- #else
206
- #define ORC_BEGIN_DECLS
207
- #define ORC_END_DECLS
208
- #endif
209
-
210
- /* FIXME: unused, remove */
211
- #define ORC_EXPORT
212
-
213
- #if (defined(_MSC_VER) || defined(_WIN32)) && !defined(ORC_STATIC_COMPILATION)
214
- #define ORC_API_IMPORT __declspec(dllimport) extern
215
- #else
216
- #define ORC_API_IMPORT extern
217
- #endif
218
-
219
- #ifdef BUILDING_ORC
220
- #define ORC_API ORC_API_EXPORT /* defined in config.h */
221
- #else
222
- #define ORC_API ORC_API_IMPORT
223
- #endif
224
-
225
- ORC_BEGIN_DECLS
226
-
227
- #ifdef ORC_ENABLE_UNSTABLE_API
228
-
229
- /* FIXME: why are these exported ? */
230
- ORC_API void orc_global_mutex_lock (void);
231
- ORC_API void orc_global_mutex_unlock (void);
232
-
233
- #endif
234
-
235
- ORC_END_DECLS
236
-
237
- #endif
238
-
@@ -1,81 +0,0 @@
1
-
2
- #ifndef _ORC_VARIABLE_H_
3
- #define _ORC_VARIABLE_H_
4
-
5
- #include <orc/orcutils.h>
6
- #include <orc/orclimits.h>
7
- #include <orc/orcexecutor.h>
8
- #include <orc/orccode.h>
9
- #include <orc/orcbytecode.h>
10
- #include <orc/orccompiler.h>
11
- #include <orc/orctarget.h>
12
- #include <orc/orcrule.h>
13
-
14
- ORC_BEGIN_DECLS
15
-
16
- #define ORC_VAR_FLAG_VOLATILE_WORKAROUND (1<<0)
17
-
18
- typedef struct _OrcVariable OrcVariable;
19
-
20
- typedef enum {
21
- ORC_VAR_TYPE_TEMP,
22
- ORC_VAR_TYPE_SRC,
23
- ORC_VAR_TYPE_DEST,
24
- ORC_VAR_TYPE_CONST,
25
- ORC_VAR_TYPE_PARAM,
26
- ORC_VAR_TYPE_ACCUMULATOR
27
- } OrcVarType;
28
-
29
- enum {
30
- ORC_PARAM_TYPE_INT = 0,
31
- ORC_PARAM_TYPE_FLOAT,
32
- ORC_PARAM_TYPE_INT64,
33
- ORC_PARAM_TYPE_DOUBLE
34
- };
35
-
36
-
37
- /**
38
- * OrcVariable:
39
- *
40
- * The OrcVariable structure has no public members
41
- */
42
- struct _OrcVariable {
43
- /*< private >*/
44
- char *name;
45
- char *type_name;
46
-
47
- int size;
48
- OrcVarType vartype;
49
-
50
- int used;
51
- int first_use;
52
- int last_use;
53
- int replaced;
54
- int replacement;
55
-
56
- int alloc;
57
- int is_chained;
58
- int is_aligned;
59
- int alignment;
60
- int is_uncached;
61
-
62
- orc_union64 value;
63
-
64
- int ptr_register;
65
- int ptr_offset;
66
- int mask_alloc;
67
- int aligned_data;
68
- int param_type;
69
- int load_dest;
70
- int update_type;
71
- int need_offset_reg;
72
- unsigned int flags;
73
-
74
- int has_parameter;
75
- int parameter;
76
- };
77
-
78
- ORC_END_DECLS
79
-
80
- #endif
81
-
@@ -1,199 +0,0 @@
1
-
2
- #ifndef _ORC_X86_H_
3
- #define _ORC_X86_H_
4
-
5
- #include <orc/orcprogram.h>
6
- #include <orc/orcx86insn.h>
7
-
8
- ORC_BEGIN_DECLS
9
-
10
- #ifdef ORC_ENABLE_UNSTABLE_API
11
-
12
- enum {
13
- X86_EAX = ORC_GP_REG_BASE,
14
- X86_ECX,
15
- X86_EDX,
16
- X86_EBX,
17
- X86_ESP,
18
- X86_EBP,
19
- X86_ESI,
20
- X86_EDI,
21
- X86_R8,
22
- X86_R9,
23
- X86_R10,
24
- X86_R11,
25
- X86_R12,
26
- X86_R13,
27
- X86_R14,
28
- X86_R15
29
- };
30
-
31
- enum {
32
- ORC_X86_UNKNOWN,
33
- ORC_X86_P6,
34
- ORC_X86_NETBURST,
35
- ORC_X86_CORE,
36
- ORC_X86_PENRYN,
37
- ORC_X86_NEHALEM,
38
- ORC_X86_BONNELL,
39
- ORC_X86_WESTMERE,
40
- ORC_X86_SANDY_BRIDGE,
41
- ORC_X86_K5,
42
- ORC_X86_K6,
43
- ORC_X86_K7,
44
- ORC_X86_K8,
45
- ORC_X86_K10
46
- };
47
-
48
- ORC_API const char * orc_x86_get_regname(int i);
49
- ORC_API int orc_x86_get_regnum(int i);
50
- ORC_API const char * orc_x86_get_regname_8(int i);
51
- ORC_API const char * orc_x86_get_regname_16(int i);
52
- ORC_API const char * orc_x86_get_regname_64(int i);
53
- ORC_API const char * orc_x86_get_regname_ptr(OrcCompiler *compiler, int i);
54
- ORC_API const char * orc_x86_get_regname_size(int i, int size);
55
-
56
- ORC_API void orc_x86_emit_push (OrcCompiler *compiler, int size, int reg);
57
- ORC_API void orc_x86_emit_pop (OrcCompiler *compiler, int size, int reg);
58
-
59
- #define orc_x86_emit_mov_imm_reg(p,size,value,reg) \
60
- orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_mov_imm32_r, size, value, reg)
61
- #define orc_x86_emit_mov_reg_reg(p,size,src,dest) \
62
- orc_x86_emit_cpuinsn_size (p, ORC_X86_mov_r_rm, size, src, dest)
63
- #define orc_x86_emit_test_reg_reg(p,size,src,dest) \
64
- orc_x86_emit_cpuinsn_size (p, ORC_X86_test, size, src, dest)
65
- #define orc_x86_emit_sar_imm_reg(p,size,value,reg) do { \
66
- if (value == 1) { \
67
- orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_sar, size, value, reg); \
68
- } else if (value > 1) { \
69
- orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_sar_imm, size, value, reg); \
70
- } \
71
- } while (0)
72
- #define orc_x86_emit_and_imm_memoffset(p,size,value,offset,reg) \
73
- orc_x86_emit_cpuinsn_imm_memoffset (p, (value >= -128 && value < 128) ? \
74
- ORC_X86_and_imm8_rm : ORC_X86_and_imm32_rm, size, value, offset, reg)
75
- #define orc_x86_emit_and_imm_reg(p,size,value,reg) do { \
76
- if ((value) >= -128 && (value) < 128) { \
77
- orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_and_imm8_rm, size, value, reg); \
78
- } else { \
79
- if ((reg) == X86_EAX) { \
80
- orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_and_imm32_a, size, value, reg); \
81
- } else { \
82
- orc_x86_emit_cpuinsn_imm_reg (p, ORC_X86_and_imm32_rm, size, value, reg); \
83
- } \
84
- } \
85
- } while (0)
86
- #define orc_x86_emit_add_imm_memoffset(p,size,value,offset,reg) \
87
- orc_x86_emit_cpuinsn_imm_memoffset (p, (value >= -128 && value < 128) ? \
88
- ORC_X86_add_imm8_rm : ORC_X86_add_imm32_rm, size, value, offset, reg)
89
- #define orc_x86_emit_add_reg_memoffset(p,size,src,offset,dest) \
90
- orc_x86_emit_cpuinsn_reg_memoffset_s(p, ORC_X86_add_r_rm, size, src, offset, dest)
91
- #define orc_x86_emit_add_reg_reg(p,size,src,dest) \
92
- orc_x86_emit_cpuinsn_size(p, ORC_X86_add_r_rm, size, src, dest)
93
- #define orc_x86_emit_add_memoffset_reg(p,size,offset,src,dest) \
94
- orc_x86_emit_cpuinsn_memoffset_reg(p, ORC_X86_add_rm_r, size, offset, src, dest)
95
- #define orc_x86_emit_sub_reg_reg(p,size,src,dest) \
96
- orc_x86_emit_cpuinsn_size(p, ORC_X86_sub_r_rm, size, src, dest)
97
- #define orc_x86_emit_sub_memoffset_reg(p,size,offset,src,dest) \
98
- orc_x86_emit_cpuinsn_memoffset_reg(p, ORC_X86_sub_rm_r, size, offset, src, dest)
99
- #define orc_x86_emit_imul_memoffset_reg(p,size,offset,src,dest) \
100
- orc_x86_emit_cpuinsn_memoffset_reg(p, ORC_X86_imul_rm_r, size, offset, src, dest)
101
-
102
- #define orc_x86_emit_cmp_reg_memoffset(p,size,src,offset,dest) \
103
- orc_x86_emit_cpuinsn_reg_memoffset_s(p, ORC_X86_cmp_r_rm, size, src, offset, dest)
104
-
105
- #define orc_x86_emit_jmp(p,label) \
106
- orc_x86_emit_cpuinsn_branch (p, ORC_X86_jmp, label)
107
- #define orc_x86_emit_jg(p,label) \
108
- orc_x86_emit_cpuinsn_branch (p, ORC_X86_jg, label)
109
- #define orc_x86_emit_jle(p,label) \
110
- orc_x86_emit_cpuinsn_branch (p, ORC_X86_jle, label)
111
- #define orc_x86_emit_je(p,label) \
112
- orc_x86_emit_cpuinsn_branch (p, ORC_X86_jz, label)
113
- #define orc_x86_emit_jne(p,label) \
114
- orc_x86_emit_cpuinsn_branch (p, ORC_X86_jnz, label)
115
-
116
- #define orc_x86_emit_align(p,align_shift) \
117
- orc_x86_emit_cpuinsn_align (p, ORC_X86_ALIGN, align_shift)
118
- #define orc_x86_emit_label(p,label) \
119
- orc_x86_emit_cpuinsn_label (p, ORC_X86_LABEL, label)
120
-
121
- #define orc_x86_emit_emms(p) \
122
- orc_x86_emit_cpuinsn_none (p, ORC_X86_emms)
123
- #define orc_x86_emit_rdtsc(p) \
124
- orc_x86_emit_cpuinsn_none (p, ORC_X86_rdtsc)
125
- #define orc_x86_emit_ret(p) \
126
- orc_x86_emit_cpuinsn_none (p, ((p)->is_64bit) ? ORC_X86_retq : ORC_X86_ret)
127
-
128
- #define orc_x86_emit_test_imm_memoffset(p,size,value,offset,dest) \
129
- orc_x86_emit_cpuinsn_imm_memoffset (p, ORC_X86_test_imm, size, value, \
130
- offset, dest)
131
-
132
- ORC_API void orc_x86_emit_mov_memoffset_reg (OrcCompiler *compiler, int size, int offset, int reg1, int reg2);
133
- ORC_API void orc_x86_emit_mov_reg_memoffset (OrcCompiler *compiler, int size, int reg1, int offset, int reg2);
134
- ORC_API void orc_x86_emit_dec_memoffset (OrcCompiler *compiler, int size, int offset, int reg);
135
- ORC_API void orc_x86_emit_add_imm_reg (OrcCompiler *compiler, int size, int value, int reg, orc_bool record);
136
- ORC_API void orc_x86_emit_add_reg_reg_shift (OrcCompiler *compiler, int size, int reg1, int reg2, int shift);
137
- ORC_API void orc_x86_emit_cmp_imm_memoffset (OrcCompiler *compiler, int size, int value, int offset, int reg);
138
- ORC_API void orc_x86_emit_cmp_imm_reg (OrcCompiler *compiler, int size, int value, int reg);
139
- ORC_API void orc_x86_emit_rep_movs (OrcCompiler *compiler, int size);
140
- ORC_API void orc_x86_emit_prologue (OrcCompiler *compiler);
141
- ORC_API void orc_x86_emit_epilogue (OrcCompiler *compiler);
142
-
143
- ORC_API void orc_x86_emit_rex (OrcCompiler *compiler, int size, int reg1, int reg2, int reg3);
144
- ORC_API void orc_x86_emit_modrm_memoffset_old (OrcCompiler *compiler, int reg1, int offset, int reg2);
145
- ORC_API void orc_x86_emit_modrm_memoffset (OrcCompiler *compiler, int offset, int reg1, int reg2);
146
- ORC_API void orc_x86_emit_modrm_reg (OrcCompiler *compiler, int reg1, int reg2);
147
- ORC_API void orc_x86_emit_modrm_memindex (OrcCompiler *compiler, int reg1, int offset,
148
- int reg2, int regindex, int shift);
149
- ORC_API void orc_x86_emit_modrm_memindex2 (OrcCompiler *compiler, int offset,
150
- int src, int src_index, int shift, int dest);
151
-
152
- /* FIXME: remove from public header, these were never exported */
153
- void x86_add_fixup (OrcCompiler *compiler, unsigned char *ptr, int label, int type);
154
- void x86_add_label (OrcCompiler *compiler, unsigned char *ptr, int label);
155
- void x86_add_label2 (OrcCompiler *compiler, int index, int label);
156
-
157
- ORC_API void orc_x86_do_fixups (OrcCompiler *compiler);
158
-
159
- ORC_API int orc_x86_assemble_copy_check (OrcCompiler *compiler);
160
- ORC_API void orc_x86_assemble_copy (OrcCompiler *compiler);
161
-
162
- ORC_API void orc_x86_emit_cpuinsn_size (OrcCompiler *p, int opcode, int size,
163
- int src, int dest);
164
- ORC_API void orc_x86_emit_cpuinsn_imm (OrcCompiler *p, int opcode, int imm,
165
- int src, int dest);
166
- ORC_API void orc_x86_emit_cpuinsn_load_memoffset (OrcCompiler *p, int size, int index,
167
- int offset, int src, int dest, int imm);
168
- ORC_API void orc_x86_emit_cpuinsn_store_memoffset (OrcCompiler *p, int size, int index,
169
- int src, int offset, int dest, int imm);
170
- ORC_API void orc_x86_emit_cpuinsn_load_memindex (OrcCompiler *p, int index, int size,
171
- int imm, int offset, int src, int src_index, int shift, int dest);
172
- ORC_API void orc_x86_emit_cpuinsn_load_register (OrcCompiler *p, int index, int imm,
173
- int src, int dest);
174
- ORC_API void orc_x86_emit_cpuinsn_imm_reg (OrcCompiler *p, int index, int size, int imm,
175
- int dest);
176
- ORC_API void orc_x86_emit_cpuinsn_imm_memoffset (OrcCompiler *p, int index, int size,
177
- int imm, int offset, int dest);
178
- ORC_API void orc_x86_emit_cpuinsn_reg_memoffset (OrcCompiler *p, int index, int src,
179
- int offset, int dest);
180
- ORC_API void orc_x86_emit_cpuinsn_reg_memoffset_8 (OrcCompiler *p, int index, int src,
181
- int offset, int dest);
182
- ORC_API void orc_x86_emit_cpuinsn_reg_memoffset_s (OrcCompiler *p, int index, int size,
183
- int src, int offset, int dest);
184
- ORC_API void orc_x86_emit_cpuinsn_memoffset_reg (OrcCompiler *p, int index, int size,
185
- int offset, int src, int dest);
186
- ORC_API void orc_x86_emit_cpuinsn_memoffset (OrcCompiler *p, int index, int size,
187
- int offset, int srcdest);
188
- ORC_API void orc_x86_emit_cpuinsn_branch (OrcCompiler *p, int index, int label);
189
- ORC_API void orc_x86_emit_cpuinsn_label (OrcCompiler *p, int index, int label);
190
- ORC_API void orc_x86_emit_cpuinsn_none (OrcCompiler *p, int index);
191
- ORC_API void orc_x86_emit_cpuinsn_align (OrcCompiler *p, int index, int align_shift);
192
-
193
- #endif
194
-
195
- ORC_END_DECLS
196
-
197
-
198
- #endif
199
-