[ruby/strscan] jruby: Check if len++ walked off the end
[ruby.git] / zjit.h
blobb4a89d308aee3edcd1c3608b883d975bd3f34633
1 #ifndef ZJIT_H
2 #define ZJIT_H 1
3 //
4 // This file contains definitions ZJIT exposes to the CRuby codebase
5 //
7 #if USE_ZJIT
8 extern bool rb_zjit_enabled_p;
9 extern uint64_t rb_zjit_call_threshold;
10 extern uint64_t rb_zjit_profile_threshold;
11 void rb_zjit_compile_iseq(const rb_iseq_t *iseq, rb_execution_context_t *ec, bool jit_exception);
12 void rb_zjit_profile_insn(enum ruby_vminsn_type insn, rb_execution_context_t *ec);
13 void rb_zjit_profile_enable(const rb_iseq_t *iseq);
14 void rb_zjit_bop_redefined(int redefined_flag, enum ruby_basic_operators bop);
15 void rb_zjit_invalidate_ep_is_bp(const rb_iseq_t *iseq);
16 #else
17 static inline void rb_zjit_compile_iseq(const rb_iseq_t *iseq, rb_execution_context_t *ec, bool jit_exception) {}
18 static inline void rb_zjit_profile_insn(enum ruby_vminsn_type insn, rb_execution_context_t *ec) {}
19 static inline void rb_zjit_profile_enable(const rb_iseq_t *iseq) {}
20 static inline void rb_zjit_bop_redefined(int redefined_flag, enum ruby_basic_operators bop) {}
21 static inline void rb_zjit_invalidate_ep_is_bp(const rb_iseq_t *iseq) {}
22 #endif // #if USE_YJIT
24 #endif // #ifndef ZJIT_H