diff options
author | David Schleef <ds@ginger.bigkitten.com> | 2008-05-22 11:42:00 -0700 |
---|---|---|
committer | David Schleef <ds@ginger.bigkitten.com> | 2008-05-22 11:42:00 -0700 |
commit | 50aa4a62b9c1154c06236f12d364bac97a2a15f7 (patch) | |
tree | 33a4f05686b36830ef0f13a44b7b8739b63ae42a | |
parent | 294090a6824d337318359dfc3b70a1bcba111c0f (diff) | |
download | liboil-50aa4a62b9c1154c06236f12d364bac97a2a15f7.tar.gz |
[orc] remove glib dependency
-rw-r--r-- | orc/orc.c | 1 | ||||
-rw-r--r-- | orc/orc.h | 8 | ||||
-rw-r--r-- | orc/orcexecutor.c | 1 | ||||
-rw-r--r-- | orc/orcopcodes.c | 1 | ||||
-rw-r--r-- | orc/orcprogram-linux.c | 13 | ||||
-rw-r--r-- | orc/orcprogram-powerpc.c | 15 | ||||
-rw-r--r-- | orc/orcprogram-x86.c | 115 | ||||
-rw-r--r-- | orc/orcprogram.c | 37 | ||||
-rw-r--r-- | orc/orcprogram.h | 10 | ||||
-rw-r--r-- | orc/orcrule.c | 1 | ||||
-rw-r--r-- | orc/orctype.c | 1 |
11 files changed, 105 insertions, 98 deletions
@@ -1,7 +1,6 @@ #include "config.h" -#include <glib.h> #include <stdio.h> #include <string.h> #include <stdlib.h> diff --git a/orc/orc.h b/orc/orc.h new file mode 100644 index 0000000..ec27285 --- /dev/null +++ b/orc/orc.h @@ -0,0 +1,8 @@ + +#ifndef _ORC_ORC_H_ +#define _ORC_ORC_H_ + +#include <orc/orcprogram.h> + +#endif + diff --git a/orc/orcexecutor.c b/orc/orcexecutor.c index 7395ed4..732e0f4 100644 --- a/orc/orcexecutor.c +++ b/orc/orcexecutor.c @@ -1,7 +1,6 @@ #include "config.h" -#include <glib.h> #include <stdio.h> #include <string.h> #include <stdlib.h> diff --git a/orc/orcopcodes.c b/orc/orcopcodes.c index d82757d..1ec3ea7 100644 --- a/orc/orcopcodes.c +++ b/orc/orcopcodes.c @@ -1,7 +1,6 @@ #include "config.h" -#include <glib.h> #include <stdio.h> #include <string.h> #include <stdlib.h> diff --git a/orc/orcprogram-linux.c b/orc/orcprogram-linux.c index 3109ceb..d590046 100644 --- a/orc/orcprogram-linux.c +++ b/orc/orcprogram-linux.c @@ -1,7 +1,6 @@ #include "config.h" -#include <glib.h> #include <stdio.h> #include <string.h> #include <stdlib.h> @@ -18,33 +17,31 @@ void orc_program_allocate_codemem (OrcProgram *program) { - char *filename; + char filename[32] = "/tmp/orcexecXXXXXX"; int fd; - GError *error = NULL; - fd = g_file_open_tmp ("liboilexecXXXXXX", &filename, &error); + fd = mkstemp (filename); if (fd == -1) { /* FIXME oh crap */ - g_print("failed to create temp file\n"); + printf("failed to create temp file\n"); program->error = TRUE; return; } unlink (filename); - g_free (filename); ftruncate (fd, SIZE); program->code = mmap (NULL, SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); if (program->code == MAP_FAILED) { /* FIXME oh crap */ - g_print("failed to create write map\n"); + printf("failed to create write map\n"); program->error = TRUE; return; } program->code_exec = mmap (NULL, SIZE, PROT_READ|PROT_EXEC, MAP_SHARED, fd, 0); if (program->code_exec == MAP_FAILED) { /* FIXME oh crap */ - g_print("failed to create exec map\n"); + printf("failed to create exec map\n"); program->error = TRUE; return; } diff --git a/orc/orcprogram-powerpc.c b/orc/orcprogram-powerpc.c index 9ed4683..2311899 100644 --- a/orc/orcprogram-powerpc.c +++ b/orc/orcprogram-powerpc.c @@ -1,7 +1,6 @@ #include "config.h" -#include <glib.h> #include <stdio.h> #include <string.h> #include <stdlib.h> @@ -147,7 +146,7 @@ orc_program_powerpc_allocate_register (OrcProgram *program, int data_reg) } } } - g_print("register overflow\n"); + printf("register overflow\n"); return 0; } @@ -384,7 +383,7 @@ powerpc_load_constants (OrcProgram *program) powerpc_emit_lwz (program, program->vars[i].ptr_register, POWERPC_R3, - (int)G_STRUCT_OFFSET(OrcExecutor, arrays[i])); + (int)ORC_STRUCT_OFFSET(OrcExecutor, arrays[i])); } else { /* FIXME */ printf("ERROR"); @@ -478,7 +477,7 @@ orc_program_assemble_powerpc (OrcProgram *program) powerpc_emit_prologue (program); powerpc_emit_lwz (program, POWERPC_R0, POWERPC_R3, - (int)G_STRUCT_OFFSET(OrcExecutor, n)); + (int)ORC_STRUCT_OFFSET(OrcExecutor, n)); powerpc_emit_srawi (program, POWERPC_R0, POWERPC_R0, program->loop_shift, 1); @@ -674,7 +673,7 @@ orc_program_powerpc_register_rules (void) void powerpc_emit_ret (OrcProgram *program) { - g_print(" ret\n"); + printf(" ret\n"); //*program->codeptr++ = 0xc3; } @@ -695,7 +694,7 @@ powerpc_add_label (OrcProgram *program, unsigned char *ptr, int label) void powerpc_emit_beq (OrcProgram *program, int label) { - g_print(" ble- .L%d\n", label); + printf(" ble- .L%d\n", label); powerpc_add_fixup (program, program->codeptr, label); powerpc_emit (program, 0x40810000); @@ -703,7 +702,7 @@ void powerpc_emit_beq (OrcProgram *program, int label) void powerpc_emit_bne (OrcProgram *program, int label) { - g_print(" bdnz+ .L%d\n", label); + printf(" bdnz+ .L%d\n", label); powerpc_add_fixup (program, program->codeptr, label); powerpc_emit (program, 0x42000000); @@ -711,7 +710,7 @@ void powerpc_emit_bne (OrcProgram *program, int label) void powerpc_emit_label (OrcProgram *program, int label) { - g_print(".L%d:\n", label); + printf(".L%d:\n", label); powerpc_add_label (program, program->codeptr, label); } diff --git a/orc/orcprogram-x86.c b/orc/orcprogram-x86.c index a0829a0..23707a1 100644 --- a/orc/orcprogram-x86.c +++ b/orc/orcprogram-x86.c @@ -1,7 +1,6 @@ #include "config.h" -#include <glib.h> #include <stdio.h> #include <string.h> #include <stdlib.h> @@ -149,7 +148,7 @@ orc_program_x86_allocate_register (OrcProgram *program, int data_reg) } } } - g_print("register overflow\n"); + printf("register overflow\n"); return 0; } @@ -160,8 +159,8 @@ void orc_program_dump (OrcProgram *program); void x86_emit_prologue (OrcProgram *program) { - g_print(".global test\n"); - g_print("test:\n"); + printf(".global test\n"); + printf("test:\n"); x86_emit_push (program, 4, X86_EBP); x86_emit_mov_memoffset_reg (program, 4, 8, X86_ESP, X86_EBP); if (program->used_regs[X86_EDI]) { @@ -245,7 +244,7 @@ x86_load_constants (OrcProgram *program) case ORC_VAR_TYPE_DEST: if (program->vars[i].ptr_register) { x86_emit_mov_memoffset_reg (program, 4, - (int)G_STRUCT_OFFSET(OrcExecutor, arrays[i]), X86_EBP, + (int)ORC_STRUCT_OFFSET(OrcExecutor, arrays[i]), X86_EBP, program->vars[i].ptr_register); } else { /* FIXME */ @@ -332,12 +331,12 @@ orc_program_assemble_x86 (OrcProgram *program) x86_emit_prologue (program); - x86_emit_mov_memoffset_reg (program, 4, (int)G_STRUCT_OFFSET(OrcExecutor,n), + x86_emit_mov_memoffset_reg (program, 4, (int)ORC_STRUCT_OFFSET(OrcExecutor,n), X86_EBP, X86_ECX); x86_emit_sar_imm_reg (program, 4, program->loop_shift, X86_ECX); x86_emit_mov_reg_memoffset (program, 4, X86_ECX, - (int)G_STRUCT_OFFSET(OrcExecutor,counter), X86_EBP); + (int)ORC_STRUCT_OFFSET(OrcExecutor,counter), X86_EBP); x86_emit_test_reg_reg (program, 4, X86_ECX, X86_ECX); @@ -411,14 +410,14 @@ orc_program_assemble_x86 (OrcProgram *program) } else { x86_emit_add_imm_memoffset (program, 4, orc_variable_get_size(program->vars + k) * program->n_per_loop, - (int)G_STRUCT_OFFSET(OrcExecutor, arrays[k]), + (int)ORC_STRUCT_OFFSET(OrcExecutor, arrays[k]), X86_EBP); } } } x86_emit_dec_memoffset (program, 4, - (int)G_STRUCT_OFFSET(OrcExecutor,counter), + (int)ORC_STRUCT_OFFSET(OrcExecutor,counter), X86_EBP); x86_emit_jne (program, 0); x86_emit_label (program, 1); @@ -446,7 +445,7 @@ x86_rule_add_s16 (OrcProgram *p, void *user, OrcInstruction *insn) { if (insn->rule_flag == ORC_RULE_REG_IMM) { int value = p->vars[insn->args[2]].s16; - g_print(" addw $%d, %%%s\n", value, + printf(" addw $%d, %%%s\n", value, x86_get_regname_16(p->vars[insn->args[0]].alloc)); if (value >= -128 && value < 128) { @@ -462,7 +461,7 @@ x86_rule_add_s16 (OrcProgram *p, void *user, OrcInstruction *insn) *p->codeptr++ = value >> 8; } } else { - g_print(" addw %%%s, %%%s\n", + printf(" addw %%%s, %%%s\n", x86_get_regname_16(p->vars[insn->args[2]].alloc), x86_get_regname_16(p->vars[insn->args[0]].alloc)); @@ -476,7 +475,7 @@ x86_rule_add_s16 (OrcProgram *p, void *user, OrcInstruction *insn) static void x86_rule_sub_s16 (OrcProgram *p, void *user, OrcInstruction *insn) { - g_print(" subw %%%s, %%%s\n", + printf(" subw %%%s, %%%s\n", x86_get_regname_16(p->vars[insn->args[2]].alloc), x86_get_regname_16(p->vars[insn->args[0]].alloc)); @@ -489,7 +488,7 @@ x86_rule_sub_s16 (OrcProgram *p, void *user, OrcInstruction *insn) static void x86_rule_mul_s16 (OrcProgram *p, void *user, OrcInstruction *insn) { - g_print(" imulw %%%s, %%%s\n", + printf(" imulw %%%s, %%%s\n", x86_get_regname_16(p->vars[insn->args[2]].alloc), x86_get_regname_16(p->vars[insn->args[0]].alloc)); @@ -505,7 +504,7 @@ x86_rule_lshift_s16 (OrcProgram *p, void *user, OrcInstruction *insn) { x86_emit_mov_reg_reg(p, 4, p->vars[insn->args[2]].alloc, X86_ECX); - g_print(" shlw %%cl, %%%s\n", + printf(" shlw %%cl, %%%s\n", x86_get_regname_16(p->vars[insn->args[0]].alloc)); *p->codeptr++ = 0x66; @@ -517,7 +516,7 @@ static void x86_rule_rshift_s16 (OrcProgram *p, void *user, OrcInstruction *insn) { if (insn->rule_flag == ORC_RULE_REG_IMM) { - g_print(" sarw $%d, %%%s\n", + printf(" sarw $%d, %%%s\n", p->vars[insn->args[2]].s16, x86_get_regname_16(p->vars[insn->args[0]].alloc)); @@ -534,7 +533,7 @@ x86_rule_rshift_s16 (OrcProgram *p, void *user, OrcInstruction *insn) } else { x86_emit_mov_reg_reg(p, 4, p->vars[insn->args[2]].alloc, X86_ECX); - g_print(" sarw %%cl, %%%s\n", + printf(" sarw %%cl, %%%s\n", x86_get_regname_16(p->vars[insn->args[0]].alloc)); *p->codeptr++ = 0x66; @@ -568,7 +567,7 @@ static void mmx_emit_loadi_s16 (OrcProgram *p, int reg, int value) { if (value == 0) { - g_print(" pxor %%%s, %%%s\n", x86_get_regname_mmx(reg), + printf(" pxor %%%s, %%%s\n", x86_get_regname_mmx(reg), x86_get_regname_mmx(reg)); *p->codeptr++ = 0x0f; *p->codeptr++ = 0xef; @@ -576,12 +575,12 @@ mmx_emit_loadi_s16 (OrcProgram *p, int reg, int value) } else { x86_emit_mov_imm_reg (p, 4, value, X86_ECX); - g_print(" movd %%ecx, %%%s\n", x86_get_regname_mmx(reg)); + printf(" movd %%ecx, %%%s\n", x86_get_regname_mmx(reg)); *p->codeptr++ = 0x0f; *p->codeptr++ = 0x6e; x86_emit_modrm_reg (p, X86_ECX, reg); - g_print(" pshufw $0, %%%s, %%%s\n", x86_get_regname_mmx(reg), + printf(" pshufw $0, %%%s, %%%s\n", x86_get_regname_mmx(reg), x86_get_regname_mmx(reg)); *p->codeptr++ = 0x0f; @@ -601,7 +600,7 @@ mmx_rule_loadi_s16 (OrcProgram *p, void *user, OrcInstruction *insn) static void mmx_rule_add_s16 (OrcProgram *p, void *user, OrcInstruction *insn) { - g_print(" paddw %%%s, %%%s\n", + printf(" paddw %%%s, %%%s\n", x86_get_regname_mmx(p->vars[insn->args[2]].alloc), x86_get_regname_mmx(p->vars[insn->args[0]].alloc)); @@ -614,7 +613,7 @@ mmx_rule_add_s16 (OrcProgram *p, void *user, OrcInstruction *insn) static void mmx_rule_sub_s16 (OrcProgram *p, void *user, OrcInstruction *insn) { - g_print(" psubw %%%s, %%%s\n", + printf(" psubw %%%s, %%%s\n", x86_get_regname_mmx(p->vars[insn->args[2]].alloc), x86_get_regname_mmx(p->vars[insn->args[0]].alloc)); @@ -627,7 +626,7 @@ mmx_rule_sub_s16 (OrcProgram *p, void *user, OrcInstruction *insn) static void mmx_rule_mul_s16 (OrcProgram *p, void *user, OrcInstruction *insn) { - g_print(" pmullw %%%s, %%%s\n", + printf(" pmullw %%%s, %%%s\n", x86_get_regname_mmx(p->vars[insn->args[2]].alloc), x86_get_regname_mmx(p->vars[insn->args[0]].alloc)); @@ -641,7 +640,7 @@ static void mmx_rule_lshift_s16 (OrcProgram *p, void *user, OrcInstruction *insn) { if (p->vars[insn->args[2]].vartype == ORC_VAR_TYPE_CONST) { - g_print(" psllw $%d, %%%s\n", + printf(" psllw $%d, %%%s\n", p->vars[insn->args[2]].s16, x86_get_regname_mmx(p->vars[insn->args[0]].alloc)); @@ -651,7 +650,7 @@ mmx_rule_lshift_s16 (OrcProgram *p, void *user, OrcInstruction *insn) *p->codeptr++ = p->vars[insn->args[2]].s16; } else { /* FIXME this doesn't work quite right */ - g_print(" psllw %%%s, %%%s\n", + printf(" psllw %%%s, %%%s\n", x86_get_regname_mmx(p->vars[insn->args[2]].alloc), x86_get_regname_mmx(p->vars[insn->args[0]].alloc)); @@ -666,7 +665,7 @@ static void mmx_rule_rshift_s16 (OrcProgram *p, void *user, OrcInstruction *insn) { if (p->vars[insn->args[2]].vartype == ORC_VAR_TYPE_CONST) { - g_print(" psraw $%d, %%%s\n", + printf(" psraw $%d, %%%s\n", p->vars[insn->args[2]].s16, x86_get_regname_mmx(p->vars[insn->args[0]].alloc)); @@ -676,7 +675,7 @@ mmx_rule_rshift_s16 (OrcProgram *p, void *user, OrcInstruction *insn) *p->codeptr++ = p->vars[insn->args[2]].s16; } else { /* FIXME this doesn't work quite right */ - g_print(" psraw %%%s, %%%s\n", + printf(" psraw %%%s, %%%s\n", x86_get_regname_mmx(p->vars[insn->args[2]].alloc), x86_get_regname_mmx(p->vars[insn->args[0]].alloc)); @@ -718,11 +717,11 @@ x86_emit_push (OrcProgram *program, int size, int reg) if (size == 1) { program->error = 1; } else if (size == 2) { - g_print(" pushw %%%s\n", x86_get_regname_16(reg)); + printf(" pushw %%%s\n", x86_get_regname_16(reg)); *program->codeptr++ = 0x66; *program->codeptr++ = 0x50 + x86_get_regnum(reg); } else { - g_print(" pushl %%%s\n", x86_get_regname(reg)); + printf(" pushl %%%s\n", x86_get_regname(reg)); *program->codeptr++ = 0x50 + x86_get_regnum(reg); } } @@ -734,11 +733,11 @@ x86_emit_pop (OrcProgram *program, int size, int reg) if (size == 1) { program->error = 1; } else if (size == 2) { - g_print(" popw %%%s\n", x86_get_regname_16(reg)); + printf(" popw %%%s\n", x86_get_regname_16(reg)); *program->codeptr++ = 0x66; *program->codeptr++ = 0x58 + x86_get_regnum(reg); } else { - g_print(" popl %%%s\n", x86_get_regname(reg)); + printf(" popl %%%s\n", x86_get_regname(reg)); *program->codeptr++ = 0x58 + x86_get_regnum(reg); } } @@ -785,11 +784,11 @@ x86_emit_mov_memoffset_reg (OrcProgram *program, int size, int offset, int reg1, int reg2) { if (size == 2) { - g_print(" movw %d(%%%s), %%%s\n", offset, x86_get_regname(reg1), + printf(" movw %d(%%%s), %%%s\n", offset, x86_get_regname(reg1), x86_get_regname_16(reg2)); *program->codeptr++ = 0x66; } else { - g_print(" movl %d(%%%s), %%%s\n", offset, x86_get_regname(reg1), + printf(" movl %d(%%%s), %%%s\n", offset, x86_get_regname(reg1), x86_get_regname(reg2)); } @@ -802,12 +801,12 @@ x86_emit_mov_memoffset_mmx (OrcProgram *program, int size, int offset, int reg1, int reg2) { if (size == 4) { - g_print(" movd %d(%%%s), %%%s\n", offset, x86_get_regname(reg1), + printf(" movd %d(%%%s), %%%s\n", offset, x86_get_regname(reg1), x86_get_regname_mmx(reg2)); *program->codeptr++ = 0x0f; *program->codeptr++ = 0x6e; } else { - g_print(" movq %d(%%%s), %%%s\n", offset, x86_get_regname(reg1), + printf(" movq %d(%%%s), %%%s\n", offset, x86_get_regname(reg1), x86_get_regname_mmx(reg2)); *program->codeptr++ = 0x0f; *program->codeptr++ = 0x6f; @@ -820,11 +819,11 @@ x86_emit_mov_reg_memoffset (OrcProgram *program, int size, int reg1, int offset, int reg2) { if (size == 2) { - g_print(" movw %%%s, %d(%%%s)\n", x86_get_regname_16(reg1), offset, + printf(" movw %%%s, %d(%%%s)\n", x86_get_regname_16(reg1), offset, x86_get_regname(reg2)); *program->codeptr++ = 0x66; } else { - g_print(" movl %%%s, %d(%%%s)\n", x86_get_regname(reg1), offset, + printf(" movl %%%s, %d(%%%s)\n", x86_get_regname(reg1), offset, x86_get_regname(reg2)); } @@ -837,12 +836,12 @@ x86_emit_mov_mmx_memoffset (OrcProgram *program, int size, int reg1, int offset, int reg2) { if (size == 4) { - g_print(" movd %%%s, %d(%%%s)\n", x86_get_regname_mmx(reg1), offset, + printf(" movd %%%s, %d(%%%s)\n", x86_get_regname_mmx(reg1), offset, x86_get_regname(reg2)); *program->codeptr++ = 0x0f; *program->codeptr++ = 0x7e; } else { - g_print(" movq %%%s, %d(%%%s)\n", x86_get_regname_mmx(reg1), offset, + printf(" movq %%%s, %d(%%%s)\n", x86_get_regname_mmx(reg1), offset, x86_get_regname(reg2)); *program->codeptr++ = 0x0f; *program->codeptr++ = 0x7f; @@ -855,13 +854,13 @@ void x86_emit_mov_imm_reg (OrcProgram *program, int size, int value, int reg1) { if (size == 2) { - g_print(" movw $%d, %%%s\n", value, x86_get_regname_16(reg1)); + printf(" movw $%d, %%%s\n", value, x86_get_regname_16(reg1)); *program->codeptr++ = 0x66; *program->codeptr++ = 0xb8 + x86_get_regnum(reg1); *program->codeptr++ = (value & 0xff); *program->codeptr++ = ((value>>8) & 0xff); } else { - g_print(" movl $%d, %%%s\n", value, x86_get_regname(reg1)); + printf(" movl $%d, %%%s\n", value, x86_get_regname(reg1)); *program->codeptr++ = 0xb8 + x86_get_regnum(reg1); *program->codeptr++ = (value & 0xff); *program->codeptr++ = ((value>>8) & 0xff); @@ -874,11 +873,11 @@ x86_emit_mov_imm_reg (OrcProgram *program, int size, int value, int reg1) void x86_emit_mov_reg_reg (OrcProgram *program, int size, int reg1, int reg2) { if (size == 2) { - g_print(" movw %%%s, %%%s\n", x86_get_regname_16(reg1), + printf(" movw %%%s, %%%s\n", x86_get_regname_16(reg1), x86_get_regname_16(reg2)); *program->codeptr++ = 0x66; } else { - g_print(" movl %%%s, %%%s\n", x86_get_regname(reg1), + printf(" movl %%%s, %%%s\n", x86_get_regname(reg1), x86_get_regname(reg2)); } @@ -889,7 +888,7 @@ void x86_emit_mov_reg_reg (OrcProgram *program, int size, int reg1, int reg2) void x86_emit_mov_reg_mmx (OrcProgram *program, int reg1, int reg2) { /* FIXME */ - g_print(" movd %%%s, %%%s\n", x86_get_regname(reg1), + printf(" movd %%%s, %%%s\n", x86_get_regname(reg1), x86_get_regname_mmx(reg2)); *program->codeptr++ = 0x0f; *program->codeptr++ = 0x6e; @@ -899,7 +898,7 @@ void x86_emit_mov_reg_mmx (OrcProgram *program, int reg1, int reg2) void x86_emit_mov_mmx_reg (OrcProgram *program, int reg1, int reg2) { /* FIXME */ - g_print(" movd %%%s, %%%s\n", x86_get_regname_mmx(reg1), + printf(" movd %%%s, %%%s\n", x86_get_regname_mmx(reg1), x86_get_regname(reg2)); *program->codeptr++ = 0x0f; *program->codeptr++ = 0x7e; @@ -910,11 +909,11 @@ void x86_emit_test_reg_reg (OrcProgram *program, int size, int reg1, int reg2) { if (size == 2) { - g_print(" testw %%%s, %%%s\n", x86_get_regname_16(reg1), + printf(" testw %%%s, %%%s\n", x86_get_regname_16(reg1), x86_get_regname_16(reg2)); *program->codeptr++ = 0x66; } else { - g_print(" testl %%%s, %%%s\n", x86_get_regname(reg1), + printf(" testl %%%s, %%%s\n", x86_get_regname(reg1), x86_get_regname(reg2)); } @@ -925,7 +924,7 @@ x86_emit_test_reg_reg (OrcProgram *program, int size, int reg1, int reg2) void x86_emit_sar_imm_reg (OrcProgram *program, int size, int value, int reg) { - g_print(" sarl $%d, %%%s\n", value, x86_get_regname(reg)); + printf(" sarl $%d, %%%s\n", value, x86_get_regname(reg)); if (value == 1) { *program->codeptr++ = 0xd1; @@ -942,11 +941,11 @@ x86_emit_add_imm_memoffset (OrcProgram *program, int size, int value, int offset, int reg) { if (size == 2) { - g_print(" addw $%d, %d(%%%s)\n", value, offset, + printf(" addw $%d, %d(%%%s)\n", value, offset, x86_get_regname(reg)); *program->codeptr++ = 0x66; } else { - g_print(" addl $%d, %d(%%%s)\n", value, offset, + printf(" addl $%d, %d(%%%s)\n", value, offset, x86_get_regname(reg)); } @@ -970,10 +969,10 @@ void x86_emit_add_imm_reg (OrcProgram *program, int size, int value, int reg) { if (size == 2) { - g_print(" addw $%d, %%%s\n", value, x86_get_regname_16(reg)); + printf(" addw $%d, %%%s\n", value, x86_get_regname_16(reg)); *program->codeptr++ = 0x66; } else { - g_print(" addl $%d, %%%s\n", value, x86_get_regname(reg)); + printf(" addl $%d, %%%s\n", value, x86_get_regname(reg)); } if (value >= -128 && value < 128) { @@ -997,10 +996,10 @@ x86_emit_dec_memoffset (OrcProgram *program, int size, int offset, int reg) { if (size == 2) { - g_print(" decw %d(%%%s)\n", offset, x86_get_regname(reg)); + printf(" decw %d(%%%s)\n", offset, x86_get_regname(reg)); *program->codeptr++ = 0x66; } else { - g_print(" decl %d(%%%s)\n", offset, x86_get_regname(reg)); + printf(" decl %d(%%%s)\n", offset, x86_get_regname(reg)); } *program->codeptr++ = 0xff; @@ -1009,13 +1008,13 @@ x86_emit_dec_memoffset (OrcProgram *program, int size, void x86_emit_ret (OrcProgram *program) { - g_print(" ret\n"); + printf(" ret\n"); *program->codeptr++ = 0xc3; } void x86_emit_emms (OrcProgram *program) { - g_print(" emms\n"); + printf(" emms\n"); *program->codeptr++ = 0x0f; *program->codeptr++ = 0x77; } @@ -1037,7 +1036,7 @@ x86_add_label (OrcProgram *program, unsigned char *ptr, int label) void x86_emit_je (OrcProgram *program, int label) { - g_print(" je .L%d\n", label); + printf(" je .L%d\n", label); *program->codeptr++ = 0x74; x86_add_fixup (program, program->codeptr, label); @@ -1046,7 +1045,7 @@ void x86_emit_je (OrcProgram *program, int label) void x86_emit_jne (OrcProgram *program, int label) { - g_print(" jne .L%d\n", label); + printf(" jne .L%d\n", label); *program->codeptr++ = 0x75; x86_add_fixup (program, program->codeptr, label); *program->codeptr++ = -1; @@ -1054,7 +1053,7 @@ void x86_emit_jne (OrcProgram *program, int label) void x86_emit_label (OrcProgram *program, int label) { - g_print(".L%d:\n", label); + printf(".L%d:\n", label); x86_add_label (program, program->codeptr, label); } diff --git a/orc/orcprogram.c b/orc/orcprogram.c index da31111..e0d64d0 100644 --- a/orc/orcprogram.c +++ b/orc/orcprogram.c @@ -1,7 +1,6 @@ #include "config.h" -#include <glib.h> #include <stdio.h> #include <string.h> #include <stdlib.h> @@ -59,8 +58,8 @@ orc_program_dup_temporary (OrcProgram *program, int var, int j) program->vars[i].vartype = ORC_VAR_TYPE_TEMP; program->vars[i].type = program->vars[var].type; - program->vars[i].name = g_strdup_printf("%s.dup%d", - program->vars[var].name, j); + program->vars[i].name = malloc (strlen(program->vars[var].name) + 10); + sprintf(program->vars[i].name, "%s.dup%d", program->vars[var].name, j); program->n_vars++; return i; @@ -203,7 +202,7 @@ orc_program_rewrite_vars (OrcProgram *program) for(k=opcode->n_dest;k<opcode->n_src + opcode->n_dest;k++){ var = insn->args[k]; if (program->vars[var].vartype == ORC_VAR_TYPE_DEST) { - g_print("ERROR: using dest var as source\n"); + printf("ERROR: using dest var as source\n"); } actual_var = var; @@ -214,7 +213,7 @@ orc_program_rewrite_vars (OrcProgram *program) if (!program->vars[var].used) { if (program->vars[var].vartype == ORC_VAR_TYPE_TEMP) { - g_print("ERROR: using uninitialized temp var\n"); + printf("ERROR: using uninitialized temp var\n"); } program->vars[var].used = TRUE; program->vars[var].first_use = j; @@ -226,13 +225,13 @@ orc_program_rewrite_vars (OrcProgram *program) var = insn->args[k]; if (program->vars[var].vartype == ORC_VAR_TYPE_SRC) { - g_print("ERROR: using src var as dest\n"); + printf("ERROR: using src var as dest\n"); } if (program->vars[var].vartype == ORC_VAR_TYPE_CONST) { - g_print("ERROR: using const var as dest\n"); + printf("ERROR: using const var as dest\n"); } if (program->vars[var].vartype == ORC_VAR_TYPE_PARAM) { - g_print("ERROR: using param var as dest\n"); + printf("ERROR: using param var as dest\n"); } actual_var = var; @@ -246,7 +245,7 @@ orc_program_rewrite_vars (OrcProgram *program) program->vars[actual_var].first_use = j; } else { if (program->vars[var].vartype == ORC_VAR_TYPE_DEST) { - g_print("ERROR: writing dest more than once\n"); + printf("ERROR: writing dest more than once\n"); } if (program->vars[var].vartype == ORC_VAR_TYPE_TEMP) { actual_var = orc_program_dup_temporary (program, var, j); @@ -366,7 +365,7 @@ orc_program_rewrite_vars2 (OrcProgram *program) #if 0 for(i=0;i<program->n_vars;i++){ - g_print("# %2d: %2d %2d %d\n", + printf("# %2d: %2d %2d %d\n", i, program->vars[i].first_use, program->vars[i].last_use, @@ -399,27 +398,27 @@ orc_program_dump (OrcProgram *program) insn = program->insns + i; opcode = insn->opcode; - g_print("insn: %d\n", i); - g_print(" opcode: %s\n", opcode->name); + printf("insn: %d\n", i); + printf(" opcode: %s\n", opcode->name); for(j=0;j<opcode->n_dest;j++){ - g_print(" dest%d: %d %s\n", j, insn->args[j], + printf(" dest%d: %d %s\n", j, insn->args[j], program->vars[insn->args[j]].name); } for(j=0;j<opcode->n_src;j++){ - g_print(" src%d: %d %s\n", j, insn->args[opcode->n_dest + j], + printf(" src%d: %d %s\n", j, insn->args[opcode->n_dest + j], program->vars[insn->args[opcode->n_dest + j]].name); } - g_print("\n"); + printf("\n"); } for(i=0;i<program->n_vars;i++){ - g_print("var: %d %s\n", i, program->vars[i].name); - g_print("first_use: %d\n", program->vars[i].first_use); - g_print("last_use: %d\n", program->vars[i].last_use); + printf("var: %d %s\n", i, program->vars[i].name); + printf("first_use: %d\n", program->vars[i].first_use); + printf("last_use: %d\n", program->vars[i].last_use); - g_print("\n"); + printf("\n"); } } diff --git a/orc/orcprogram.h b/orc/orcprogram.h index b2d2d83..de04067 100644 --- a/orc/orcprogram.h +++ b/orc/orcprogram.h @@ -28,6 +28,16 @@ typedef void (*OrcRuleEmitFunc)(OrcProgram *p, void *user, OrcInstruction *insn) #define ORC_OPCODE_N_ARGS 4 #define ORC_OPCODE_N_RULES 8 +#define ORC_STRUCT_OFFSET(struct_type, member) \ + ((long) ((unsigned int *) &((struct_type*) 0)->member)) + +#ifndef TRUE +#define TRUE 1 +#endif +#ifndef FALSE +#define FALSE 0 +#endif + enum { ORC_RULE_C = 0, ORC_RULE_SCALAR_1, diff --git a/orc/orcrule.c b/orc/orcrule.c index 7024745..1919e76 100644 --- a/orc/orcrule.c +++ b/orc/orcrule.c @@ -1,7 +1,6 @@ #include "config.h" -#include <glib.h> #include <stdio.h> #include <string.h> #include <stdlib.h> diff --git a/orc/orctype.c b/orc/orctype.c index ea770c9..fbbe5ca 100644 --- a/orc/orctype.c +++ b/orc/orctype.c @@ -1,7 +1,6 @@ #include "config.h" -#include <glib.h> #include <stdio.h> #include <string.h> #include <stdlib.h> |