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
|
@@ -57,10 +57,7 @@ rb_gc_debug_body(const char *mode, const char *msg, int st, void *ptr)
|
|
|
57
57
|
#define RUBY_GC_INFO if(0)printf
|
|
58
58
|
#endif
|
|
59
59
|
|
|
60
|
-
#define RUBY_MARK_UNLESS_NULL(ptr)
|
|
61
|
-
VALUE markobj = (ptr); \
|
|
62
|
-
if (RTEST(markobj)) {rb_gc_mark(markobj);} \
|
|
63
|
-
} while (0)
|
|
60
|
+
#define RUBY_MARK_UNLESS_NULL(ptr) if(RTEST(ptr)){rb_gc_mark(ptr);}
|
|
64
61
|
#define RUBY_FREE_UNLESS_NULL(ptr) if(ptr){ruby_xfree(ptr);(ptr)=NULL;}
|
|
65
62
|
|
|
66
63
|
#if STACK_GROW_DIRECTION > 0
|
|
@@ -86,10 +83,6 @@ int ruby_get_stack_grow_direction(volatile VALUE *addr);
|
|
|
86
83
|
#endif
|
|
87
84
|
#define IS_STACK_DIR_UPPER() STACK_DIR_UPPER(1,0)
|
|
88
85
|
|
|
89
|
-
const char *rb_obj_info(VALUE obj);
|
|
90
|
-
const char *rb_raw_obj_info(char *buff, const int buff_size, VALUE obj);
|
|
91
|
-
void rb_obj_info_dump(VALUE obj);
|
|
92
|
-
|
|
93
86
|
RUBY_SYMBOL_EXPORT_BEGIN
|
|
94
87
|
|
|
95
88
|
/* exports for objspace module */
|
|
@@ -39,6 +39,8 @@ enum ruby_id_types {
|
|
|
39
39
|
#define ID_JUNK RUBY_ID_JUNK
|
|
40
40
|
#define ID_INTERNAL RUBY_ID_INTERNAL
|
|
41
41
|
|
|
42
|
+
#define ID2ATTRSET(id) (((id)&~ID_SCOPE_MASK)|ID_ATTRSET)
|
|
43
|
+
|
|
42
44
|
#define symIFUNC ID2SYM(idIFUNC)
|
|
43
45
|
#define symCFUNC ID2SYM(idCFUNC)
|
|
44
46
|
|
|
@@ -64,7 +66,6 @@ enum ruby_id_types {
|
|
|
64
66
|
#define RUBY_TOKEN_COLON3 147
|
|
65
67
|
#define RUBY_TOKEN_ANDOP 148
|
|
66
68
|
#define RUBY_TOKEN_OROP 149
|
|
67
|
-
#define RUBY_TOKEN_ANDDOT 150
|
|
68
69
|
#define RUBY_TOKEN(t) RUBY_TOKEN_##t
|
|
69
70
|
|
|
70
71
|
enum ruby_method_ids {
|
|
@@ -79,11 +80,11 @@ enum ruby_method_ids {
|
|
|
79
80
|
idMULT = '*',
|
|
80
81
|
idDIV = '/',
|
|
81
82
|
idMOD = '%',
|
|
82
|
-
idLTLT = RUBY_TOKEN(LSHFT),
|
|
83
|
-
idGTGT = RUBY_TOKEN(RSHFT),
|
|
84
83
|
idLT = '<',
|
|
84
|
+
idLTLT = RUBY_TOKEN(LSHFT),
|
|
85
85
|
idLE = RUBY_TOKEN(LEQ),
|
|
86
86
|
idGT = '>',
|
|
87
|
+
idGTGT = RUBY_TOKEN(RSHFT),
|
|
87
88
|
idGE = RUBY_TOKEN(GEQ),
|
|
88
89
|
idEq = RUBY_TOKEN(EQ),
|
|
89
90
|
idEqq = RUBY_TOKEN(EQQ),
|
|
@@ -97,8 +98,7 @@ enum ruby_method_ids {
|
|
|
97
98
|
idCOLON2 = RUBY_TOKEN(COLON2),
|
|
98
99
|
idANDOP = RUBY_TOKEN(ANDOP),
|
|
99
100
|
idOROP = RUBY_TOKEN(OROP),
|
|
100
|
-
|
|
101
|
-
tPRESERVED_ID_BEGIN = 150,
|
|
101
|
+
tPRESERVED_ID_BEGIN = 149,
|
|
102
102
|
idNULL,
|
|
103
103
|
idEmptyP,
|
|
104
104
|
idEqlP,
|
|
@@ -116,10 +116,7 @@ enum ruby_method_ids {
|
|
|
116
116
|
id_core_hash_merge_ary,
|
|
117
117
|
id_core_hash_merge_ptr,
|
|
118
118
|
id_core_hash_merge_kwd,
|
|
119
|
-
id_debug_created_info,
|
|
120
119
|
tPRESERVED_ID_END,
|
|
121
|
-
tMax,
|
|
122
|
-
tMin,
|
|
123
120
|
tFreeze,
|
|
124
121
|
tInspect,
|
|
125
122
|
tIntern,
|
|
@@ -162,12 +159,8 @@ enum ruby_method_ids {
|
|
|
162
159
|
tMesg,
|
|
163
160
|
tException,
|
|
164
161
|
tUScore,
|
|
165
|
-
tLASTLINE,
|
|
166
|
-
tBACKREF,
|
|
167
162
|
tNEXT_ID,
|
|
168
163
|
#define TOKEN2LOCALID(n) id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_LOCAL|ID_STATIC_SYM)
|
|
169
|
-
TOKEN2LOCALID(Max),
|
|
170
|
-
TOKEN2LOCALID(Min),
|
|
171
164
|
TOKEN2LOCALID(Freeze),
|
|
172
165
|
TOKEN2LOCALID(Inspect),
|
|
173
166
|
TOKEN2LOCALID(Intern),
|
|
@@ -210,9 +203,6 @@ enum ruby_method_ids {
|
|
|
210
203
|
TOKEN2LOCALID(Mesg),
|
|
211
204
|
TOKEN2LOCALID(Exception),
|
|
212
205
|
TOKEN2LOCALID(UScore),
|
|
213
|
-
#define TOKEN2GLOBALID(n) id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_GLOBAL|ID_STATIC_SYM)
|
|
214
|
-
TOKEN2GLOBALID(LASTLINE),
|
|
215
|
-
TOKEN2GLOBALID(BACKREF),
|
|
216
206
|
tLAST_OP_ID = tPRESERVED_ID_END-1,
|
|
217
207
|
idLAST_OP_ID = tLAST_OP_ID >> ID_SCOPE_SHIFT
|
|
218
208
|
};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/** -*-c-*-
|
|
2
|
+
This file contains YARV instructions list.
|
|
3
|
+
|
|
4
|
+
----
|
|
5
|
+
This file is auto generated by insns2vm.rb
|
|
6
|
+
DO NOT TOUCH!
|
|
7
|
+
|
|
8
|
+
If you want to fix something, you must edit 'template/insns.inc.tmpl'
|
|
9
|
+
or tool/insns2vm.rb
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
/* BIN : Basic Instruction Name */
|
|
14
|
+
#define BIN(n) YARVINSN_##n
|
|
15
|
+
|
|
16
|
+
enum ruby_vminsn_type {
|
|
17
|
+
BIN(nop) = 0,
|
|
18
|
+
BIN(getlocal) = 1,
|
|
19
|
+
BIN(setlocal) = 2,
|
|
20
|
+
BIN(getspecial) = 3,
|
|
21
|
+
BIN(setspecial) = 4,
|
|
22
|
+
BIN(getinstancevariable) = 5,
|
|
23
|
+
BIN(setinstancevariable) = 6,
|
|
24
|
+
BIN(getclassvariable) = 7,
|
|
25
|
+
BIN(setclassvariable) = 8,
|
|
26
|
+
BIN(getconstant) = 9,
|
|
27
|
+
BIN(setconstant) = 10,
|
|
28
|
+
BIN(getglobal) = 11,
|
|
29
|
+
BIN(setglobal) = 12,
|
|
30
|
+
BIN(putnil) = 13,
|
|
31
|
+
BIN(putself) = 14,
|
|
32
|
+
BIN(putobject) = 15,
|
|
33
|
+
BIN(putspecialobject) = 16,
|
|
34
|
+
BIN(putiseq) = 17,
|
|
35
|
+
BIN(putstring) = 18,
|
|
36
|
+
BIN(concatstrings) = 19,
|
|
37
|
+
BIN(tostring) = 20,
|
|
38
|
+
BIN(toregexp) = 21,
|
|
39
|
+
BIN(newarray) = 22,
|
|
40
|
+
BIN(duparray) = 23,
|
|
41
|
+
BIN(expandarray) = 24,
|
|
42
|
+
BIN(concatarray) = 25,
|
|
43
|
+
BIN(splatarray) = 26,
|
|
44
|
+
BIN(newhash) = 27,
|
|
45
|
+
BIN(newrange) = 28,
|
|
46
|
+
BIN(pop) = 29,
|
|
47
|
+
BIN(dup) = 30,
|
|
48
|
+
BIN(dupn) = 31,
|
|
49
|
+
BIN(swap) = 32,
|
|
50
|
+
BIN(reput) = 33,
|
|
51
|
+
BIN(topn) = 34,
|
|
52
|
+
BIN(setn) = 35,
|
|
53
|
+
BIN(adjuststack) = 36,
|
|
54
|
+
BIN(defined) = 37,
|
|
55
|
+
BIN(checkmatch) = 38,
|
|
56
|
+
BIN(checkkeyword) = 39,
|
|
57
|
+
BIN(trace) = 40,
|
|
58
|
+
BIN(defineclass) = 41,
|
|
59
|
+
BIN(send) = 42,
|
|
60
|
+
BIN(opt_str_freeze) = 43,
|
|
61
|
+
BIN(opt_send_without_block) = 44,
|
|
62
|
+
BIN(invokesuper) = 45,
|
|
63
|
+
BIN(invokeblock) = 46,
|
|
64
|
+
BIN(leave) = 47,
|
|
65
|
+
BIN(throw) = 48,
|
|
66
|
+
BIN(jump) = 49,
|
|
67
|
+
BIN(branchif) = 50,
|
|
68
|
+
BIN(branchunless) = 51,
|
|
69
|
+
BIN(getinlinecache) = 52,
|
|
70
|
+
BIN(setinlinecache) = 53,
|
|
71
|
+
BIN(once) = 54,
|
|
72
|
+
BIN(opt_case_dispatch) = 55,
|
|
73
|
+
BIN(opt_plus) = 56,
|
|
74
|
+
BIN(opt_minus) = 57,
|
|
75
|
+
BIN(opt_mult) = 58,
|
|
76
|
+
BIN(opt_div) = 59,
|
|
77
|
+
BIN(opt_mod) = 60,
|
|
78
|
+
BIN(opt_eq) = 61,
|
|
79
|
+
BIN(opt_neq) = 62,
|
|
80
|
+
BIN(opt_lt) = 63,
|
|
81
|
+
BIN(opt_le) = 64,
|
|
82
|
+
BIN(opt_gt) = 65,
|
|
83
|
+
BIN(opt_ge) = 66,
|
|
84
|
+
BIN(opt_ltlt) = 67,
|
|
85
|
+
BIN(opt_aref) = 68,
|
|
86
|
+
BIN(opt_aset) = 69,
|
|
87
|
+
BIN(opt_aset_with) = 70,
|
|
88
|
+
BIN(opt_aref_with) = 71,
|
|
89
|
+
BIN(opt_length) = 72,
|
|
90
|
+
BIN(opt_size) = 73,
|
|
91
|
+
BIN(opt_empty_p) = 74,
|
|
92
|
+
BIN(opt_succ) = 75,
|
|
93
|
+
BIN(opt_not) = 76,
|
|
94
|
+
BIN(opt_regexpmatch1) = 77,
|
|
95
|
+
BIN(opt_regexpmatch2) = 78,
|
|
96
|
+
BIN(opt_call_c_function) = 79,
|
|
97
|
+
BIN(bitblt) = 80,
|
|
98
|
+
BIN(answer) = 81,
|
|
99
|
+
BIN(getlocal_OP__WC__0) = 82,
|
|
100
|
+
BIN(getlocal_OP__WC__1) = 83,
|
|
101
|
+
BIN(setlocal_OP__WC__0) = 84,
|
|
102
|
+
BIN(setlocal_OP__WC__1) = 85,
|
|
103
|
+
BIN(putobject_OP_INT2FIX_O_0_C_) = 86,
|
|
104
|
+
BIN(putobject_OP_INT2FIX_O_1_C_) = 87,
|
|
105
|
+
VM_INSTRUCTION_SIZE = 88
|
|
106
|
+
};
|
|
107
|
+
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
#define TS_GENTRY 'G'
|
|
18
18
|
#define TS_IC 'K'
|
|
19
19
|
#define TS_CALLINFO 'C'
|
|
20
|
-
#define TS_CALLCACHE 'E'
|
|
21
20
|
#define TS_CDHASH 'H'
|
|
22
21
|
#define TS_ISEQ 'S'
|
|
23
22
|
#define TS_VARIABLE '.'
|
|
@@ -45,7 +44,6 @@ static const char *const insn_name_info[] = {
|
|
|
45
44
|
"putstring",
|
|
46
45
|
"concatstrings",
|
|
47
46
|
"tostring",
|
|
48
|
-
"freezestring",
|
|
49
47
|
"toregexp",
|
|
50
48
|
"newarray",
|
|
51
49
|
"duparray",
|
|
@@ -58,7 +56,6 @@ static const char *const insn_name_info[] = {
|
|
|
58
56
|
"dup",
|
|
59
57
|
"dupn",
|
|
60
58
|
"swap",
|
|
61
|
-
"reverse",
|
|
62
59
|
"reput",
|
|
63
60
|
"topn",
|
|
64
61
|
"setn",
|
|
@@ -70,8 +67,6 @@ static const char *const insn_name_info[] = {
|
|
|
70
67
|
"defineclass",
|
|
71
68
|
"send",
|
|
72
69
|
"opt_str_freeze",
|
|
73
|
-
"opt_newarray_max",
|
|
74
|
-
"opt_newarray_min",
|
|
75
70
|
"opt_send_without_block",
|
|
76
71
|
"invokesuper",
|
|
77
72
|
"invokeblock",
|
|
@@ -80,7 +75,6 @@ static const char *const insn_name_info[] = {
|
|
|
80
75
|
"jump",
|
|
81
76
|
"branchif",
|
|
82
77
|
"branchunless",
|
|
83
|
-
"branchnil",
|
|
84
78
|
"getinlinecache",
|
|
85
79
|
"setinlinecache",
|
|
86
80
|
"once",
|
|
@@ -142,7 +136,6 @@ static const char *const insn_operand_info[] = {
|
|
|
142
136
|
"V",
|
|
143
137
|
"N",
|
|
144
138
|
"",
|
|
145
|
-
"V",
|
|
146
139
|
"NN",
|
|
147
140
|
"N",
|
|
148
141
|
"V",
|
|
@@ -155,7 +148,6 @@ static const char *const insn_operand_info[] = {
|
|
|
155
148
|
"",
|
|
156
149
|
"N",
|
|
157
150
|
"",
|
|
158
|
-
"N",
|
|
159
151
|
"",
|
|
160
152
|
"N",
|
|
161
153
|
"N",
|
|
@@ -165,46 +157,43 @@ static const char *const insn_operand_info[] = {
|
|
|
165
157
|
"LN",
|
|
166
158
|
"N",
|
|
167
159
|
"ISN",
|
|
168
|
-
"
|
|
160
|
+
"C",
|
|
169
161
|
"V",
|
|
170
|
-
"
|
|
171
|
-
"
|
|
172
|
-
"CE",
|
|
173
|
-
"CES",
|
|
162
|
+
"C",
|
|
163
|
+
"C",
|
|
174
164
|
"C",
|
|
175
165
|
"",
|
|
176
166
|
"N",
|
|
177
167
|
"O",
|
|
178
168
|
"O",
|
|
179
169
|
"O",
|
|
180
|
-
"O",
|
|
181
170
|
"OK",
|
|
182
171
|
"K",
|
|
183
172
|
"SK",
|
|
184
173
|
"HO",
|
|
185
|
-
"
|
|
186
|
-
"
|
|
187
|
-
"
|
|
188
|
-
"
|
|
189
|
-
"
|
|
190
|
-
"
|
|
191
|
-
"
|
|
192
|
-
"
|
|
193
|
-
"
|
|
194
|
-
"
|
|
195
|
-
"
|
|
196
|
-
"
|
|
197
|
-
"
|
|
198
|
-
"
|
|
199
|
-
"
|
|
200
|
-
"
|
|
201
|
-
"
|
|
202
|
-
"
|
|
203
|
-
"
|
|
204
|
-
"
|
|
205
|
-
"
|
|
174
|
+
"C",
|
|
175
|
+
"C",
|
|
176
|
+
"C",
|
|
177
|
+
"C",
|
|
178
|
+
"C",
|
|
179
|
+
"C",
|
|
180
|
+
"CC",
|
|
181
|
+
"C",
|
|
182
|
+
"C",
|
|
183
|
+
"C",
|
|
184
|
+
"C",
|
|
185
|
+
"C",
|
|
186
|
+
"C",
|
|
187
|
+
"C",
|
|
188
|
+
"CV",
|
|
189
|
+
"CV",
|
|
190
|
+
"C",
|
|
191
|
+
"C",
|
|
192
|
+
"C",
|
|
193
|
+
"C",
|
|
194
|
+
"C",
|
|
206
195
|
"V",
|
|
207
|
-
"
|
|
196
|
+
"C",
|
|
208
197
|
"F",
|
|
209
198
|
"",
|
|
210
199
|
"",
|
|
@@ -239,7 +228,6 @@ static const int insn_len_info[] = {
|
|
|
239
228
|
2,
|
|
240
229
|
2,
|
|
241
230
|
1,
|
|
242
|
-
2,
|
|
243
231
|
3,
|
|
244
232
|
2,
|
|
245
233
|
2,
|
|
@@ -252,7 +240,6 @@ static const int insn_len_info[] = {
|
|
|
252
240
|
1,
|
|
253
241
|
2,
|
|
254
242
|
1,
|
|
255
|
-
2,
|
|
256
243
|
1,
|
|
257
244
|
2,
|
|
258
245
|
2,
|
|
@@ -262,15 +249,12 @@ static const int insn_len_info[] = {
|
|
|
262
249
|
3,
|
|
263
250
|
2,
|
|
264
251
|
4,
|
|
265
|
-
4,
|
|
266
252
|
2,
|
|
267
253
|
2,
|
|
268
254
|
2,
|
|
269
|
-
3,
|
|
270
|
-
4,
|
|
271
255
|
2,
|
|
272
|
-
1,
|
|
273
256
|
2,
|
|
257
|
+
1,
|
|
274
258
|
2,
|
|
275
259
|
2,
|
|
276
260
|
2,
|
|
@@ -279,29 +263,29 @@ static const int insn_len_info[] = {
|
|
|
279
263
|
2,
|
|
280
264
|
3,
|
|
281
265
|
3,
|
|
266
|
+
2,
|
|
267
|
+
2,
|
|
268
|
+
2,
|
|
269
|
+
2,
|
|
270
|
+
2,
|
|
271
|
+
2,
|
|
282
272
|
3,
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
3,
|
|
291
|
-
3,
|
|
292
|
-
3,
|
|
293
|
-
3,
|
|
294
|
-
3,
|
|
295
|
-
3,
|
|
296
|
-
4,
|
|
297
|
-
4,
|
|
298
|
-
3,
|
|
299
|
-
3,
|
|
300
|
-
3,
|
|
273
|
+
2,
|
|
274
|
+
2,
|
|
275
|
+
2,
|
|
276
|
+
2,
|
|
277
|
+
2,
|
|
278
|
+
2,
|
|
279
|
+
2,
|
|
301
280
|
3,
|
|
302
281
|
3,
|
|
303
282
|
2,
|
|
304
|
-
|
|
283
|
+
2,
|
|
284
|
+
2,
|
|
285
|
+
2,
|
|
286
|
+
2,
|
|
287
|
+
2,
|
|
288
|
+
2,
|
|
305
289
|
2,
|
|
306
290
|
1,
|
|
307
291
|
1,
|
|
@@ -345,7 +329,6 @@ static const int insn_stack_push_num_info[] = {
|
|
|
345
329
|
1,
|
|
346
330
|
1,
|
|
347
331
|
1,
|
|
348
|
-
1,
|
|
349
332
|
0,
|
|
350
333
|
2,
|
|
351
334
|
1,
|
|
@@ -357,7 +340,6 @@ static const int insn_stack_push_num_info[] = {
|
|
|
357
340
|
1,
|
|
358
341
|
1,
|
|
359
342
|
1,
|
|
360
|
-
1,
|
|
361
343
|
0,
|
|
362
344
|
1,
|
|
363
345
|
1,
|
|
@@ -367,9 +349,6 @@ static const int insn_stack_push_num_info[] = {
|
|
|
367
349
|
1,
|
|
368
350
|
1,
|
|
369
351
|
1,
|
|
370
|
-
1,
|
|
371
|
-
1,
|
|
372
|
-
0,
|
|
373
352
|
0,
|
|
374
353
|
0,
|
|
375
354
|
0,
|
|
@@ -484,9 +463,6 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
|
484
463
|
case BIN(tostring):{
|
|
485
464
|
return depth + 0;
|
|
486
465
|
}
|
|
487
|
-
case BIN(freezestring):{
|
|
488
|
-
return depth + 0;
|
|
489
|
-
}
|
|
490
466
|
case BIN(toregexp):{
|
|
491
467
|
int inc = 0;
|
|
492
468
|
int cnt = FIX2INT(opes[1]);
|
|
@@ -539,11 +515,6 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
|
539
515
|
case BIN(swap):{
|
|
540
516
|
return depth + 0;
|
|
541
517
|
}
|
|
542
|
-
case BIN(reverse):{
|
|
543
|
-
int inc = 0;
|
|
544
|
-
inc += 0;;
|
|
545
|
-
return depth + inc;
|
|
546
|
-
}
|
|
547
518
|
case BIN(reput):{
|
|
548
519
|
int inc = 0;
|
|
549
520
|
inc += 0;;
|
|
@@ -589,18 +560,6 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
|
589
560
|
case BIN(opt_str_freeze):{
|
|
590
561
|
return depth + 1;
|
|
591
562
|
}
|
|
592
|
-
case BIN(opt_newarray_max):{
|
|
593
|
-
int inc = 0;
|
|
594
|
-
int num = FIX2INT(opes[0]);
|
|
595
|
-
inc += 1 - num;;
|
|
596
|
-
return depth + inc;
|
|
597
|
-
}
|
|
598
|
-
case BIN(opt_newarray_min):{
|
|
599
|
-
int inc = 0;
|
|
600
|
-
int num = FIX2INT(opes[0]);
|
|
601
|
-
inc += 1 - num;;
|
|
602
|
-
return depth + inc;
|
|
603
|
-
}
|
|
604
563
|
case BIN(opt_send_without_block):{
|
|
605
564
|
int inc = 0;
|
|
606
565
|
CALL_INFO ci = (CALL_INFO)(opes[0]);
|
|
@@ -634,9 +593,6 @@ insn_stack_increase(int depth, int insn, VALUE *opes)
|
|
|
634
593
|
case BIN(branchunless):{
|
|
635
594
|
return depth + -1;
|
|
636
595
|
}
|
|
637
|
-
case BIN(branchnil):{
|
|
638
|
-
return depth + -1;
|
|
639
|
-
}
|
|
640
596
|
case BIN(getinlinecache):{
|
|
641
597
|
return depth + 1;
|
|
642
598
|
}
|