debase-ruby_core_source 3.2.2 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/addr2line.h +3 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ccan/list/list.h +4 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/dln.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/eval_intern.h +4 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/insns.inc +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/insns_info.inc +280 -198
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/array.h +8 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/bits.h +6 -6
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/class.h +53 -3
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/cmdlineopt.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/cont.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/encoding.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/error.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/gc.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/hash.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/imemo.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/object.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/parse.h +7 -32
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/random.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/string.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/symbol.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/thread.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/transcode.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/variable.h +5 -4
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/vm.h +9 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/iseq.h +5 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/method.h +7 -7
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/node.h +22 -19
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/node_name.inc +4 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/optunifs.inc +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/parse.h +16 -5
- data/lib/debase/ruby_core_source/ruby-3.3.0-p0/parser_node.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism_compile.h +29 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ractor_core.h +7 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/regint.h +8 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/regparse.h +2 -1
- data/lib/debase/ruby_core_source/ruby-3.3.0-p0/revision.h +5 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/rjit.h +6 -8
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/rjit_c.h +0 -1
- data/lib/debase/ruby_core_source/ruby-3.3.0-p0/rubyparser.h +1403 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/shape.h +32 -32
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/symbol.h +1 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/thread_none.h +1 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-p0/thread_pthread.h +166 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/thread_win32.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/variable.h +11 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/version.h +8 -4
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm.inc +225 -185
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_callinfo.h +12 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_core.h +128 -16
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_insnhelper.h +4 -14
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vmtc.inc +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/yjit.h +10 -8
- data/lib/debase/ruby_core_source/version.rb +1 -1
- metadata +121 -120
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/parser_node.h +0 -133
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/revision.h +0 -5
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/rubyparser.h +0 -628
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/thread_pthread.h +0 -126
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/builtin.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ccan/build_assert/build_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ccan/check_type/check_type.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ccan/container_of/container_of.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ccan/str/str.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/constant.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/darray.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/debug_counter.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/encindex.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/hrtime.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/id.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/id_table.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/basic_operators.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/bignum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/compar.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/compile.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/compilers.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/complex.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/dir.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/enc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/enum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/enumerator.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/eval.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/file.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/fixnum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/inits.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/io.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/load.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/loadpath.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/math.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/missing.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/numeric.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/proc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/process.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/ractor.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/range.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/rational.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/re.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/ruby_parser.h +2 -2
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/sanitizers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/serial.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/signal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/static_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/struct.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/time.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/util.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal/warnings.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/internal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/known_errors.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/optinsn.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/parser_bits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/parser_st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/parser_value.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/probes_helper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/regenc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ruby_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/ruby_atomic.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/siphash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/timev.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/transcode_data.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_call_iseq_optimized.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_debug.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_exec.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_opts.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-p0}/vm_sync.h +0 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
#ifndef RUBY_PARSER_NODE_H
|
2
|
+
#define RUBY_PARSER_NODE_H 1
|
3
|
+
/*
|
4
|
+
* This is a header file used by only "parse.y"
|
5
|
+
*/
|
6
|
+
#include "rubyparser.h"
|
7
|
+
#include "internal/compilers.h"
|
8
|
+
|
9
|
+
#if defined(__cplusplus)
|
10
|
+
extern "C" {
|
11
|
+
#if 0
|
12
|
+
} /* satisfy cc-mode */
|
13
|
+
#endif
|
14
|
+
#endif
|
15
|
+
|
16
|
+
static inline rb_code_location_t
|
17
|
+
code_loc_gen(const rb_code_location_t *loc1, const rb_code_location_t *loc2)
|
18
|
+
{
|
19
|
+
rb_code_location_t loc;
|
20
|
+
loc.beg_pos = loc1->beg_pos;
|
21
|
+
loc.end_pos = loc2->end_pos;
|
22
|
+
return loc;
|
23
|
+
}
|
24
|
+
|
25
|
+
#if defined(__cplusplus)
|
26
|
+
#if 0
|
27
|
+
{ /* satisfy cc-mode */
|
28
|
+
#endif
|
29
|
+
} /* extern "C" { */
|
30
|
+
#endif
|
31
|
+
|
32
|
+
#endif /* RUBY_PARSER_NODE_H */
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#include "prism/prism.h"
|
2
|
+
|
3
|
+
// ScopeNodes are helper nodes, and will never be part of the AST. We manually
|
4
|
+
// declare them here to avoid generating them.
|
5
|
+
typedef struct pm_scope_node {
|
6
|
+
pm_node_t base;
|
7
|
+
struct pm_scope_node *previous;
|
8
|
+
pm_node_t *ast_node;
|
9
|
+
pm_node_t *parameters;
|
10
|
+
pm_node_t *body;
|
11
|
+
pm_constant_id_list_t locals;
|
12
|
+
pm_parser_t *parser;
|
13
|
+
|
14
|
+
// The size of the local table
|
15
|
+
// on the iseq which includes
|
16
|
+
// locals and hidden variables
|
17
|
+
int local_table_for_iseq_size;
|
18
|
+
|
19
|
+
ID *constants;
|
20
|
+
st_table *index_lookup_table;
|
21
|
+
|
22
|
+
// Some locals are defined at higher scopes than they are used. We can use
|
23
|
+
// this offset to control which parent scopes local table we should be
|
24
|
+
// referencing from the current scope.
|
25
|
+
unsigned int local_depth_offset;
|
26
|
+
} pm_scope_node_t;
|
27
|
+
|
28
|
+
void pm_scope_node_init(const pm_node_t *node, pm_scope_node_t *scope, pm_scope_node_t *previous, pm_parser_t *parser);
|
29
|
+
bool *rb_ruby_prism_ptr(void);
|
@@ -103,7 +103,6 @@ struct rb_ractor_sync {
|
|
103
103
|
#if RACTOR_CHECK_MODE > 0
|
104
104
|
VALUE locked_by;
|
105
105
|
#endif
|
106
|
-
rb_nativethread_cond_t cond;
|
107
106
|
|
108
107
|
bool incoming_port_closed;
|
109
108
|
bool outgoing_port_closed;
|
@@ -120,7 +119,12 @@ struct rb_ractor_sync {
|
|
120
119
|
struct ractor_wait {
|
121
120
|
enum rb_ractor_wait_status status;
|
122
121
|
enum rb_ractor_wakeup_status wakeup_status;
|
122
|
+
rb_thread_t *waiting_thread;
|
123
123
|
} wait;
|
124
|
+
|
125
|
+
#ifndef RUBY_THREAD_PTHREAD_H
|
126
|
+
rb_nativethread_cond_t cond;
|
127
|
+
#endif
|
124
128
|
};
|
125
129
|
|
126
130
|
// created
|
@@ -310,11 +314,13 @@ static inline void
|
|
310
314
|
rb_ractor_set_current_ec_(rb_ractor_t *cr, rb_execution_context_t *ec, const char *file, int line)
|
311
315
|
{
|
312
316
|
#ifdef RB_THREAD_LOCAL_SPECIFIER
|
317
|
+
|
313
318
|
# ifdef __APPLE__
|
314
319
|
rb_current_ec_set(ec);
|
315
320
|
# else
|
316
321
|
ruby_current_ec = ec;
|
317
322
|
# endif
|
323
|
+
|
318
324
|
#else
|
319
325
|
native_tls_set(ruby_current_ec_key, ec);
|
320
326
|
#endif
|
@@ -873,6 +873,12 @@ typedef struct _OnigStackType {
|
|
873
873
|
UChar *abs_pstr; /* absent start position */
|
874
874
|
const UChar *end_pstr; /* end position */
|
875
875
|
} absent_pos;
|
876
|
+
#ifdef USE_MATCH_CACHE
|
877
|
+
struct {
|
878
|
+
long index; /* index of the match cache buffer */
|
879
|
+
uint8_t mask; /* bit-mask for the match cache buffer */
|
880
|
+
} match_cache_point;
|
881
|
+
#endif
|
876
882
|
} u;
|
877
883
|
} OnigStackType;
|
878
884
|
|
@@ -883,6 +889,8 @@ typedef struct {
|
|
883
889
|
int outer_repeat_mem;
|
884
890
|
long num_cache_points_at_outer_repeat;
|
885
891
|
long num_cache_points_in_outer_repeat;
|
892
|
+
int lookaround_nesting;
|
893
|
+
UChar *match_addr;
|
886
894
|
} OnigCacheOpcode;
|
887
895
|
#endif
|
888
896
|
|
@@ -339,7 +339,7 @@ typedef struct {
|
|
339
339
|
extern int onig_renumber_name_table(regex_t* reg, GroupNumRemap* map);
|
340
340
|
#endif
|
341
341
|
|
342
|
-
extern int onig_strncmp(const UChar* s1, const UChar* s2,
|
342
|
+
extern int onig_strncmp(const UChar* s1, const UChar* s2, size_t n);
|
343
343
|
extern void onig_strcpy(UChar* dest, const UChar* src, const UChar* end);
|
344
344
|
extern void onig_scan_env_set_error_string(ScanEnv* env, int ecode, UChar* arg, UChar* arg_end);
|
345
345
|
extern int onig_scan_unsigned_number(UChar** src, const UChar* end, OnigEncoding enc);
|
@@ -356,6 +356,7 @@ extern Node* onig_node_list_add(Node* list, Node* x);
|
|
356
356
|
extern Node* onig_node_new_alt(Node* left, Node* right);
|
357
357
|
extern void onig_node_str_clear(Node* node);
|
358
358
|
extern int onig_names_free(regex_t* reg);
|
359
|
+
extern int onig_names_copy(regex_t* reg, regex_t* oreg);
|
359
360
|
extern int onig_parse_make_tree(Node** root, const UChar* pattern, const UChar* end, regex_t* reg, ScanEnv* env);
|
360
361
|
extern int onig_free_shared_cclass_table(void);
|
361
362
|
|
@@ -14,10 +14,6 @@
|
|
14
14
|
|
15
15
|
# if USE_RJIT
|
16
16
|
|
17
|
-
#ifndef RJIT_STATS
|
18
|
-
# define RJIT_STATS RUBY_DEBUG
|
19
|
-
#endif
|
20
|
-
|
21
17
|
#include "ruby.h"
|
22
18
|
#include "vm_core.h"
|
23
19
|
|
@@ -26,20 +22,22 @@ struct rb_rjit_options {
|
|
26
22
|
// Converted from "rjit" feature flag to tell the enablement
|
27
23
|
// information to ruby_show_version().
|
28
24
|
bool on;
|
29
|
-
// Number of calls to trigger JIT compilation.
|
30
|
-
unsigned int call_threshold;
|
31
25
|
// Size of executable memory block in MiB
|
32
26
|
unsigned int exec_mem_size;
|
27
|
+
// Number of calls to trigger JIT compilation
|
28
|
+
unsigned int call_threshold;
|
33
29
|
// Collect RJIT statistics
|
34
30
|
bool stats;
|
31
|
+
// Do not start RJIT until RJIT.enable is called
|
32
|
+
bool disable;
|
33
|
+
// Allow TracePoint during JIT compilation
|
34
|
+
bool trace;
|
35
35
|
// Trace side exit locations
|
36
36
|
bool trace_exits;
|
37
37
|
// Enable disasm of all JIT code
|
38
38
|
bool dump_disasm;
|
39
39
|
// Verify context objects
|
40
40
|
bool verify_ctx;
|
41
|
-
// [experimental] Do not start RJIT until RJIT.resume is called.
|
42
|
-
bool pause;
|
43
41
|
};
|
44
42
|
|
45
43
|
RUBY_SYMBOL_EXPORT_BEGIN
|