diff options
author | zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2012-01-14 17:05:53 +0000 |
---|---|---|
committer | zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2012-01-14 17:05:53 +0000 |
commit | 005bebb81eb7465ab104817236f9e23992956cb4 (patch) | |
tree | 23f1ad76431dda2f57795d3c626d72be04f1c654 /sljit/sljitNativeMIPS_common.c | |
parent | 8c50e3dc8301b4d85307aff27cf9a55f6dbff434 (diff) | |
download | pcre-005bebb81eb7465ab104817236f9e23992956cb4.tar.gz |
JIT compiler update
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@875 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'sljit/sljitNativeMIPS_common.c')
-rw-r--r-- | sljit/sljitNativeMIPS_common.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sljit/sljitNativeMIPS_common.c b/sljit/sljitNativeMIPS_common.c index a1026f9..26c9555 100644 --- a/sljit/sljitNativeMIPS_common.c +++ b/sljit/sljitNativeMIPS_common.c @@ -527,19 +527,17 @@ SLJIT_API_FUNC_ATTRIBUTE void sljit_set_context(struct sljit_compiler *compiler, compiler->local_size = (local_size + 15) & ~0xf; } -SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_return(struct sljit_compiler *compiler, int src, sljit_w srcw) +SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_return(struct sljit_compiler *compiler, int op, int src, sljit_w srcw) { int local_size; sljit_ins base; CHECK_ERROR(); - check_sljit_emit_return(compiler, src, srcw); + check_sljit_emit_return(compiler, op, src, srcw); - local_size = compiler->local_size; - - if (src != SLJIT_UNUSED && src != SLJIT_RETURN_REG) - FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, SLJIT_RETURN_REG, 0, TMP_REG1, 0, src, srcw)); + FAIL_IF(emit_mov_before_return(compiler, op, src, srcw)); + local_size = compiler->local_size; if (local_size <= SIMM_MAX) base = S(REAL_STACK_PTR); else { |