+2008-05-23 Klaus Treichel <ktreichel@web.de>
+
+ * dpas/dpas-scanner.l, tools/gen-rules-scanner.l,
+ tools/gen-sel-scanner.l: Define YY_NO_UNISTD_H if unistd.h is not
+ available to prevent flex from including unistd.h.
+
+ * include/jit/jit-arch-x86.h, include/jit/jit-arch-x86.h: Fix the
+ definition of _JIT_ARCH_GET_CURRENT_FRAME for MS cl. Use a
+ temporary value for ebp/rbp because cl doesn't like arguments like
+ f->x in the __asm statements.
+
+ * jit/jit-rules-x86.ins: Move declaration of patch to the start of
+ the block in JIT_OP_ULONG_TO_NFLOAT to be ANSI C compliant.
+
2008-05-21 Aleksey Demakov <ademakov@gmail.com>
* include/jit/jit-walk.h (jit_get_next_frame_address): use
#elif defined(_MSC_VER) && defined(_M_IX86)
#define _JIT_ARCH_GET_CURRENT_FRAME(f) \
do { \
+ void *__ptr; \
__asm \
{ \
- mov qword ptr f, rbp \
+ __asm mov qword ptr __ptr, rbp \
} \
+ (f) = __ptr; \
} while(0)
#else
#undef _JIT_ARCH_GET_CURRENT_FRAME
#elif defined(_MSC_VER) && defined(_M_IX86)
#define _JIT_ARCH_GET_CURRENT_FRAME(f) \
do { \
+ void *__ptr; \
__asm \
{ \
- mov dword ptr f, ebp \
+ __asm mov dword ptr __ptr, ebp \
} \
+ (f) = __ptr; \
} while(0)
#else
#undef _JIT_ARCH_GET_CURRENT_FRAME
/* TODO: review wrt relocation for elf pre-compilation */
static float f2pow64;
static int inited;
+ unsigned char *patch;
if(!inited)
{
f2pow64 = jit_float32_pow(2.0, 64);
inited = 1;
}
- unsigned char *patch;
x86_push_reg(inst, %2);
x86_push_reg(inst, $2);
x86_fild_membase(inst, X86_ESP, 0, 1);