@img/sharp-libvips-dev 1.1.0 → 1.2.0-rc.2
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.
- package/cplusplus/vips-operators.cpp +39 -0
- package/include/archive.h +53 -2
- package/include/archive_entry.h +56 -25
- package/include/ffi.h +20 -2
- package/include/fontconfig/fontconfig.h +1 -1
- package/include/glib-2.0/gio/gio-visibility.h +34 -0
- package/include/glib-2.0/gio/gzlibcompressor.h +6 -0
- package/include/glib-2.0/girepository/gi-visibility.h +34 -0
- package/include/glib-2.0/girepository/gitypes.h +6 -0
- package/include/glib-2.0/glib/gbitlock.h +11 -0
- package/include/glib-2.0/glib/gdate.h +6 -0
- package/include/glib-2.0/glib/glib-visibility.h +35 -1
- package/include/glib-2.0/glib/gmain.h +13 -10
- package/include/glib-2.0/glib/gmessages.h +4 -1
- package/include/glib-2.0/glib/gstring.h +2 -0
- package/include/glib-2.0/glib/gversionmacros.h +9 -0
- package/include/glib-2.0/glib/gwin32.h +54 -4
- package/include/glib-2.0/gmodule/gmodule-visibility.h +34 -0
- package/include/glib-2.0/gobject/gobject-visibility.h +35 -1
- package/include/glib-2.0/msvc_recommended_pragmas.h +41 -0
- package/include/harfbuzz/hb-common.h +1 -431
- package/include/harfbuzz/hb-deprecated.h +80 -2
- package/include/harfbuzz/hb-draw.h +2 -10
- package/include/harfbuzz/hb-face.h +1 -1
- package/include/harfbuzz/hb-font.h +55 -36
- package/include/harfbuzz/hb-paint.h +5 -3
- package/include/harfbuzz/hb-script-list.h +484 -0
- package/include/harfbuzz/hb-subset.h +22 -2
- package/include/harfbuzz/hb-version.h +3 -3
- package/include/libheif/heif.h +2 -0
- package/include/libheif/heif_version.h +2 -2
- package/include/libpng16/png.h +10 -10
- package/include/libpng16/pngconf.h +20 -27
- package/include/libpng16/pnglibconf.h +1 -1
- package/include/libxml2/libxml/HTMLparser.h +2 -2
- package/include/libxml2/libxml/parser.h +2 -0
- package/include/libxml2/libxml/xmlIO.h +2 -2
- package/include/libxml2/libxml/xmlerror.h +1 -1
- package/include/libxml2/libxml/xmlversion.h +4 -4
- package/include/pixman-1/pixman-version.h +2 -2
- package/include/pixman-1/pixman.h +200 -0
- package/include/png.h +10 -10
- package/include/pngconf.h +20 -27
- package/include/pnglibconf.h +1 -1
- package/include/vips/VImage8.h +62 -14
- package/include/vips/arithmetic.h +34 -34
- package/include/vips/basic.h +16 -0
- package/include/vips/buf.h +0 -5
- package/include/vips/colour.h +6 -7
- package/include/vips/connection.h +25 -37
- package/include/vips/enumtypes.h +11 -2
- package/include/vips/foreign.h +73 -43
- package/include/vips/format.h +7 -5
- package/include/vips/gate.h +0 -11
- package/include/vips/header.h +11 -11
- package/include/vips/image.h +8 -3
- package/include/vips/interpolate.h +0 -2
- package/include/vips/memory.h +4 -0
- package/include/vips/mosaicing.h +4 -0
- package/include/vips/object.h +14 -18
- package/include/vips/operation.h +0 -2
- package/include/vips/private.h +50 -2
- package/include/vips/region.h +1 -3
- package/include/vips/resample.h +2 -0
- package/include/vips/semaphore.h +8 -3
- package/include/vips/thread.h +1 -24
- package/include/vips/threadpool.h +0 -6
- package/include/vips/type.h +13 -9
- package/include/vips/util.h +17 -98
- package/include/vips/vector.h +0 -4
- package/include/vips/version.h +8 -8
- package/include/vips/vips.h +1 -0
- package/package.json +1 -1
- package/versions.json +11 -11
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +0 -221
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h +0 -37
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +0 -525
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +0 -40
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +0 -115
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +0 -481
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +0 -113
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h +0 -718
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +0 -33
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +0 -70
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +0 -168
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +0 -46
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +0 -165
- package/include/harfbuzz/hb-subset-repacker.h +0 -81
- package/include/hwy/ops/tuple-inl.h +0 -125
- package/include/orc-0.4/orc/orc-stdint.h +0 -1
- package/include/orc-0.4/orc/orc.h +0 -16
- package/include/orc-0.4/orc/orcarm.h +0 -879
- package/include/orc-0.4/orc/orcbytecode.h +0 -35
- package/include/orc-0.4/orc/orcbytecodes.h +0 -255
- package/include/orc-0.4/orc/orccode.h +0 -53
- package/include/orc-0.4/orc/orccompiler.h +0 -176
- package/include/orc-0.4/orc/orcconstant.h +0 -39
- package/include/orc-0.4/orc/orccpu.h +0 -21
- package/include/orc-0.4/orc/orccpuinsn.h +0 -40
- package/include/orc-0.4/orc/orcdebug.h +0 -158
- package/include/orc-0.4/orc/orcemulateopcodes.h +0 -203
- package/include/orc-0.4/orc/orcexecutor.h +0 -135
- package/include/orc-0.4/orc/orcfunctions.h +0 -93
- package/include/orc-0.4/orc/orcinstruction.h +0 -39
- package/include/orc-0.4/orc/orcinternal.h +0 -46
- package/include/orc-0.4/orc/orclimits.h +0 -94
- package/include/orc-0.4/orc/orcmips.h +0 -229
- package/include/orc-0.4/orc/orcmmx.h +0 -79
- package/include/orc-0.4/orc/orcneon.h +0 -43
- package/include/orc-0.4/orc/orconce.h +0 -166
- package/include/orc-0.4/orc/orcopcode.h +0 -63
- package/include/orc-0.4/orc/orcparse.h +0 -27
- package/include/orc-0.4/orc/orcpowerpc.h +0 -209
- package/include/orc-0.4/orc/orcprogram.h +0 -192
- package/include/orc-0.4/orc/orcrule.h +0 -52
- package/include/orc-0.4/orc/orcsse.h +0 -55
- package/include/orc-0.4/orc/orctarget.h +0 -115
- package/include/orc-0.4/orc/orcutils.h +0 -238
- package/include/orc-0.4/orc/orcvariable.h +0 -81
- package/include/orc-0.4/orc/orcx86.h +0 -199
- 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
|
-
|