1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-28 22:10:29 +02:00

Add heuristic code to estimate space and resize if required jit buffer.

This commit is contained in:
pcpa 2013-01-29 16:37:43 -02:00
parent 16d18f11d3
commit 44d4fa5444
9 changed files with 111 additions and 82 deletions

View file

@ -18,6 +18,10 @@
#ifndef _jit_private_h
#define _jit_private_h
#if HAVE_CONFIG_H
# include "config.h"
#endif
#include <assert.h>
#include <limits.h>
#include <stdio.h>
@ -277,6 +281,7 @@ struct jit_state {
mpz_t blockmask; /* mask of visited basic blocks */
struct {
jit_uint8_t *ptr;
jit_uint8_t *end;
jit_word_t length;
} code;
struct {
@ -408,6 +413,10 @@ _jit_classify(jit_state_t*, jit_code_t);
extern jit_bool_t
_jit_regarg_p(jit_state_t*, jit_node_t*, jit_int32_t);
#define emit_code() _emit_code(_jit)
extern jit_pointer_t
_emit_code(jit_state_t*);
#define emit_ldxi(r0, r1, i0) _emit_ldxi(_jit, r0, r1, i0)
extern void
_emit_ldxi(jit_state_t*, jit_int32_t, jit_int32_t, jit_word_t);