aboutsummaryrefslogtreecommitdiffstats
path: root/ujit_compile.h
blob: 15078386ff85c3ede9b63c18ce6f1a7ea4dff3c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef UJIT_COMPILE_H
#define UJIT_COMPILE_H 1

#include "stddef.h"
#include "stdint.h"
#include "stdbool.h"
#include "method.h"

#ifndef rb_iseq_t
typedef struct rb_iseq_struct rb_iseq_t;
#define rb_iseq_t rb_iseq_t
#endif

RUBY_SYMBOL_EXPORT_BEGIN
RUBY_EXTERN bool rb_ujit_enabled;
RUBY_SYMBOL_EXPORT_END

static inline
bool rb_ujit_enabled_p(void)
{
    return rb_ujit_enabled;
}

#define UJIT_CALL_THRESHOLD (10u)

void rb_ujit_method_lookup_change(VALUE cme_or_cc);
void rb_ujit_init(void);
void rb_ujit_compile_iseq(const rb_iseq_t *iseq);

#endif