debase-ruby_core_source 3.2.2 → 3.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/addr2line.h +3 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/insns_info.inc +60 -60
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/array.h +8 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/bits.h +6 -6
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/class.h +7 -3
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/cmdlineopt.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/gc.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/hash.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/imemo.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/parse.h +7 -32
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/thread.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/variable.h +1 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/vm.h +4 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/method.h +7 -6
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/node.h +22 -19
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/node_name.inc +4 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/parse.h +16 -5
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/parser_node.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/prism_compile.h +18 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ractor_core.h +7 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/regint.h +8 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/regparse.h +2 -1
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/revision.h +5 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/rubyparser.h +1403 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/shape.h +32 -22
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/symbol.h +1 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/thread_none.h +1 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/thread_pthread.h +166 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/thread_win32.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/variable.h +9 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/version.h +7 -3
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm.inc +170 -183
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_callinfo.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_core.h +64 -11
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/yjit.h +10 -8
- data/lib/debase/ruby_core_source/version.rb +1 -1
- metadata +120 -119
- 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-preview3}/builtin.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/build_assert/build_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/check_type/check_type.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/container_of/container_of.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/list/list.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/str/str.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/constant.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/darray.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/debug_counter.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/dln.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/encindex.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/eval_intern.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/hrtime.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/id.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/id_table.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/insns.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/basic_operators.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/bignum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/compar.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/compile.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/compilers.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/complex.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/cont.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/dir.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/enc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/encoding.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/enum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/enumerator.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/error.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/eval.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/file.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/fixnum.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/inits.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/io.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/load.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/loadpath.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/math.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/missing.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/numeric.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/object.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/proc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/process.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/ractor.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/random.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/range.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/rational.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/re.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/ruby_parser.h +2 -2
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/sanitizers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/serial.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/signal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/static_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/string.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/struct.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/symbol.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/time.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/transcode.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/util.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/warnings.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/iseq.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/known_errors.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/optinsn.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/optunifs.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/parser_bits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/parser_st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/parser_value.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/probes_helper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/regenc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/rjit.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/rjit_c.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ruby_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ruby_atomic.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/siphash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/timev.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/transcode_data.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_call_iseq_optimized.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_debug.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_exec.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_insnhelper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_opts.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_sync.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vmtc.inc +0 -0
@@ -43,6 +43,7 @@ enum vm_call_flag_bits {
|
|
43
43
|
|
44
44
|
struct rb_callinfo_kwarg {
|
45
45
|
int keyword_len;
|
46
|
+
int references;
|
46
47
|
VALUE keywords[];
|
47
48
|
};
|
48
49
|
|
@@ -199,6 +200,9 @@ vm_ci_dump(const struct rb_callinfo *ci)
|
|
199
200
|
static inline const struct rb_callinfo *
|
200
201
|
vm_ci_new_(ID mid, unsigned int flag, unsigned int argc, const struct rb_callinfo_kwarg *kwarg, const char *file, int line)
|
201
202
|
{
|
203
|
+
if (kwarg) {
|
204
|
+
((struct rb_callinfo_kwarg *)kwarg)->references++;
|
205
|
+
}
|
202
206
|
if (USE_EMBED_CI && VM_CI_EMBEDDABLE_P(mid, flag, argc, kwarg)) {
|
203
207
|
RB_DEBUG_COUNTER_INC(ci_packed);
|
204
208
|
return vm_ci_new_id(mid, flag, argc, kwarg);
|
@@ -524,6 +524,8 @@ struct rb_iseq_constant_body {
|
|
524
524
|
#if USE_YJIT
|
525
525
|
// YJIT stores some data on each iseq.
|
526
526
|
void *yjit_payload;
|
527
|
+
// Used to estimate how frequently this ISEQ gets called
|
528
|
+
uint64_t yjit_calls_at_interv;
|
527
529
|
#endif
|
528
530
|
};
|
529
531
|
|
@@ -634,15 +636,51 @@ typedef struct rb_vm_struct {
|
|
634
636
|
struct rb_ractor_struct *lock_owner;
|
635
637
|
unsigned int lock_rec;
|
636
638
|
|
637
|
-
// barrier
|
638
|
-
bool barrier_waiting;
|
639
|
-
unsigned int barrier_cnt;
|
640
|
-
rb_nativethread_cond_t barrier_cond;
|
641
|
-
|
642
639
|
// join at exit
|
643
640
|
rb_nativethread_cond_t terminate_cond;
|
644
641
|
bool terminate_waiting;
|
642
|
+
|
643
|
+
#ifndef RUBY_THREAD_PTHREAD_H
|
644
|
+
bool barrier_waiting;
|
645
|
+
unsigned int barrier_cnt;
|
646
|
+
rb_nativethread_cond_t barrier_cond;
|
647
|
+
#endif
|
645
648
|
} sync;
|
649
|
+
|
650
|
+
// ractor scheduling
|
651
|
+
struct {
|
652
|
+
rb_nativethread_lock_t lock;
|
653
|
+
struct rb_ractor_struct *lock_owner;
|
654
|
+
bool locked;
|
655
|
+
|
656
|
+
rb_nativethread_cond_t cond; // GRQ
|
657
|
+
unsigned int snt_cnt; // count of shared NTs
|
658
|
+
unsigned int dnt_cnt; // count of dedicated NTs
|
659
|
+
|
660
|
+
unsigned int running_cnt;
|
661
|
+
|
662
|
+
unsigned int max_cpu;
|
663
|
+
struct ccan_list_head grq; // // Global Ready Queue
|
664
|
+
unsigned int grq_cnt;
|
665
|
+
|
666
|
+
// running threads
|
667
|
+
struct ccan_list_head running_threads;
|
668
|
+
|
669
|
+
// threads which switch context by timeslice
|
670
|
+
struct ccan_list_head timeslice_threads;
|
671
|
+
|
672
|
+
struct ccan_list_head zombie_threads;
|
673
|
+
|
674
|
+
// true if timeslice timer is not enable
|
675
|
+
bool timeslice_wait_inf;
|
676
|
+
|
677
|
+
// barrier
|
678
|
+
rb_nativethread_cond_t barrier_complete_cond;
|
679
|
+
rb_nativethread_cond_t barrier_release_cond;
|
680
|
+
bool barrier_waiting;
|
681
|
+
unsigned int barrier_waiting_cnt;
|
682
|
+
unsigned int barrier_serial;
|
683
|
+
} sched;
|
646
684
|
} ractor;
|
647
685
|
|
648
686
|
#ifdef USE_SIGALTSTACK
|
@@ -1678,13 +1716,13 @@ VALUE rb_proc_alloc(VALUE klass);
|
|
1678
1716
|
VALUE rb_proc_dup(VALUE self);
|
1679
1717
|
|
1680
1718
|
/* for debug */
|
1681
|
-
extern
|
1682
|
-
extern
|
1683
|
-
extern
|
1719
|
+
extern bool rb_vmdebug_stack_dump_raw(const rb_execution_context_t *ec, const rb_control_frame_t *cfp, FILE *);
|
1720
|
+
extern bool rb_vmdebug_debug_print_pre(const rb_execution_context_t *ec, const rb_control_frame_t *cfp, const VALUE *_pc, FILE *);
|
1721
|
+
extern bool rb_vmdebug_debug_print_post(const rb_execution_context_t *ec, const rb_control_frame_t *cfp, FILE *);
|
1684
1722
|
|
1685
|
-
#define SDR() rb_vmdebug_stack_dump_raw(GET_EC(), GET_EC()->cfp)
|
1686
|
-
#define SDR2(cfp) rb_vmdebug_stack_dump_raw(GET_EC(), (cfp))
|
1687
|
-
|
1723
|
+
#define SDR() rb_vmdebug_stack_dump_raw(GET_EC(), GET_EC()->cfp, stderr)
|
1724
|
+
#define SDR2(cfp) rb_vmdebug_stack_dump_raw(GET_EC(), (cfp), stderr)
|
1725
|
+
bool rb_vm_bugreport(const void *, FILE *);
|
1688
1726
|
typedef void (*ruby_sighandler_t)(int);
|
1689
1727
|
RBIMPL_ATTR_FORMAT(RBIMPL_PRINTF_FORMAT, 4, 5)
|
1690
1728
|
NORETURN(void rb_bug_for_fatal_signal(ruby_sighandler_t default_sighandler, int sig, const void *, const char *fmt, ...));
|
@@ -1739,6 +1777,7 @@ rb_vm_living_threads_init(rb_vm_t *vm)
|
|
1739
1777
|
ccan_list_head_init(&vm->waiting_fds);
|
1740
1778
|
ccan_list_head_init(&vm->workqueue);
|
1741
1779
|
ccan_list_head_init(&vm->ractor.set);
|
1780
|
+
ccan_list_head_init(&vm->ractor.sched.zombie_threads);
|
1742
1781
|
}
|
1743
1782
|
|
1744
1783
|
typedef int rb_backtrace_iter_func(void *, VALUE, int, VALUE);
|
@@ -1839,6 +1878,20 @@ rb_current_execution_context(bool expect_ec)
|
|
1839
1878
|
#else
|
1840
1879
|
rb_execution_context_t *ec = ruby_current_ec;
|
1841
1880
|
#endif
|
1881
|
+
|
1882
|
+
/* On the shared objects, `__tls_get_addr()` is used to access the TLS
|
1883
|
+
* and the address of the `ruby_current_ec` can be stored on a function
|
1884
|
+
* frame. However, this address can be mis-used after native thread
|
1885
|
+
* migration of a coroutine.
|
1886
|
+
* 1) Get `ptr =&ruby_current_ec` op NT1 and store it on the frame.
|
1887
|
+
* 2) Context switch and resume it on the NT2.
|
1888
|
+
* 3) `ptr` is used on NT2 but it accesses to the TLS on NT1.
|
1889
|
+
* This assertion checks such misusage.
|
1890
|
+
*
|
1891
|
+
* To avoid accidents, `GET_EC()` should be called once on the frame.
|
1892
|
+
* Note that inlining can produce the problem.
|
1893
|
+
*/
|
1894
|
+
VM_ASSERT(ec == rb_current_ec_noinline());
|
1842
1895
|
#else
|
1843
1896
|
rb_execution_context_t *ec = native_tls_get(ruby_current_ec_key);
|
1844
1897
|
#endif
|
@@ -25,15 +25,17 @@
|
|
25
25
|
#endif
|
26
26
|
|
27
27
|
// Expose these as declarations since we are building YJIT.
|
28
|
-
|
29
|
-
|
30
|
-
|
28
|
+
extern uint64_t rb_yjit_call_threshold;
|
29
|
+
extern uint64_t rb_yjit_cold_threshold;
|
30
|
+
extern uint64_t rb_yjit_live_iseq_count;
|
31
|
+
extern bool rb_yjit_enabled_p;
|
32
|
+
void rb_yjit_incr_counter(const char *counter_name);
|
31
33
|
void rb_yjit_invalidate_all_method_lookup_assumptions(void);
|
32
34
|
void rb_yjit_cme_invalidate(rb_callable_method_entry_t *cme);
|
33
35
|
void rb_yjit_collect_binding_alloc(void);
|
34
36
|
void rb_yjit_collect_binding_set(void);
|
35
37
|
void rb_yjit_compile_iseq(const rb_iseq_t *iseq, rb_execution_context_t *ec, bool jit_exception);
|
36
|
-
void rb_yjit_init(
|
38
|
+
void rb_yjit_init(bool yjit_enabled);
|
37
39
|
void rb_yjit_bop_redefined(int redefined_flag, enum ruby_basic_operators bop);
|
38
40
|
void rb_yjit_constant_state_changed(ID id);
|
39
41
|
void rb_yjit_iseq_mark(void *payload);
|
@@ -42,20 +44,20 @@ void rb_yjit_iseq_free(void *payload);
|
|
42
44
|
void rb_yjit_before_ractor_spawn(void);
|
43
45
|
void rb_yjit_constant_ic_update(const rb_iseq_t *const iseq, IC ic, unsigned insn_idx);
|
44
46
|
void rb_yjit_tracing_invalidate_all(void);
|
47
|
+
void rb_yjit_show_usage(int help, int highlight, unsigned int width, int columns);
|
45
48
|
|
46
49
|
#else
|
47
50
|
// !USE_YJIT
|
48
51
|
// In these builds, YJIT could never be turned on. Provide dummy implementations.
|
49
52
|
|
50
|
-
|
51
|
-
static inline
|
52
|
-
static inline bool rb_yjit_threshold_hit(const rb_iseq_t *const iseq, unsigned long total_calls) { return false; }
|
53
|
+
#define rb_yjit_enabled_p false
|
54
|
+
static inline void rb_yjit_incr_counter(const char *counter_name) {}
|
53
55
|
static inline void rb_yjit_invalidate_all_method_lookup_assumptions(void) {}
|
54
56
|
static inline void rb_yjit_cme_invalidate(rb_callable_method_entry_t *cme) {}
|
55
57
|
static inline void rb_yjit_collect_binding_alloc(void) {}
|
56
58
|
static inline void rb_yjit_collect_binding_set(void) {}
|
57
59
|
static inline void rb_yjit_compile_iseq(const rb_iseq_t *iseq, rb_execution_context_t *ec, bool jit_exception) {}
|
58
|
-
static inline void rb_yjit_init(
|
60
|
+
static inline void rb_yjit_init(bool yjit_enabled) {}
|
59
61
|
static inline void rb_yjit_bop_redefined(int redefined_flag, enum ruby_basic_operators bop) {}
|
60
62
|
static inline void rb_yjit_constant_state_changed(ID id) {}
|
61
63
|
static inline void rb_yjit_iseq_mark(void *payload) {}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: debase-ruby_core_source
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Moseley
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2023-
|
13
|
+
date: 2023-11-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: archive-tar-minitar
|
@@ -2138,123 +2138,124 @@ files:
|
|
2138
2138
|
- lib/debase/ruby_core_source/ruby-3.2.0-p0/vm_sync.h
|
2139
2139
|
- lib/debase/ruby_core_source/ruby-3.2.0-p0/vmtc.inc
|
2140
2140
|
- lib/debase/ruby_core_source/ruby-3.2.0-p0/yjit.h
|
2141
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2142
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2143
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2144
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2145
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2146
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2147
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2148
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2149
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2150
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2151
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2152
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2153
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2154
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2155
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2156
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2157
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2158
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2159
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2160
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2161
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2162
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2163
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2164
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2165
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2166
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2167
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2168
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2169
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2170
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2171
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2172
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2173
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2174
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2175
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2176
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2177
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2178
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2179
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2180
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2181
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2182
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2183
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2184
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2185
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2186
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2187
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2188
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2189
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2190
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2191
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2192
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2193
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2194
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2195
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2196
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2197
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2198
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2199
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2200
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2201
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2202
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2203
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2204
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2205
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2206
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2207
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2208
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2209
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2210
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2211
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2212
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2213
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2214
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2215
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2216
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2217
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2218
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2219
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2220
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2221
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2222
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2223
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2224
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2225
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2226
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2227
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2228
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2229
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2230
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2231
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2232
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2233
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2234
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2235
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2236
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2237
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2238
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2239
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2240
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2241
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2242
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2243
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2244
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2245
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2246
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2247
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2248
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2249
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2250
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2251
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2252
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2253
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2254
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2255
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2256
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2257
|
-
- lib/debase/ruby_core_source/ruby-3.3.0-
|
2141
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/addr2line.h
|
2142
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/builtin.h
|
2143
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/ccan/build_assert/build_assert.h
|
2144
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/ccan/check_type/check_type.h
|
2145
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/ccan/container_of/container_of.h
|
2146
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/ccan/list/list.h
|
2147
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/ccan/str/str.h
|
2148
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/constant.h
|
2149
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/darray.h
|
2150
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/debug_counter.h
|
2151
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/dln.h
|
2152
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/encindex.h
|
2153
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/eval_intern.h
|
2154
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/hrtime.h
|
2155
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/id.h
|
2156
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/id_table.h
|
2157
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/insns.inc
|
2158
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/insns_info.inc
|
2159
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal.h
|
2160
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/array.h
|
2161
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/basic_operators.h
|
2162
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/bignum.h
|
2163
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/bits.h
|
2164
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/class.h
|
2165
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/cmdlineopt.h
|
2166
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/compar.h
|
2167
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/compile.h
|
2168
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/compilers.h
|
2169
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/complex.h
|
2170
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/cont.h
|
2171
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/dir.h
|
2172
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/enc.h
|
2173
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/encoding.h
|
2174
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/enum.h
|
2175
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/enumerator.h
|
2176
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/error.h
|
2177
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/eval.h
|
2178
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/file.h
|
2179
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/fixnum.h
|
2180
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/gc.h
|
2181
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/hash.h
|
2182
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/imemo.h
|
2183
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/inits.h
|
2184
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/io.h
|
2185
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/load.h
|
2186
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/loadpath.h
|
2187
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/math.h
|
2188
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/missing.h
|
2189
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/numeric.h
|
2190
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/object.h
|
2191
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/parse.h
|
2192
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/proc.h
|
2193
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/process.h
|
2194
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/ractor.h
|
2195
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/random.h
|
2196
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/range.h
|
2197
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/rational.h
|
2198
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/re.h
|
2199
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/ruby_parser.h
|
2200
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/sanitizers.h
|
2201
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/serial.h
|
2202
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/signal.h
|
2203
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/static_assert.h
|
2204
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/string.h
|
2205
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/struct.h
|
2206
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/symbol.h
|
2207
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/thread.h
|
2208
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/time.h
|
2209
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/transcode.h
|
2210
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/util.h
|
2211
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/variable.h
|
2212
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/vm.h
|
2213
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/warnings.h
|
2214
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/iseq.h
|
2215
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/known_errors.inc
|
2216
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/method.h
|
2217
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/node.h
|
2218
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/node_name.inc
|
2219
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/optinsn.inc
|
2220
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/optunifs.inc
|
2221
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/parse.h
|
2222
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/parser_bits.h
|
2223
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/parser_node.h
|
2224
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/parser_st.h
|
2225
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/parser_value.h
|
2226
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/prism_compile.h
|
2227
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/probes_helper.h
|
2228
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/ractor_core.h
|
2229
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/regenc.h
|
2230
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/regint.h
|
2231
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/regparse.h
|
2232
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/revision.h
|
2233
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/rjit.h
|
2234
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/rjit_c.h
|
2235
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/ruby_assert.h
|
2236
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/ruby_atomic.h
|
2237
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/rubyparser.h
|
2238
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/shape.h
|
2239
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/siphash.h
|
2240
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/symbol.h
|
2241
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/thread_none.h
|
2242
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/thread_pthread.h
|
2243
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/thread_win32.h
|
2244
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/timev.h
|
2245
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/transcode_data.h
|
2246
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/variable.h
|
2247
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/version.h
|
2248
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/vm.inc
|
2249
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/vm_call_iseq_optimized.inc
|
2250
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/vm_callinfo.h
|
2251
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/vm_core.h
|
2252
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/vm_debug.h
|
2253
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/vm_exec.h
|
2254
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/vm_insnhelper.h
|
2255
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/vm_opts.h
|
2256
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/vm_sync.h
|
2257
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/vmtc.inc
|
2258
|
+
- lib/debase/ruby_core_source/ruby-3.3.0-preview3/yjit.h
|
2258
2259
|
- lib/debase/ruby_core_source/version.rb
|
2259
2260
|
homepage: https://github.com/ruby-debug/debase-ruby_core_source
|
2260
2261
|
licenses:
|
@@ -1,133 +0,0 @@
|
|
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
|
-
#define RNODE(obj) ((struct RNode *)(obj))
|
26
|
-
|
27
|
-
|
28
|
-
#define NEW_NODE(t,a0,a1,a2,loc) rb_node_newnode((t),(VALUE)(a0),(VALUE)(a1),(VALUE)(a2),loc)
|
29
|
-
#define NEW_NODE_WITH_LOCALS(t,a1,a2,loc) node_newnode_with_locals(p, (t),(VALUE)(a1),(VALUE)(a2),loc)
|
30
|
-
|
31
|
-
#define NEW_DEFN(i,a,d,loc) NEW_NODE(NODE_DEFN,0,i,NEW_SCOPE(a,d,loc),loc)
|
32
|
-
#define NEW_DEFS(r,i,a,d,loc) NEW_NODE(NODE_DEFS,r,i,NEW_SCOPE(a,d,loc),loc)
|
33
|
-
#define NEW_SCOPE(a,b,loc) NEW_NODE_WITH_LOCALS(NODE_SCOPE,b,a,loc)
|
34
|
-
#define NEW_BLOCK(a,loc) NEW_NODE(NODE_BLOCK,a,0,0,loc)
|
35
|
-
#define NEW_IF(c,t,e,loc) NEW_NODE(NODE_IF,c,t,e,loc)
|
36
|
-
#define NEW_UNLESS(c,t,e,loc) NEW_NODE(NODE_UNLESS,c,t,e,loc)
|
37
|
-
#define NEW_CASE(h,b,loc) NEW_NODE(NODE_CASE,h,b,0,loc)
|
38
|
-
#define NEW_CASE2(b,loc) NEW_NODE(NODE_CASE2,0,b,0,loc)
|
39
|
-
#define NEW_CASE3(h,b,loc) NEW_NODE(NODE_CASE3,h,b,0,loc)
|
40
|
-
#define NEW_WHEN(c,t,e,loc) NEW_NODE(NODE_WHEN,c,t,e,loc)
|
41
|
-
#define NEW_IN(c,t,e,loc) NEW_NODE(NODE_IN,c,t,e,loc)
|
42
|
-
#define NEW_WHILE(c,b,n,loc) NEW_NODE(NODE_WHILE,c,b,n,loc)
|
43
|
-
#define NEW_UNTIL(c,b,n,loc) NEW_NODE(NODE_UNTIL,c,b,n,loc)
|
44
|
-
#define NEW_FOR(i,b,loc) NEW_NODE(NODE_FOR,0,b,i,loc)
|
45
|
-
#define NEW_FOR_MASGN(v,loc) NEW_NODE(NODE_FOR_MASGN,v,0,0,loc)
|
46
|
-
#define NEW_ITER(a,b,loc) NEW_NODE(NODE_ITER,0,NEW_SCOPE(a,b,loc),0,loc)
|
47
|
-
#define NEW_LAMBDA(a,b,loc) NEW_NODE(NODE_LAMBDA,0,NEW_SCOPE(a,b,loc),0,loc)
|
48
|
-
#define NEW_BREAK(s,loc) NEW_NODE(NODE_BREAK,s,0,0,loc)
|
49
|
-
#define NEW_NEXT(s,loc) NEW_NODE(NODE_NEXT,s,0,0,loc)
|
50
|
-
#define NEW_REDO(loc) NEW_NODE(NODE_REDO,0,0,0,loc)
|
51
|
-
#define NEW_RETRY(loc) NEW_NODE(NODE_RETRY,0,0,0,loc)
|
52
|
-
#define NEW_BEGIN(b,loc) NEW_NODE(NODE_BEGIN,0,b,0,loc)
|
53
|
-
#define NEW_RESCUE(b,res,e,loc) NEW_NODE(NODE_RESCUE,b,res,e,loc)
|
54
|
-
#define NEW_RESBODY(a,ex,n,loc) NEW_NODE(NODE_RESBODY,n,ex,a,loc)
|
55
|
-
#define NEW_ENSURE(b,en,loc) NEW_NODE(NODE_ENSURE,b,0,en,loc)
|
56
|
-
#define NEW_RETURN(s,loc) NEW_NODE(NODE_RETURN,s,0,0,loc)
|
57
|
-
#define NEW_YIELD(a,loc) NEW_NODE(NODE_YIELD,a,0,0,loc)
|
58
|
-
#define NEW_LIST(a,loc) NEW_NODE(NODE_LIST,a,1,0,loc)
|
59
|
-
#define NEW_ZLIST(loc) NEW_NODE(NODE_ZLIST,0,0,0,loc)
|
60
|
-
#define NEW_HASH(a,loc) NEW_NODE(NODE_HASH,a,0,0,loc)
|
61
|
-
#define NEW_MASGN(l,r,loc) NEW_NODE(NODE_MASGN,l,0,r,loc)
|
62
|
-
#define NEW_GASGN(v,val,loc) NEW_NODE(NODE_GASGN,v,val,0,loc)
|
63
|
-
#define NEW_LASGN(v,val,loc) NEW_NODE(NODE_LASGN,v,val,0,loc)
|
64
|
-
#define NEW_DASGN(v,val,loc) NEW_NODE(NODE_DASGN,v,val,0,loc)
|
65
|
-
#define NEW_IASGN(v,val,loc) NEW_NODE(NODE_IASGN,v,val,0,loc)
|
66
|
-
#define NEW_CDECL(v,val,path,loc) NEW_NODE(NODE_CDECL,v,val,path,loc)
|
67
|
-
#define NEW_CVASGN(v,val,loc) NEW_NODE(NODE_CVASGN,v,val,0,loc)
|
68
|
-
#define NEW_OP_ASGN1(p,id,a,loc) NEW_NODE(NODE_OP_ASGN1,p,id,a,loc)
|
69
|
-
#define NEW_OP_ASGN2(r,t,i,o,val,loc) NEW_NODE(NODE_OP_ASGN2,r,val,NEW_OP_ASGN22(i,o,t,loc),loc)
|
70
|
-
#define NEW_OP_ASGN22(i,o,t,loc) NEW_NODE(NODE_OP_ASGN2,i,o,t,loc)
|
71
|
-
#define NEW_OP_ASGN_OR(i,val,loc) NEW_NODE(NODE_OP_ASGN_OR,i,val,0,loc)
|
72
|
-
#define NEW_OP_ASGN_AND(i,val,loc) NEW_NODE(NODE_OP_ASGN_AND,i,val,0,loc)
|
73
|
-
#define NEW_OP_CDECL(v,op,val,loc) NEW_NODE(NODE_OP_CDECL,v,val,op,loc)
|
74
|
-
#define NEW_GVAR(v,loc) NEW_NODE(NODE_GVAR,v,0,0,loc)
|
75
|
-
#define NEW_LVAR(v,loc) NEW_NODE(NODE_LVAR,v,0,0,loc)
|
76
|
-
#define NEW_DVAR(v,loc) NEW_NODE(NODE_DVAR,v,0,0,loc)
|
77
|
-
#define NEW_IVAR(v,loc) NEW_NODE(NODE_IVAR,v,0,0,loc)
|
78
|
-
#define NEW_CONST(v,loc) NEW_NODE(NODE_CONST,v,0,0,loc)
|
79
|
-
#define NEW_CVAR(v,loc) NEW_NODE(NODE_CVAR,v,0,0,loc)
|
80
|
-
#define NEW_NTH_REF(n,loc) NEW_NODE(NODE_NTH_REF,0,n,0,loc)
|
81
|
-
#define NEW_BACK_REF(n,loc) NEW_NODE(NODE_BACK_REF,0,n,0,loc)
|
82
|
-
#define NEW_MATCH(c,loc) NEW_NODE(NODE_MATCH,c,0,0,loc)
|
83
|
-
#define NEW_MATCH2(n1,n2,loc) NEW_NODE(NODE_MATCH2,n1,n2,0,loc)
|
84
|
-
#define NEW_MATCH3(r,n2,loc) NEW_NODE(NODE_MATCH3,r,n2,0,loc)
|
85
|
-
#define NEW_LIT(l,loc) NEW_NODE(NODE_LIT,l,0,0,loc)
|
86
|
-
#define NEW_STR(s,loc) NEW_NODE(NODE_STR,s,0,0,loc)
|
87
|
-
#define NEW_DSTR(s,loc) NEW_NODE(NODE_DSTR,s,1,0,loc)
|
88
|
-
#define NEW_XSTR(s,loc) NEW_NODE(NODE_XSTR,s,0,0,loc)
|
89
|
-
#define NEW_DXSTR(s,loc) NEW_NODE(NODE_DXSTR,s,0,0,loc)
|
90
|
-
#define NEW_DSYM(s,loc) NEW_NODE(NODE_DSYM,s,0,0,loc)
|
91
|
-
#define NEW_EVSTR(n,loc) NEW_NODE(NODE_EVSTR,0,(n),0,loc)
|
92
|
-
#define NEW_CALL(r,m,a,loc) NEW_NODE(NODE_CALL,r,m,a,loc)
|
93
|
-
#define NEW_OPCALL(r,m,a,loc) NEW_NODE(NODE_OPCALL,r,m,a,loc)
|
94
|
-
#define NEW_FCALL(m,a,loc) NEW_NODE(NODE_FCALL,0,m,a,loc)
|
95
|
-
#define NEW_VCALL(m,loc) NEW_NODE(NODE_VCALL,0,m,0,loc)
|
96
|
-
#define NEW_SUPER(a,loc) NEW_NODE(NODE_SUPER,0,0,a,loc)
|
97
|
-
#define NEW_ZSUPER(loc) NEW_NODE(NODE_ZSUPER,0,0,0,loc)
|
98
|
-
#define NEW_ARGS_AUX(r,b,loc) NEW_NODE(NODE_ARGS_AUX,r,b,0,loc)
|
99
|
-
#define NEW_OPT_ARG(i,v,loc) NEW_NODE(NODE_OPT_ARG,i,v,0,loc)
|
100
|
-
#define NEW_KW_ARG(v,loc) NEW_NODE(NODE_KW_ARG,0,v,0,loc)
|
101
|
-
#define NEW_POSTARG(i,v,loc) NEW_NODE(NODE_POSTARG,i,v,0,loc)
|
102
|
-
#define NEW_ARGSCAT(a,b,loc) NEW_NODE(NODE_ARGSCAT,a,b,0,loc)
|
103
|
-
#define NEW_ARGSPUSH(a,b,loc) NEW_NODE(NODE_ARGSPUSH,a,b,0,loc)
|
104
|
-
#define NEW_SPLAT(a,loc) NEW_NODE(NODE_SPLAT,a,0,0,loc)
|
105
|
-
#define NEW_BLOCK_PASS(b,loc) NEW_NODE(NODE_BLOCK_PASS,0,b,0,loc)
|
106
|
-
#define NEW_ALIAS(n,o,loc) NEW_NODE(NODE_ALIAS,n,o,0,loc)
|
107
|
-
#define NEW_VALIAS(n,o,loc) NEW_NODE(NODE_VALIAS,n,o,0,loc)
|
108
|
-
#define NEW_UNDEF(i,loc) NEW_NODE(NODE_UNDEF,0,i,0,loc)
|
109
|
-
#define NEW_CLASS(n,b,s,loc) NEW_NODE(NODE_CLASS,n,NEW_SCOPE(0,b,loc),(s),loc)
|
110
|
-
#define NEW_SCLASS(r,b,loc) NEW_NODE(NODE_SCLASS,r,NEW_SCOPE(0,b,loc),0,loc)
|
111
|
-
#define NEW_MODULE(n,b,loc) NEW_NODE(NODE_MODULE,n,NEW_SCOPE(0,b,loc),0,loc)
|
112
|
-
#define NEW_COLON2(c,i,loc) NEW_NODE(NODE_COLON2,c,i,0,loc)
|
113
|
-
#define NEW_COLON3(i,loc) NEW_NODE(NODE_COLON3,0,i,0,loc)
|
114
|
-
#define NEW_DOT2(b,e,loc) NEW_NODE(NODE_DOT2,b,e,0,loc)
|
115
|
-
#define NEW_DOT3(b,e,loc) NEW_NODE(NODE_DOT3,b,e,0,loc)
|
116
|
-
#define NEW_SELF(loc) NEW_NODE(NODE_SELF,0,0,1,loc)
|
117
|
-
#define NEW_NIL(loc) NEW_NODE(NODE_NIL,0,0,0,loc)
|
118
|
-
#define NEW_TRUE(loc) NEW_NODE(NODE_TRUE,0,0,0,loc)
|
119
|
-
#define NEW_FALSE(loc) NEW_NODE(NODE_FALSE,0,0,0,loc)
|
120
|
-
#define NEW_ERRINFO(loc) NEW_NODE(NODE_ERRINFO,0,0,0,loc)
|
121
|
-
#define NEW_DEFINED(e,loc) NEW_NODE(NODE_DEFINED,e,0,0,loc)
|
122
|
-
#define NEW_POSTEXE(b,loc) NEW_NODE(NODE_POSTEXE,0,b,0,loc)
|
123
|
-
#define NEW_ATTRASGN(r,m,a,loc) NEW_NODE(NODE_ATTRASGN,r,m,a,loc)
|
124
|
-
#define NEW_ERROR(loc) NEW_NODE(NODE_ERROR,0,0,0,loc)
|
125
|
-
|
126
|
-
#if defined(__cplusplus)
|
127
|
-
#if 0
|
128
|
-
{ /* satisfy cc-mode */
|
129
|
-
#endif
|
130
|
-
} /* extern "C" { */
|
131
|
-
#endif
|
132
|
-
|
133
|
-
#endif /* RUBY_PARSER_NODE_H */
|