From: David Schleef Date: Sat, 8 Jan 2011 00:58:27 +0000 (-0800) Subject: update generated code X-Git-Tag: orc-0.4.12~25 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8ff7e9651d9f268a72fd016ebd73baf5d430e0e3;p=platform%2Fupstream%2Forc.git update generated code --- diff --git a/orc/orcemulateopcodes.c b/orc/orcemulateopcodes.c index c618eee..ebf4e50 100644 --- a/orc/orcemulateopcodes.c +++ b/orc/orcemulateopcodes.c @@ -1347,7 +1347,7 @@ emulate_div255w (OrcOpcodeExecutor *ex, int offset, int n) /* 0: loadw */ var32 = ptr4[i]; /* 1: div255w */ - var33.i = ((uint16_t)(((orc_uint16)(var32.i+128)) + (((orc_uint16)(var32.i+128))>>8)))>>8; + var33.i = ((orc_uint16)(((orc_uint16)(var32.i+128)) + (((orc_uint16)(var32.i+128))>>8)))>>8; /* 2: storew */ ptr0[i] = var33; } @@ -1376,7 +1376,7 @@ emulate_divluw (OrcOpcodeExecutor *ex, int offset, int n) /* 1: loadw */ var33 = ptr5[i]; /* 2: divluw */ - var34.i = ((var33.i&0xff) == 0) ? 255 : ORC_CLAMP_UB(((uint16_t)var32.i)/((uint16_t)var33.i&0xff)); + var34.i = ((var33.i&0xff) == 0) ? 255 : ORC_CLAMP_UB(((orc_uint16)var32.i)/((orc_uint16)var33.i&0xff)); /* 3: storew */ ptr0[i] = var34; } diff --git a/orc/orcfunctions.c b/orc/orcfunctions.c index 1151756..37dbe98 100644 --- a/orc/orcfunctions.c +++ b/orc/orcfunctions.c @@ -31,6 +31,7 @@ typedef unsigned __int16 orc_uint16; typedef unsigned __int32 orc_uint32; typedef unsigned __int64 orc_uint64; #define ORC_UINT64_C(x) (x##Ui64) +#define inline __inline #else #include typedef signed char orc_int8; @@ -156,13 +157,14 @@ orc_memcpy (void * d1, const void * s1, int n) { OrcExecutor _ex, *ex = &_ex; static int p_inited = 0; - static OrcProgram *p = 0; + static OrcCode *c = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { OrcCompileResult result; + OrcProgram *p; p = orc_program_new (); orc_program_set_name (p, "orc_memcpy"); @@ -173,17 +175,20 @@ orc_memcpy (void * d1, const void * s1, int n) orc_program_append_2 (p, "copyb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1); result = orc_program_compile (p); + c = orc_program_take_code (p); + orc_program_free (p); } p_inited = TRUE; orc_once_mutex_unlock (); } - ex->program = p; + ex->arrays[ORC_VAR_A2] = c; + ex->program = 0; ex->n = n; ex->arrays[ORC_VAR_D1] = d1; ex->arrays[ORC_VAR_S1] = (void *)s1; - func = p->code_exec; + func = c->exec; func (ex); } #endif @@ -241,13 +246,14 @@ orc_memset (void * d1, int p1, int n) { OrcExecutor _ex, *ex = &_ex; static int p_inited = 0; - static OrcProgram *p = 0; + static OrcCode *c = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { OrcCompileResult result; + OrcProgram *p; p = orc_program_new (); orc_program_set_name (p, "orc_memset"); @@ -258,17 +264,20 @@ orc_memset (void * d1, int p1, int n) orc_program_append_2 (p, "copyb", 0, ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1, ORC_VAR_D1); result = orc_program_compile (p); + c = orc_program_take_code (p); + orc_program_free (p); } p_inited = TRUE; orc_once_mutex_unlock (); } - ex->program = p; + ex->arrays[ORC_VAR_A2] = c; + ex->program = 0; ex->n = n; ex->arrays[ORC_VAR_D1] = d1; ex->params[ORC_VAR_P1] = p1; - func = p->code_exec; + func = c->exec; func (ex); } #endif diff --git a/orc/orcfunctions.h b/orc/orcfunctions.h index 07f5265..6ebc92c 100644 --- a/orc/orcfunctions.h +++ b/orc/orcfunctions.h @@ -34,6 +34,7 @@ typedef unsigned __int16 orc_uint16; typedef unsigned __int32 orc_uint32; typedef unsigned __int64 orc_uint64; #define ORC_UINT64_C(x) (x##Ui64) +#define inline __inline #else #include typedef signed char orc_int8;