debase-ruby_core_source 0.9.9 → 0.9.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/addr2line.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/build_assert/build_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/check_type/check_type.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/container_of/container_of.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/ccan/list/list.h +28 -166
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/str/str.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/constant.h +3 -10
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/dln.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/eval_intern.h +49 -89
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/gc.h +1 -8
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/id.h +5 -15
- data/lib/debase/ruby_core_source/ruby-2.2.8-p477/insns.inc +107 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/insns_info.inc +45 -89
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/internal.h +164 -666
- data/lib/debase/ruby_core_source/ruby-2.2.8-p477/iseq.h +158 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/known_errors.inc +0 -0
- data/lib/debase/ruby_core_source/ruby-2.2.8-p477/method.h +144 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/node.h +42 -18
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/node_name.inc +6 -2
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/opt_sc.inc +0 -40
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/optinsn.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/optunifs.inc +0 -5
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/parse.h +8 -28
- data/lib/debase/ruby_core_source/ruby-2.2.8-p477/probes_helper.h +67 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/regenc.h +16 -16
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/regint.h +10 -33
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/regparse.h +1 -5
- data/lib/debase/ruby_core_source/ruby-2.2.8-p477/revision.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/ruby_atomic.h +5 -68
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/siphash.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/symbol.h +13 -33
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/thread_pthread.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/thread_win32.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/timev.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/transcode_data.h +7 -23
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/version.h +10 -31
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/vm.inc +497 -542
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/vm_core.h +305 -784
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/vm_debug.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/vm_exec.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/vm_insnhelper.h +56 -50
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/vm_opts.h +7 -8
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/vmtc.inc +0 -5
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/addr2line.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/build_assert/build_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/check_type/check_type.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/container_of/container_of.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/ccan/list/list.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/str/str.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/constant.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/dln.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/encindex.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/eval_intern.h +3 -4
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/gc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/id.h +0 -9
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/id_table.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/insns.inc +46 -48
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/insns_info.inc +0 -20
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/internal.h +58 -290
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/iseq.h +15 -18
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/known_errors.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/method.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/node.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/node_name.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/opt_sc.inc +0 -16
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/optinsn.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/optunifs.inc +0 -2
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/parse.h +8 -27
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/probes_helper.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/regenc.h +14 -14
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/regint.h +0 -8
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/regparse.h +0 -0
- data/lib/debase/ruby_core_source/ruby-2.3.5-p376/revision.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/ruby_atomic.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/siphash.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/symbol.h +3 -3
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/thread_pthread.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/thread_win32.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/timev.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/transcode_data.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/version.h +9 -27
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm.inc +255 -264
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_call_iseq_optimized.inc +5 -5
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_core.h +37 -28
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/vm_debug.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/vm_exec.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_insnhelper.h +32 -16
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_opts.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/vmtc.inc +0 -2
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/addr2line.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/build_assert/build_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/check_type/check_type.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/container_of/container_of.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/ccan/list/list.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/str/str.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/constant.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/dln.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/encindex.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/eval_intern.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/gc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/id.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/id_table.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/insns.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/insns_info.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/internal.h +116 -51
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/iseq.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/known_errors.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/method.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/node.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/node_name.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/opt_sc.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/optinsn.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/optunifs.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/parse.h +8 -27
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/probes_helper.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/regenc.h +79 -67
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/regint.h +187 -244
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/regparse.h +30 -27
- data/lib/debase/ruby_core_source/ruby-2.4.2-p198/revision.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/ruby_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/ruby_atomic.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/siphash.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/symbol.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/thread_pthread.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/thread_win32.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/timev.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/transcode_data.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/version.h +6 -6
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm.inc +37 -34
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/vm_call_iseq_optimized.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_core.h +9 -7
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_debug.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_exec.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_insnhelper.h +30 -14
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/vm_opts.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/vmtc.inc +0 -0
- data/lib/debase/ruby_core_source/version.rb +1 -1
- metadata +138 -143
- data/lib/debase/ruby_core_source/ruby-2.4.0-preview1/method.h +0 -213
- data/lib/debase/ruby_core_source/ruby-2.4.0-preview1/revision.h +0 -1
- data/lib/debase/ruby_core_source/ruby-2.4.0-preview2/revision.h +0 -1
- data/lib/debase/ruby_core_source/ruby-2.4.0-preview2/ruby_assert.h +0 -54
- data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/encindex.h +0 -67
- data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/id_table.h +0 -31
- data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/insns.inc +0 -112
- data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/iseq.h +0 -252
- data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/probes_helper.h +0 -43
- data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/revision.h +0 -1
- data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/ruby_assert.h +0 -54
- data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/vm_call_iseq_optimized.inc +0 -212
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
#ifndef
|
|
2
|
-
#define
|
|
1
|
+
#ifndef ONIGMO_REGPARSE_H
|
|
2
|
+
#define ONIGMO_REGPARSE_H
|
|
3
3
|
/**********************************************************************
|
|
4
4
|
regparse.h - Onigmo (Oniguruma-mod) (regular expression library)
|
|
5
5
|
**********************************************************************/
|
|
6
6
|
/*-
|
|
7
7
|
* Copyright (c) 2002-2007 K.Kosako <sndgk393 AT ybb DOT ne DOT jp>
|
|
8
|
-
* Copyright (c) 2011
|
|
8
|
+
* Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp>
|
|
9
9
|
* All rights reserved.
|
|
10
10
|
*
|
|
11
11
|
* Redistribution and use in source and binary forms, with or without
|
|
@@ -95,6 +95,7 @@ RUBY_SYMBOL_EXPORT_BEGIN
|
|
|
95
95
|
#define ENCLOSE_OPTION (1<<1)
|
|
96
96
|
#define ENCLOSE_STOP_BACKTRACK (1<<2)
|
|
97
97
|
#define ENCLOSE_CONDITION (1<<3)
|
|
98
|
+
#define ENCLOSE_ABSENT (1<<4)
|
|
98
99
|
|
|
99
100
|
#define NODE_STR_MARGIN 16
|
|
100
101
|
#define NODE_STR_BUF_SIZE 24 /* sizeof(CClassNode) - sizeof(int)*4 */
|
|
@@ -317,9 +318,12 @@ typedef struct {
|
|
|
317
318
|
int curr_max_regnum;
|
|
318
319
|
int has_recursion;
|
|
319
320
|
#endif
|
|
321
|
+
unsigned int parse_depth;
|
|
320
322
|
int warnings_flag;
|
|
323
|
+
#ifdef RUBY
|
|
321
324
|
const char* sourcefile;
|
|
322
325
|
int sourceline;
|
|
326
|
+
#endif
|
|
323
327
|
} ScanEnv;
|
|
324
328
|
|
|
325
329
|
|
|
@@ -332,36 +336,35 @@ typedef struct {
|
|
|
332
336
|
int new_val;
|
|
333
337
|
} GroupNumRemap;
|
|
334
338
|
|
|
335
|
-
extern int onig_renumber_name_table
|
|
339
|
+
extern int onig_renumber_name_table(regex_t* reg, GroupNumRemap* map);
|
|
336
340
|
#endif
|
|
337
341
|
|
|
338
|
-
extern int onig_strncmp
|
|
339
|
-
extern void onig_strcpy
|
|
340
|
-
extern void onig_scan_env_set_error_string
|
|
341
|
-
extern int onig_scan_unsigned_number
|
|
342
|
-
extern void onig_reduce_nested_quantifier
|
|
343
|
-
extern void onig_node_conv_to_str_node
|
|
344
|
-
extern int onig_node_str_cat
|
|
345
|
-
extern int onig_node_str_set
|
|
346
|
-
extern void onig_node_free
|
|
347
|
-
extern Node* onig_node_new_enclose
|
|
348
|
-
extern Node* onig_node_new_anchor
|
|
349
|
-
extern Node* onig_node_new_str
|
|
350
|
-
extern Node* onig_node_new_list
|
|
351
|
-
extern Node* onig_node_list_add
|
|
352
|
-
extern Node* onig_node_new_alt
|
|
353
|
-
extern void onig_node_str_clear
|
|
354
|
-
extern int
|
|
355
|
-
extern int
|
|
356
|
-
extern int
|
|
357
|
-
extern int onig_free_shared_cclass_table P_((void));
|
|
342
|
+
extern int onig_strncmp(const UChar* s1, const UChar* s2, int n);
|
|
343
|
+
extern void onig_strcpy(UChar* dest, const UChar* src, const UChar* end);
|
|
344
|
+
extern void onig_scan_env_set_error_string(ScanEnv* env, int ecode, UChar* arg, UChar* arg_end);
|
|
345
|
+
extern int onig_scan_unsigned_number(UChar** src, const UChar* end, OnigEncoding enc);
|
|
346
|
+
extern void onig_reduce_nested_quantifier(Node* pnode, Node* cnode);
|
|
347
|
+
extern void onig_node_conv_to_str_node(Node* node, int raw);
|
|
348
|
+
extern int onig_node_str_cat(Node* node, const UChar* s, const UChar* end);
|
|
349
|
+
extern int onig_node_str_set(Node* node, const UChar* s, const UChar* end);
|
|
350
|
+
extern void onig_node_free(Node* node);
|
|
351
|
+
extern Node* onig_node_new_enclose(int type);
|
|
352
|
+
extern Node* onig_node_new_anchor(int type);
|
|
353
|
+
extern Node* onig_node_new_str(const UChar* s, const UChar* end);
|
|
354
|
+
extern Node* onig_node_new_list(Node* left, Node* right);
|
|
355
|
+
extern Node* onig_node_list_add(Node* list, Node* x);
|
|
356
|
+
extern Node* onig_node_new_alt(Node* left, Node* right);
|
|
357
|
+
extern void onig_node_str_clear(Node* node);
|
|
358
|
+
extern int onig_names_free(regex_t* reg);
|
|
359
|
+
extern int onig_parse_make_tree(Node** root, const UChar* pattern, const UChar* end, regex_t* reg, ScanEnv* env);
|
|
360
|
+
extern int onig_free_shared_cclass_table(void);
|
|
358
361
|
|
|
359
362
|
#ifdef ONIG_DEBUG
|
|
360
|
-
#ifdef USE_NAMED_GROUP
|
|
363
|
+
# ifdef USE_NAMED_GROUP
|
|
361
364
|
extern int onig_print_names(FILE*, regex_t*);
|
|
362
|
-
#endif
|
|
365
|
+
# endif
|
|
363
366
|
#endif
|
|
364
367
|
|
|
365
368
|
RUBY_SYMBOL_EXPORT_END
|
|
366
369
|
|
|
367
|
-
#endif /*
|
|
370
|
+
#endif /* ONIGMO_REGPARSE_H */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#define RUBY_REVISION 59899
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
#define RUBY_VERSION "2.4.
|
|
2
|
-
#define RUBY_RELEASE_DATE
|
|
3
|
-
#define RUBY_PATCHLEVEL
|
|
1
|
+
#define RUBY_VERSION "2.4.2"
|
|
2
|
+
#define RUBY_RELEASE_DATE "2017-09-14"
|
|
3
|
+
#define RUBY_PATCHLEVEL 198
|
|
4
4
|
|
|
5
|
-
#define RUBY_RELEASE_YEAR
|
|
5
|
+
#define RUBY_RELEASE_YEAR 2017
|
|
6
6
|
#define RUBY_RELEASE_MONTH 9
|
|
7
|
-
#define RUBY_RELEASE_DAY
|
|
7
|
+
#define RUBY_RELEASE_DAY 14
|
|
8
8
|
|
|
9
9
|
#include "ruby/version.h"
|
|
10
10
|
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
#endif
|
|
36
36
|
|
|
37
37
|
#if RUBY_PATCHLEVEL == -1
|
|
38
|
-
#define RUBY_PATCHLEVEL_STR "
|
|
38
|
+
#define RUBY_PATCHLEVEL_STR "dev"
|
|
39
39
|
#else
|
|
40
40
|
#define RUBY_PATCHLEVEL_STR "p"STRINGIZE(RUBY_PATCHLEVEL)
|
|
41
41
|
#endif
|
|
@@ -1159,7 +1159,7 @@ INSN_ENTRY(checkmatch){
|
|
|
1159
1159
|
result = Qfalse;
|
|
1160
1160
|
|
|
1161
1161
|
if (flag & VM_CHECKMATCH_ARRAY) {
|
|
1162
|
-
|
|
1162
|
+
long i;
|
|
1163
1163
|
for (i = 0; i < RARRAY_LEN(pattern); i++) {
|
|
1164
1164
|
if (RTEST(check_match(RARRAY_AREF(pattern, i), target, checkmatch_type))) {
|
|
1165
1165
|
result = Qtrue;
|
|
@@ -2765,7 +2765,9 @@ INSN_ENTRY(opt_aset_with){
|
|
|
2765
2765
|
COLLECT_USAGE_OPERAND(BIN(opt_aset_with), 2, key);
|
|
2766
2766
|
{
|
|
2767
2767
|
#line 1884 "insns.def"
|
|
2768
|
-
if (!SPECIAL_CONST_P(recv) && RBASIC_CLASS(recv) == rb_cHash &&
|
|
2768
|
+
if (!SPECIAL_CONST_P(recv) && RBASIC_CLASS(recv) == rb_cHash &&
|
|
2769
|
+
BASIC_OP_UNREDEFINED_P(BOP_ASET, HASH_REDEFINED_OP_FLAG) &&
|
|
2770
|
+
rb_hash_compare_by_id_p(recv) == Qfalse) {
|
|
2769
2771
|
rb_hash_aset(recv, key, val);
|
|
2770
2772
|
}
|
|
2771
2773
|
else {
|
|
@@ -2775,7 +2777,7 @@ INSN_ENTRY(opt_aset_with){
|
|
|
2775
2777
|
CALL_SIMPLE_METHOD(recv);
|
|
2776
2778
|
}
|
|
2777
2779
|
|
|
2778
|
-
#line
|
|
2780
|
+
#line 2781 "vm.inc"
|
|
2779
2781
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
2780
2782
|
PUSH(val);
|
|
2781
2783
|
#undef CURRENT_INSN_opt_aset_with
|
|
@@ -2803,8 +2805,10 @@ INSN_ENTRY(opt_aref_with){
|
|
|
2803
2805
|
COLLECT_USAGE_OPERAND(BIN(opt_aref_with), 1, cc);
|
|
2804
2806
|
COLLECT_USAGE_OPERAND(BIN(opt_aref_with), 2, key);
|
|
2805
2807
|
{
|
|
2806
|
-
#line
|
|
2807
|
-
if (!SPECIAL_CONST_P(recv) && RBASIC_CLASS(recv) == rb_cHash &&
|
|
2808
|
+
#line 1908 "insns.def"
|
|
2809
|
+
if (!SPECIAL_CONST_P(recv) && RBASIC_CLASS(recv) == rb_cHash &&
|
|
2810
|
+
BASIC_OP_UNREDEFINED_P(BOP_AREF, HASH_REDEFINED_OP_FLAG) &&
|
|
2811
|
+
rb_hash_compare_by_id_p(recv) == Qfalse) {
|
|
2808
2812
|
val = rb_hash_aref(recv, key);
|
|
2809
2813
|
}
|
|
2810
2814
|
else {
|
|
@@ -2813,7 +2817,7 @@ INSN_ENTRY(opt_aref_with){
|
|
|
2813
2817
|
CALL_SIMPLE_METHOD(recv);
|
|
2814
2818
|
}
|
|
2815
2819
|
|
|
2816
|
-
#line
|
|
2820
|
+
#line 2821 "vm.inc"
|
|
2817
2821
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
2818
2822
|
PUSH(val);
|
|
2819
2823
|
#undef CURRENT_INSN_opt_aref_with
|
|
@@ -2839,7 +2843,7 @@ INSN_ENTRY(opt_length){
|
|
|
2839
2843
|
COLLECT_USAGE_OPERAND(BIN(opt_length), 0, ci);
|
|
2840
2844
|
COLLECT_USAGE_OPERAND(BIN(opt_length), 1, cc);
|
|
2841
2845
|
{
|
|
2842
|
-
#line
|
|
2846
|
+
#line 1931 "insns.def"
|
|
2843
2847
|
if (!SPECIAL_CONST_P(recv)) {
|
|
2844
2848
|
if (RBASIC_CLASS(recv) == rb_cString &&
|
|
2845
2849
|
BASIC_OP_UNREDEFINED_P(BOP_LENGTH, STRING_REDEFINED_OP_FLAG)) {
|
|
@@ -2863,7 +2867,7 @@ INSN_ENTRY(opt_length){
|
|
|
2863
2867
|
CALL_SIMPLE_METHOD(recv);
|
|
2864
2868
|
}
|
|
2865
2869
|
|
|
2866
|
-
#line
|
|
2870
|
+
#line 2871 "vm.inc"
|
|
2867
2871
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
2868
2872
|
PUSH(val);
|
|
2869
2873
|
#undef CURRENT_INSN_opt_length
|
|
@@ -2889,7 +2893,7 @@ INSN_ENTRY(opt_size){
|
|
|
2889
2893
|
COLLECT_USAGE_OPERAND(BIN(opt_size), 0, ci);
|
|
2890
2894
|
COLLECT_USAGE_OPERAND(BIN(opt_size), 1, cc);
|
|
2891
2895
|
{
|
|
2892
|
-
#line
|
|
2896
|
+
#line 1966 "insns.def"
|
|
2893
2897
|
if (!SPECIAL_CONST_P(recv)) {
|
|
2894
2898
|
if (RBASIC_CLASS(recv) == rb_cString &&
|
|
2895
2899
|
BASIC_OP_UNREDEFINED_P(BOP_SIZE, STRING_REDEFINED_OP_FLAG)) {
|
|
@@ -2913,7 +2917,7 @@ INSN_ENTRY(opt_size){
|
|
|
2913
2917
|
CALL_SIMPLE_METHOD(recv);
|
|
2914
2918
|
}
|
|
2915
2919
|
|
|
2916
|
-
#line
|
|
2920
|
+
#line 2921 "vm.inc"
|
|
2917
2921
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
2918
2922
|
PUSH(val);
|
|
2919
2923
|
#undef CURRENT_INSN_opt_size
|
|
@@ -2939,7 +2943,7 @@ INSN_ENTRY(opt_empty_p){
|
|
|
2939
2943
|
COLLECT_USAGE_OPERAND(BIN(opt_empty_p), 0, ci);
|
|
2940
2944
|
COLLECT_USAGE_OPERAND(BIN(opt_empty_p), 1, cc);
|
|
2941
2945
|
{
|
|
2942
|
-
#line
|
|
2946
|
+
#line 2001 "insns.def"
|
|
2943
2947
|
if (!SPECIAL_CONST_P(recv)) {
|
|
2944
2948
|
if (RBASIC_CLASS(recv) == rb_cString &&
|
|
2945
2949
|
BASIC_OP_UNREDEFINED_P(BOP_EMPTY_P, STRING_REDEFINED_OP_FLAG)) {
|
|
@@ -2966,7 +2970,7 @@ INSN_ENTRY(opt_empty_p){
|
|
|
2966
2970
|
CALL_SIMPLE_METHOD(recv);
|
|
2967
2971
|
}
|
|
2968
2972
|
|
|
2969
|
-
#line
|
|
2973
|
+
#line 2974 "vm.inc"
|
|
2970
2974
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
2971
2975
|
PUSH(val);
|
|
2972
2976
|
#undef CURRENT_INSN_opt_empty_p
|
|
@@ -2992,7 +2996,7 @@ INSN_ENTRY(opt_succ){
|
|
|
2992
2996
|
COLLECT_USAGE_OPERAND(BIN(opt_succ), 0, ci);
|
|
2993
2997
|
COLLECT_USAGE_OPERAND(BIN(opt_succ), 1, cc);
|
|
2994
2998
|
{
|
|
2995
|
-
#line
|
|
2999
|
+
#line 2039 "insns.def"
|
|
2996
3000
|
if (SPECIAL_CONST_P(recv)) {
|
|
2997
3001
|
if (FIXNUM_P(recv) &&
|
|
2998
3002
|
BASIC_OP_UNREDEFINED_P(BOP_SUCC, INTEGER_REDEFINED_OP_FLAG)) {
|
|
@@ -3013,8 +3017,7 @@ INSN_ENTRY(opt_succ){
|
|
|
3013
3017
|
BASIC_OP_UNREDEFINED_P(BOP_SUCC, STRING_REDEFINED_OP_FLAG)) {
|
|
3014
3018
|
val = rb_str_succ(recv);
|
|
3015
3019
|
}
|
|
3016
|
-
else
|
|
3017
|
-
{
|
|
3020
|
+
else {
|
|
3018
3021
|
goto INSN_LABEL(normal_dispatch);
|
|
3019
3022
|
}
|
|
3020
3023
|
}
|
|
@@ -3024,7 +3027,7 @@ INSN_ENTRY(opt_succ){
|
|
|
3024
3027
|
CALL_SIMPLE_METHOD(recv);
|
|
3025
3028
|
}
|
|
3026
3029
|
|
|
3027
|
-
#line
|
|
3030
|
+
#line 3031 "vm.inc"
|
|
3028
3031
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
3029
3032
|
PUSH(val);
|
|
3030
3033
|
#undef CURRENT_INSN_opt_succ
|
|
@@ -3050,7 +3053,7 @@ INSN_ENTRY(opt_not){
|
|
|
3050
3053
|
COLLECT_USAGE_OPERAND(BIN(opt_not), 0, ci);
|
|
3051
3054
|
COLLECT_USAGE_OPERAND(BIN(opt_not), 1, cc);
|
|
3052
3055
|
{
|
|
3053
|
-
#line
|
|
3056
|
+
#line 2081 "insns.def"
|
|
3054
3057
|
vm_search_method(ci, cc, recv);
|
|
3055
3058
|
|
|
3056
3059
|
if (check_cfunc(cc->me, rb_obj_not)) {
|
|
@@ -3061,7 +3064,7 @@ INSN_ENTRY(opt_not){
|
|
|
3061
3064
|
CALL_SIMPLE_METHOD(recv);
|
|
3062
3065
|
}
|
|
3063
3066
|
|
|
3064
|
-
#line
|
|
3067
|
+
#line 3068 "vm.inc"
|
|
3065
3068
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
3066
3069
|
PUSH(val);
|
|
3067
3070
|
#undef CURRENT_INSN_opt_not
|
|
@@ -3085,7 +3088,7 @@ INSN_ENTRY(opt_regexpmatch1){
|
|
|
3085
3088
|
COLLECT_USAGE_INSN(BIN(opt_regexpmatch1));
|
|
3086
3089
|
COLLECT_USAGE_OPERAND(BIN(opt_regexpmatch1), 0, r);
|
|
3087
3090
|
{
|
|
3088
|
-
#line
|
|
3091
|
+
#line 2104 "insns.def"
|
|
3089
3092
|
if (BASIC_OP_UNREDEFINED_P(BOP_MATCH, REGEXP_REDEFINED_OP_FLAG)) {
|
|
3090
3093
|
val = rb_reg_match(r, obj);
|
|
3091
3094
|
}
|
|
@@ -3093,7 +3096,7 @@ INSN_ENTRY(opt_regexpmatch1){
|
|
|
3093
3096
|
val = rb_funcall(r, idEqTilde, 1, obj);
|
|
3094
3097
|
}
|
|
3095
3098
|
|
|
3096
|
-
#line
|
|
3099
|
+
#line 3100 "vm.inc"
|
|
3097
3100
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
3098
3101
|
PUSH(val);
|
|
3099
3102
|
#undef CURRENT_INSN_opt_regexpmatch1
|
|
@@ -3120,7 +3123,7 @@ INSN_ENTRY(opt_regexpmatch2){
|
|
|
3120
3123
|
COLLECT_USAGE_OPERAND(BIN(opt_regexpmatch2), 0, ci);
|
|
3121
3124
|
COLLECT_USAGE_OPERAND(BIN(opt_regexpmatch2), 1, cc);
|
|
3122
3125
|
{
|
|
3123
|
-
#line
|
|
3126
|
+
#line 2123 "insns.def"
|
|
3124
3127
|
if (CLASS_OF(obj2) == rb_cString &&
|
|
3125
3128
|
BASIC_OP_UNREDEFINED_P(BOP_MATCH, STRING_REDEFINED_OP_FLAG)) {
|
|
3126
3129
|
val = rb_reg_match(obj1, obj2);
|
|
@@ -3131,7 +3134,7 @@ INSN_ENTRY(opt_regexpmatch2){
|
|
|
3131
3134
|
CALL_SIMPLE_METHOD(obj2);
|
|
3132
3135
|
}
|
|
3133
3136
|
|
|
3134
|
-
#line
|
|
3137
|
+
#line 3138 "vm.inc"
|
|
3135
3138
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
3136
3139
|
PUSH(val);
|
|
3137
3140
|
#undef CURRENT_INSN_opt_regexpmatch2
|
|
@@ -3153,7 +3156,7 @@ INSN_ENTRY(opt_call_c_function){
|
|
|
3153
3156
|
COLLECT_USAGE_INSN(BIN(opt_call_c_function));
|
|
3154
3157
|
COLLECT_USAGE_OPERAND(BIN(opt_call_c_function), 0, funcptr);
|
|
3155
3158
|
{
|
|
3156
|
-
#line
|
|
3159
|
+
#line 2145 "insns.def"
|
|
3157
3160
|
reg_cfp = (funcptr)(th, reg_cfp);
|
|
3158
3161
|
|
|
3159
3162
|
if (reg_cfp == 0) {
|
|
@@ -3165,7 +3168,7 @@ INSN_ENTRY(opt_call_c_function){
|
|
|
3165
3168
|
RESTORE_REGS();
|
|
3166
3169
|
NEXT_INSN();
|
|
3167
3170
|
|
|
3168
|
-
#line
|
|
3171
|
+
#line 3172 "vm.inc"
|
|
3169
3172
|
#undef CURRENT_INSN_opt_call_c_function
|
|
3170
3173
|
#undef INSN_IS_SC
|
|
3171
3174
|
#undef INSN_LABEL
|
|
@@ -3185,10 +3188,10 @@ INSN_ENTRY(bitblt){
|
|
|
3185
3188
|
#define LABEL_IS_SC(lab) LABEL_##lab##_##t
|
|
3186
3189
|
COLLECT_USAGE_INSN(BIN(bitblt));
|
|
3187
3190
|
{
|
|
3188
|
-
#line
|
|
3191
|
+
#line 2168 "insns.def"
|
|
3189
3192
|
ret = rb_str_new2("a bit of bacon, lettuce and tomato");
|
|
3190
3193
|
|
|
3191
|
-
#line
|
|
3194
|
+
#line 3195 "vm.inc"
|
|
3192
3195
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
3193
3196
|
PUSH(ret);
|
|
3194
3197
|
#undef CURRENT_INSN_bitblt
|
|
@@ -3210,10 +3213,10 @@ INSN_ENTRY(answer){
|
|
|
3210
3213
|
#define LABEL_IS_SC(lab) LABEL_##lab##_##t
|
|
3211
3214
|
COLLECT_USAGE_INSN(BIN(answer));
|
|
3212
3215
|
{
|
|
3213
|
-
#line
|
|
3216
|
+
#line 2182 "insns.def"
|
|
3214
3217
|
ret = INT2FIX(42);
|
|
3215
3218
|
|
|
3216
|
-
#line
|
|
3219
|
+
#line 3220 "vm.inc"
|
|
3217
3220
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
3218
3221
|
PUSH(ret);
|
|
3219
3222
|
#undef CURRENT_INSN_answer
|
|
@@ -3247,7 +3250,7 @@ INSN_ENTRY(getlocal_OP__WC__0){
|
|
|
3247
3250
|
}
|
|
3248
3251
|
val = *(ep - idx);
|
|
3249
3252
|
|
|
3250
|
-
#line
|
|
3253
|
+
#line 3254 "vm.inc"
|
|
3251
3254
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
3252
3255
|
PUSH(val);
|
|
3253
3256
|
#undef level
|
|
@@ -3282,7 +3285,7 @@ INSN_ENTRY(getlocal_OP__WC__1){
|
|
|
3282
3285
|
}
|
|
3283
3286
|
val = *(ep - idx);
|
|
3284
3287
|
|
|
3285
|
-
#line
|
|
3288
|
+
#line 3289 "vm.inc"
|
|
3286
3289
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
3287
3290
|
PUSH(val);
|
|
3288
3291
|
#undef level
|
|
@@ -3317,7 +3320,7 @@ INSN_ENTRY(setlocal_OP__WC__0){
|
|
|
3317
3320
|
}
|
|
3318
3321
|
vm_env_write(ep, -(int)idx, val);
|
|
3319
3322
|
|
|
3320
|
-
#line
|
|
3323
|
+
#line 3324 "vm.inc"
|
|
3321
3324
|
#undef level
|
|
3322
3325
|
#undef CURRENT_INSN_setlocal_OP__WC__0
|
|
3323
3326
|
#undef INSN_IS_SC
|
|
@@ -3350,7 +3353,7 @@ INSN_ENTRY(setlocal_OP__WC__1){
|
|
|
3350
3353
|
}
|
|
3351
3354
|
vm_env_write(ep, -(int)idx, val);
|
|
3352
3355
|
|
|
3353
|
-
#line
|
|
3356
|
+
#line 3357 "vm.inc"
|
|
3354
3357
|
#undef level
|
|
3355
3358
|
#undef CURRENT_INSN_setlocal_OP__WC__1
|
|
3356
3359
|
#undef INSN_IS_SC
|
|
@@ -3374,7 +3377,7 @@ INSN_ENTRY(putobject_OP_INT2FIX_O_0_C_){
|
|
|
3374
3377
|
#line 299 "insns.def"
|
|
3375
3378
|
/* */
|
|
3376
3379
|
|
|
3377
|
-
#line
|
|
3380
|
+
#line 3381 "vm.inc"
|
|
3378
3381
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
3379
3382
|
PUSH(val);
|
|
3380
3383
|
#undef val
|
|
@@ -3400,7 +3403,7 @@ INSN_ENTRY(putobject_OP_INT2FIX_O_1_C_){
|
|
|
3400
3403
|
#line 299 "insns.def"
|
|
3401
3404
|
/* */
|
|
3402
3405
|
|
|
3403
|
-
#line
|
|
3406
|
+
#line 3407 "vm.inc"
|
|
3404
3407
|
CHECK_VM_STACK_OVERFLOW_FOR_INSN(REG_CFP, 1);
|
|
3405
3408
|
PUSH(val);
|
|
3406
3409
|
#undef val
|
data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/vm_call_iseq_optimized.inc
RENAMED
|
File without changes
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
vm_core.h -
|
|
4
4
|
|
|
5
|
-
$Author:
|
|
5
|
+
$Author: nagachika $
|
|
6
6
|
created at: 04/01/01 19:41:38 JST
|
|
7
7
|
|
|
8
8
|
Copyright (C) 2004-2007 Koichi Sasada
|
|
@@ -427,7 +427,7 @@ enum ruby_special_exceptions {
|
|
|
427
427
|
ruby_error_reenter,
|
|
428
428
|
ruby_error_nomemory,
|
|
429
429
|
ruby_error_sysstack,
|
|
430
|
-
|
|
430
|
+
ruby_error_stream_closed,
|
|
431
431
|
ruby_special_error_count
|
|
432
432
|
};
|
|
433
433
|
|
|
@@ -490,6 +490,7 @@ typedef struct rb_vm_struct {
|
|
|
490
490
|
struct rb_thread_struct *main_thread;
|
|
491
491
|
struct rb_thread_struct *running_thread;
|
|
492
492
|
|
|
493
|
+
struct list_head waiting_fds; /* <=> struct waiting_fd */
|
|
493
494
|
struct list_head living_threads;
|
|
494
495
|
size_t living_thread_num;
|
|
495
496
|
VALUE thgroup_default;
|
|
@@ -497,7 +498,7 @@ typedef struct rb_vm_struct {
|
|
|
497
498
|
unsigned int running: 1;
|
|
498
499
|
unsigned int thread_abort_on_exception: 1;
|
|
499
500
|
unsigned int thread_report_on_exception: 1;
|
|
500
|
-
|
|
501
|
+
int trace_running;
|
|
501
502
|
volatile int sleeper;
|
|
502
503
|
|
|
503
504
|
/* object management */
|
|
@@ -712,8 +713,6 @@ typedef struct rb_thread_struct {
|
|
|
712
713
|
/* passing state */
|
|
713
714
|
int state;
|
|
714
715
|
|
|
715
|
-
int waiting_fd;
|
|
716
|
-
|
|
717
716
|
/* for rb_iterate */
|
|
718
717
|
VALUE passed_block_handler;
|
|
719
718
|
|
|
@@ -1166,6 +1165,8 @@ VM_STACK_ENV_WRITE(const VALUE *ep, int index, VALUE v)
|
|
|
1166
1165
|
}
|
|
1167
1166
|
|
|
1168
1167
|
const VALUE *rb_vm_ep_local_ep(const VALUE *ep);
|
|
1168
|
+
const VALUE *rb_vm_proc_local_ep(VALUE proc);
|
|
1169
|
+
|
|
1169
1170
|
VALUE rb_vm_frame_block_handler(const rb_control_frame_t *cfp);
|
|
1170
1171
|
|
|
1171
1172
|
#define RUBY_VM_PREVIOUS_CONTROL_FRAME(cfp) ((cfp)+1)
|
|
@@ -1407,7 +1408,7 @@ VALUE rb_binding_alloc(VALUE klass);
|
|
|
1407
1408
|
|
|
1408
1409
|
/* for debug */
|
|
1409
1410
|
extern void rb_vmdebug_stack_dump_raw(rb_thread_t *, rb_control_frame_t *);
|
|
1410
|
-
extern void rb_vmdebug_debug_print_pre(rb_thread_t *th, rb_control_frame_t *cfp, VALUE *_pc);
|
|
1411
|
+
extern void rb_vmdebug_debug_print_pre(rb_thread_t *th, rb_control_frame_t *cfp, const VALUE *_pc);
|
|
1411
1412
|
extern void rb_vmdebug_debug_print_post(rb_thread_t *th, rb_control_frame_t *cfp);
|
|
1412
1413
|
|
|
1413
1414
|
#define SDR() rb_vmdebug_stack_dump_raw(GET_THREAD(), GET_THREAD()->cfp)
|
|
@@ -1443,6 +1444,7 @@ void rb_thread_wakeup_timer_thread(void);
|
|
|
1443
1444
|
static inline void
|
|
1444
1445
|
rb_vm_living_threads_init(rb_vm_t *vm)
|
|
1445
1446
|
{
|
|
1447
|
+
list_head_init(&vm->waiting_fds);
|
|
1446
1448
|
list_head_init(&vm->living_threads);
|
|
1447
1449
|
vm->living_thread_num = 0;
|
|
1448
1450
|
}
|
|
@@ -1562,7 +1564,7 @@ void rb_threadptr_unlock_all_locking_mutexes(rb_thread_t *th);
|
|
|
1562
1564
|
void rb_threadptr_pending_interrupt_clear(rb_thread_t *th);
|
|
1563
1565
|
void rb_threadptr_pending_interrupt_enque(rb_thread_t *th, VALUE v);
|
|
1564
1566
|
int rb_threadptr_pending_interrupt_active_p(rb_thread_t *th);
|
|
1565
|
-
void rb_threadptr_error_print(rb_thread_t *th, VALUE errinfo);
|
|
1567
|
+
void rb_threadptr_error_print(rb_thread_t *volatile th, volatile VALUE errinfo);
|
|
1566
1568
|
|
|
1567
1569
|
#define RUBY_VM_CHECK_INTS(th) ruby_vm_check_ints(th)
|
|
1568
1570
|
static inline void
|