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:
parent
16d18f11d3
commit
44d4fa5444
9 changed files with 111 additions and 82 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue