debase-ruby_core_source 0.9.9 → 0.9.10
Sign up to get free protection for your applications and to get access to all the features.
- 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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 865a2c1b416c2d034724e9cbae49d0a01257c006
|
4
|
+
data.tar.gz: 11ef26d145574ee1cbe6eba1524326c82ae5bdae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d41e4e2f8de1aa50f382012791250b7f8fb688e7108ffaea20d6048822db0909f238ddccdba9a6986507d50659830cf3c6a05e7b683fadaaa77287a68f907129
|
7
|
+
data.tar.gz: 2feb4daceb484907e5cba5de1409dc1b5687fbc5d3488dc67a4daf41cc3a29cd8fc6cab4e8a38ef5f78d4bd4d36060c8162596a16683b03f8e54b74bb4d62425
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## [0.9.10](https::/github.com/os97673/debase-ruby_core_source/compare/v0.9.9...v0.9.10)
|
2
|
+
|
3
|
+
* ruby 2.4.0 previews deleted
|
4
|
+
* ruby 2.2.8 added
|
5
|
+
* ruby 2.3.5 added
|
6
|
+
* ruby 2.4.2 added
|
7
|
+
|
1
8
|
## [0.9.9](https::/github.com/os97673/debase-ruby_core_source/compare/v0.9.8...v0.9.9)
|
2
9
|
|
3
10
|
* ruby 2.3.4 added
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -42,8 +42,8 @@ struct list_head
|
|
42
42
|
};
|
43
43
|
|
44
44
|
#define LIST_LOC __FILE__ ":" stringify(__LINE__)
|
45
|
-
#define list_debug(h, loc) (
|
46
|
-
#define list_debug_node(n, loc) (
|
45
|
+
#define list_debug(h, loc) (h)
|
46
|
+
#define list_debug_node(n, loc) (n)
|
47
47
|
|
48
48
|
/**
|
49
49
|
* LIST_HEAD_INIT - initializer for an empty list_head
|
@@ -103,36 +103,6 @@ static inline void list_node_init(struct list_node *n)
|
|
103
103
|
n->next = n->prev = n;
|
104
104
|
}
|
105
105
|
|
106
|
-
/**
|
107
|
-
* list_add_after - add an entry after an existing node in a linked list
|
108
|
-
* @h: the list_head to add the node to (for debugging)
|
109
|
-
* @p: the existing list_node to add the node after
|
110
|
-
* @n: the new list_node to add to the list.
|
111
|
-
*
|
112
|
-
* The existing list_node must already be a member of the list.
|
113
|
-
* The new list_node does not need to be initialized; it will be overwritten.
|
114
|
-
*
|
115
|
-
* Example:
|
116
|
-
* struct child c1, c2, c3;
|
117
|
-
* LIST_HEAD(h);
|
118
|
-
*
|
119
|
-
* list_add_tail(&h, &c1.list);
|
120
|
-
* list_add_tail(&h, &c3.list);
|
121
|
-
* list_add_after(&h, &c1.list, &c2.list);
|
122
|
-
*/
|
123
|
-
#define list_add_after(h, p, n) list_add_after_(h, p, n, LIST_LOC)
|
124
|
-
static inline void list_add_after_(struct list_head *h,
|
125
|
-
struct list_node *p,
|
126
|
-
struct list_node *n,
|
127
|
-
const char *abortstr)
|
128
|
-
{
|
129
|
-
n->next = p->next;
|
130
|
-
n->prev = p;
|
131
|
-
p->next->prev = n;
|
132
|
-
p->next = n;
|
133
|
-
(void)list_debug(h, abortstr);
|
134
|
-
}
|
135
|
-
|
136
106
|
/**
|
137
107
|
* list_add - add an entry at the start of a linked list.
|
138
108
|
* @h: the list_head to add the node to
|
@@ -151,34 +121,10 @@ static inline void list_add_(struct list_head *h,
|
|
151
121
|
struct list_node *n,
|
152
122
|
const char *abortstr)
|
153
123
|
{
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
* list_add_before - add an entry before an existing node in a linked list
|
159
|
-
* @h: the list_head to add the node to (for debugging)
|
160
|
-
* @p: the existing list_node to add the node before
|
161
|
-
* @n: the new list_node to add to the list.
|
162
|
-
*
|
163
|
-
* The existing list_node must already be a member of the list.
|
164
|
-
* The new list_node does not need to be initialized; it will be overwritten.
|
165
|
-
*
|
166
|
-
* Example:
|
167
|
-
* list_head_init(&h);
|
168
|
-
* list_add_tail(&h, &c1.list);
|
169
|
-
* list_add_tail(&h, &c3.list);
|
170
|
-
* list_add_before(&h, &c3.list, &c2.list);
|
171
|
-
*/
|
172
|
-
#define list_add_before(h, p, n) list_add_before_(h, p, n, LIST_LOC)
|
173
|
-
static inline void list_add_before_(struct list_head *h,
|
174
|
-
struct list_node *p,
|
175
|
-
struct list_node *n,
|
176
|
-
const char *abortstr)
|
177
|
-
{
|
178
|
-
n->next = p;
|
179
|
-
n->prev = p->prev;
|
180
|
-
p->prev->next = n;
|
181
|
-
p->prev = n;
|
124
|
+
n->next = h->n.next;
|
125
|
+
n->prev = &h->n;
|
126
|
+
h->n.next->prev = n;
|
127
|
+
h->n.next = n;
|
182
128
|
(void)list_debug(h, abortstr);
|
183
129
|
}
|
184
130
|
|
@@ -197,7 +143,11 @@ static inline void list_add_tail_(struct list_head *h,
|
|
197
143
|
struct list_node *n,
|
198
144
|
const char *abortstr)
|
199
145
|
{
|
200
|
-
|
146
|
+
n->next = &h->n;
|
147
|
+
n->prev = h->n.prev;
|
148
|
+
h->n.prev->next = n;
|
149
|
+
h->n.prev = n;
|
150
|
+
(void)list_debug(h, abortstr);
|
201
151
|
}
|
202
152
|
|
203
153
|
/**
|
@@ -314,39 +264,6 @@ static inline void list_del_from(struct list_head *h, struct list_node *n)
|
|
314
264
|
list_del(n);
|
315
265
|
}
|
316
266
|
|
317
|
-
/**
|
318
|
-
* list_swap - swap out an entry from an (unknown) linked list for a new one.
|
319
|
-
* @o: the list_node to replace from the list.
|
320
|
-
* @n: the list_node to insert in place of the old one.
|
321
|
-
*
|
322
|
-
* Note that this leaves @o in an undefined state; it can be added to
|
323
|
-
* another list, but not deleted/swapped again.
|
324
|
-
*
|
325
|
-
* See also:
|
326
|
-
* list_del()
|
327
|
-
*
|
328
|
-
* Example:
|
329
|
-
* struct child x1, x2;
|
330
|
-
* LIST_HEAD(xh);
|
331
|
-
*
|
332
|
-
* list_add(&xh, &x1.list);
|
333
|
-
* list_swap(&x1.list, &x2.list);
|
334
|
-
*/
|
335
|
-
#define list_swap(o, n) list_swap_(o, n, LIST_LOC)
|
336
|
-
static inline void list_swap_(struct list_node *o,
|
337
|
-
struct list_node *n,
|
338
|
-
const char* abortstr)
|
339
|
-
{
|
340
|
-
(void)list_debug_node(o, abortstr);
|
341
|
-
*n = *o;
|
342
|
-
n->next->prev = n;
|
343
|
-
n->prev->next = n;
|
344
|
-
#ifdef CCAN_LIST_DEBUG
|
345
|
-
/* Catch use-after-del. */
|
346
|
-
o->next = o->prev = NULL;
|
347
|
-
#endif
|
348
|
-
}
|
349
|
-
|
350
267
|
/**
|
351
268
|
* list_entry - convert a list_node back into the structure containing it.
|
352
269
|
* @n: the list_node
|
@@ -468,29 +385,9 @@ static inline const void *list_tail_(const struct list_head *h, size_t off)
|
|
468
385
|
* printf("Name: %s\n", child->name);
|
469
386
|
*/
|
470
387
|
#define list_for_each_rev(h, i, member) \
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
* list_for_each_rev_safe - iterate through a list backwards,
|
475
|
-
* maybe during deletion
|
476
|
-
* @h: the list_head
|
477
|
-
* @i: the structure containing the list_node
|
478
|
-
* @nxt: the structure containing the list_node
|
479
|
-
* @member: the list_node member of the structure
|
480
|
-
*
|
481
|
-
* This is a convenient wrapper to iterate @i over the entire list backwards.
|
482
|
-
* It's a for loop, so you can break and continue as normal. The extra
|
483
|
-
* variable * @nxt is used to hold the next element, so you can delete @i
|
484
|
-
* from the list.
|
485
|
-
*
|
486
|
-
* Example:
|
487
|
-
* struct child *next;
|
488
|
-
* list_for_each_rev_safe(&parent->children, child, next, list) {
|
489
|
-
* printf("Name: %s\n", child->name);
|
490
|
-
* }
|
491
|
-
*/
|
492
|
-
#define list_for_each_rev_safe(h, i, nxt, member) \
|
493
|
-
list_for_each_rev_safe_off(h, i, nxt, list_off_var_(i, member))
|
388
|
+
for (i = container_of_var(list_debug(h, LIST_LOC)->n.prev, i, member); \
|
389
|
+
&i->member != &(h)->n; \
|
390
|
+
i = container_of_var(i->member.prev, i, member))
|
494
391
|
|
495
392
|
/**
|
496
393
|
* list_for_each_safe - iterate through a list, maybe during deletion
|
@@ -504,6 +401,7 @@ static inline const void *list_tail_(const struct list_head *h, size_t off)
|
|
504
401
|
* @nxt is used to hold the next element, so you can delete @i from the list.
|
505
402
|
*
|
506
403
|
* Example:
|
404
|
+
* struct child *next;
|
507
405
|
* list_for_each_safe(&parent->children, child, next, list) {
|
508
406
|
* list_del(&child->list);
|
509
407
|
* parent->num_children--;
|
@@ -618,24 +516,6 @@ static inline void list_prepend_list_(struct list_head *to,
|
|
618
516
|
list_head_init(from);
|
619
517
|
}
|
620
518
|
|
621
|
-
/* internal macros, do not use directly */
|
622
|
-
#define list_for_each_off_dir_(h, i, off, dir) \
|
623
|
-
for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.dir, \
|
624
|
-
(off)); \
|
625
|
-
list_node_from_off_((void *)i, (off)) != &(h)->n; \
|
626
|
-
i = list_node_to_off_(list_node_from_off_((void *)i, (off))->dir, \
|
627
|
-
(off)))
|
628
|
-
|
629
|
-
#define list_for_each_safe_off_dir_(h, i, nxt, off, dir) \
|
630
|
-
for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.dir, \
|
631
|
-
(off)), \
|
632
|
-
nxt = list_node_to_off_(list_node_from_off_(i, (off))->dir, \
|
633
|
-
(off)); \
|
634
|
-
list_node_from_off_(i, (off)) != &(h)->n; \
|
635
|
-
i = nxt, \
|
636
|
-
nxt = list_node_to_off_(list_node_from_off_(i, (off))->dir, \
|
637
|
-
(off)))
|
638
|
-
|
639
519
|
/**
|
640
520
|
* list_for_each_off - iterate through a list of memory regions.
|
641
521
|
* @h: the list_head
|
@@ -666,18 +546,11 @@ static inline void list_prepend_list_(struct list_head *to,
|
|
666
546
|
* printf("Name: %s\n", child->name);
|
667
547
|
*/
|
668
548
|
#define list_for_each_off(h, i, off) \
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
* @i: the pointer to a memory region wich contains list node data.
|
675
|
-
* @off: offset(relative to @i) at which list node data resides.
|
676
|
-
*
|
677
|
-
* See list_for_each_off for details
|
678
|
-
*/
|
679
|
-
#define list_for_each_rev_off(h, i, off) \
|
680
|
-
list_for_each_off_dir_((h),(i),(off),prev)
|
549
|
+
for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.next, \
|
550
|
+
(off)); \
|
551
|
+
list_node_from_off_((void *)i, (off)) != &(h)->n; \
|
552
|
+
i = list_node_to_off_(list_node_from_off_((void *)i, (off))->next, \
|
553
|
+
(off)))
|
681
554
|
|
682
555
|
/**
|
683
556
|
* list_for_each_safe_off - iterate through a list of memory regions, maybe
|
@@ -696,26 +569,15 @@ static inline void list_prepend_list_(struct list_head *to,
|
|
696
569
|
* printf("Name: %s\n", child->name);
|
697
570
|
*/
|
698
571
|
#define list_for_each_safe_off(h, i, nxt, off) \
|
699
|
-
|
572
|
+
for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.next, \
|
573
|
+
(off)), \
|
574
|
+
nxt = list_node_to_off_(list_node_from_off_(i, (off))->next, \
|
575
|
+
(off)); \
|
576
|
+
list_node_from_off_(i, (off)) != &(h)->n; \
|
577
|
+
i = nxt, \
|
578
|
+
nxt = list_node_to_off_(list_node_from_off_(i, (off))->next, \
|
579
|
+
(off)))
|
700
580
|
|
701
|
-
/**
|
702
|
-
* list_for_each_rev_safe_off - iterate backwards through a list of
|
703
|
-
* memory regions, maybe during deletion
|
704
|
-
* @h: the list_head
|
705
|
-
* @i: the pointer to a memory region wich contains list node data.
|
706
|
-
* @nxt: the structure containing the list_node
|
707
|
-
* @off: offset(relative to @i) at which list node data resides.
|
708
|
-
*
|
709
|
-
* For details see `list_for_each_rev_off' and `list_for_each_rev_safe'
|
710
|
-
* descriptions.
|
711
|
-
*
|
712
|
-
* Example:
|
713
|
-
* list_for_each_rev_safe_off(&parent->children, child,
|
714
|
-
* next, offsetof(struct child, list))
|
715
|
-
* printf("Name: %s\n", child->name);
|
716
|
-
*/
|
717
|
-
#define list_for_each_rev_safe_off(h, i, nxt, off) \
|
718
|
-
list_for_each_safe_off_dir_((h),(i),(nxt),(off),prev)
|
719
581
|
|
720
582
|
/* Other -off variants. */
|
721
583
|
#define list_entry_off(n, type, off) \
|
File without changes
|
@@ -12,21 +12,15 @@
|
|
12
12
|
#define CONSTANT_H
|
13
13
|
|
14
14
|
typedef enum {
|
15
|
-
CONST_DEPRECATED = 0x100,
|
16
|
-
|
17
|
-
CONST_VISIBILITY_MASK = 0xff,
|
18
15
|
CONST_PUBLIC = 0x00,
|
19
16
|
CONST_PRIVATE,
|
20
17
|
CONST_VISIBILITY_MAX
|
21
18
|
} rb_const_flag_t;
|
22
19
|
|
23
20
|
#define RB_CONST_PRIVATE_P(ce) \
|
24
|
-
((
|
21
|
+
((ce)->flag == CONST_PRIVATE)
|
25
22
|
#define RB_CONST_PUBLIC_P(ce) \
|
26
|
-
((
|
27
|
-
|
28
|
-
#define RB_CONST_DEPRECATED_P(ce) \
|
29
|
-
((ce)->flag & CONST_DEPRECATED)
|
23
|
+
((ce)->flag == CONST_PUBLIC)
|
30
24
|
|
31
25
|
typedef struct rb_const_entry_struct {
|
32
26
|
rb_const_flag_t flag;
|
@@ -37,8 +31,7 @@ typedef struct rb_const_entry_struct {
|
|
37
31
|
|
38
32
|
VALUE rb_mod_private_constant(int argc, const VALUE *argv, VALUE obj);
|
39
33
|
VALUE rb_mod_public_constant(int argc, const VALUE *argv, VALUE obj);
|
40
|
-
|
41
|
-
void rb_free_const_table(struct rb_id_table *tbl);
|
34
|
+
void rb_free_const_table(st_table *tbl);
|
42
35
|
VALUE rb_public_const_get(VALUE klass, ID id);
|
43
36
|
VALUE rb_public_const_get_at(VALUE klass, ID id);
|
44
37
|
VALUE rb_public_const_get_from(VALUE klass, ID id);
|
File without changes
|
@@ -4,24 +4,15 @@
|
|
4
4
|
#include "ruby/ruby.h"
|
5
5
|
#include "vm_core.h"
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
th->passed_block_handler = block_handler;
|
12
|
-
}
|
13
|
-
|
14
|
-
static inline void
|
15
|
-
pass_passed_block_handler(rb_thread_t *th)
|
16
|
-
{
|
17
|
-
VALUE block_handler = rb_vm_frame_block_handler(th->cfp);
|
18
|
-
VM_ASSERT(vm_block_handler_verify(block_handler));
|
19
|
-
vm_passed_block_handler_set(th, block_handler);
|
20
|
-
VM_ENV_FLAGS_SET(th->cfp->ep, VM_FRAME_FLAG_PASSED);
|
21
|
-
}
|
7
|
+
#define PASS_PASSED_BLOCK_TH(th) do { \
|
8
|
+
(th)->passed_block = rb_vm_control_frame_block_ptr(th->cfp); \
|
9
|
+
(th)->cfp->flag |= VM_FRAME_FLAG_PASSED; \
|
10
|
+
} while (0)
|
22
11
|
|
23
|
-
#define
|
24
|
-
|
12
|
+
#define PASS_PASSED_BLOCK() do { \
|
13
|
+
rb_thread_t * const __th__ = GET_THREAD(); \
|
14
|
+
PASS_PASSED_BLOCK_TH(__th__); \
|
15
|
+
} while (0)
|
25
16
|
|
26
17
|
#ifdef HAVE_STDLIB_H
|
27
18
|
#include <stdlib.h>
|
@@ -131,7 +122,7 @@ LONG WINAPI rb_w32_stack_overflow_handler(struct _EXCEPTION_POINTERS *);
|
|
131
122
|
#define TH_PUSH_TAG(th) do { \
|
132
123
|
rb_thread_t * const _th = (th); \
|
133
124
|
struct rb_vm_tag _tag; \
|
134
|
-
_tag.tag =
|
125
|
+
_tag.tag = Qundef; \
|
135
126
|
_tag.prev = _th->tag;
|
136
127
|
|
137
128
|
#define TH_POP_TAG() \
|
@@ -149,11 +140,9 @@ LONG WINAPI rb_w32_stack_overflow_handler(struct _EXCEPTION_POINTERS *);
|
|
149
140
|
#if defined __GNUC__ && __GNUC__ == 4 && (__GNUC_MINOR__ >= 6 && __GNUC_MINOR__ <= 8)
|
150
141
|
# define VAR_FROM_MEMORY(var) __extension__(*(__typeof__(var) volatile *)&(var))
|
151
142
|
# define VAR_INITIALIZED(var) ((var) = VAR_FROM_MEMORY(var))
|
152
|
-
# define VAR_NOCLOBBERED(var) volatile var
|
153
143
|
#else
|
154
144
|
# define VAR_FROM_MEMORY(var) (var)
|
155
145
|
# define VAR_INITIALIZED(var) ((void)&(var))
|
156
|
-
# define VAR_NOCLOBBERED(var) var
|
157
146
|
#endif
|
158
147
|
|
159
148
|
/* clear th->state, and return the value */
|
@@ -189,70 +178,41 @@ rb_threadptr_tag_jump(rb_thread_t *th, int st)
|
|
189
178
|
|
190
179
|
#define INTERNAL_EXCEPTION_P(exc) FIXNUM_P(exc)
|
191
180
|
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
static inline int
|
228
|
-
CREF_PUSHED_BY_EVAL(const rb_cref_t *cref)
|
229
|
-
{
|
230
|
-
return cref->flags & CREF_FL_PUSHED_BY_EVAL;
|
231
|
-
}
|
232
|
-
|
233
|
-
static inline void
|
234
|
-
CREF_PUSHED_BY_EVAL_SET(rb_cref_t *cref)
|
235
|
-
{
|
236
|
-
cref->flags |= CREF_FL_PUSHED_BY_EVAL;
|
237
|
-
}
|
238
|
-
|
239
|
-
static inline int
|
240
|
-
CREF_OMOD_SHARED(const rb_cref_t *cref)
|
241
|
-
{
|
242
|
-
return cref->flags & CREF_FL_OMOD_SHARED;
|
243
|
-
}
|
244
|
-
|
245
|
-
static inline void
|
246
|
-
CREF_OMOD_SHARED_SET(rb_cref_t *cref)
|
247
|
-
{
|
248
|
-
cref->flags |= CREF_FL_OMOD_SHARED;
|
249
|
-
}
|
250
|
-
|
251
|
-
static inline void
|
252
|
-
CREF_OMOD_SHARED_UNSET(rb_cref_t *cref)
|
253
|
-
{
|
254
|
-
cref->flags &= ~CREF_FL_OMOD_SHARED;
|
255
|
-
}
|
181
|
+
enum ruby_tag_type {
|
182
|
+
RUBY_TAG_RETURN = 0x1,
|
183
|
+
RUBY_TAG_BREAK = 0x2,
|
184
|
+
RUBY_TAG_NEXT = 0x3,
|
185
|
+
RUBY_TAG_RETRY = 0x4,
|
186
|
+
RUBY_TAG_REDO = 0x5,
|
187
|
+
RUBY_TAG_RAISE = 0x6,
|
188
|
+
RUBY_TAG_THROW = 0x7,
|
189
|
+
RUBY_TAG_FATAL = 0x8,
|
190
|
+
RUBY_TAG_MASK = 0xf
|
191
|
+
};
|
192
|
+
#define TAG_RETURN RUBY_TAG_RETURN
|
193
|
+
#define TAG_BREAK RUBY_TAG_BREAK
|
194
|
+
#define TAG_NEXT RUBY_TAG_NEXT
|
195
|
+
#define TAG_RETRY RUBY_TAG_RETRY
|
196
|
+
#define TAG_REDO RUBY_TAG_REDO
|
197
|
+
#define TAG_RAISE RUBY_TAG_RAISE
|
198
|
+
#define TAG_THROW RUBY_TAG_THROW
|
199
|
+
#define TAG_FATAL RUBY_TAG_FATAL
|
200
|
+
#define TAG_MASK RUBY_TAG_MASK
|
201
|
+
|
202
|
+
#define NEW_THROW_OBJECT(val, pt, st) \
|
203
|
+
((VALUE)rb_node_newnode(NODE_LIT, (VALUE)(val), (VALUE)(pt), (VALUE)(st)))
|
204
|
+
#define SET_THROWOBJ_CATCH_POINT(obj, val) \
|
205
|
+
(RNODE((obj))->u2.value = (val))
|
206
|
+
#define SET_THROWOBJ_STATE(obj, val) \
|
207
|
+
(RNODE((obj))->u3.value = (val))
|
208
|
+
|
209
|
+
#define GET_THROWOBJ_VAL(obj) ((VALUE)RNODE((obj))->u1.value)
|
210
|
+
#define GET_THROWOBJ_CATCH_POINT(obj) ((rb_control_frame_t*)RNODE((obj))->u2.value)
|
211
|
+
#define GET_THROWOBJ_STATE(obj) ((int)RNODE((obj))->u3.value)
|
212
|
+
|
213
|
+
#define SCOPE_TEST(f) (rb_vm_cref()->nd_visi & (f))
|
214
|
+
#define SCOPE_CHECK(f) (rb_vm_cref()->nd_visi == (f))
|
215
|
+
#define SCOPE_SET(f) (rb_vm_cref()->nd_visi = (f))
|
256
216
|
|
257
217
|
void rb_thread_cleanup(void);
|
258
218
|
void rb_thread_wait_other_threads(void);
|
@@ -276,20 +236,20 @@ NORETURN(void rb_method_name_error(VALUE, VALUE));
|
|
276
236
|
|
277
237
|
NORETURN(void rb_fiber_start(void));
|
278
238
|
|
279
|
-
NORETURN(void rb_print_undef(VALUE, ID,
|
239
|
+
NORETURN(void rb_print_undef(VALUE, ID, int));
|
280
240
|
NORETURN(void rb_print_undef_str(VALUE, VALUE));
|
281
|
-
NORETURN(void rb_print_inaccessible(VALUE, ID,
|
241
|
+
NORETURN(void rb_print_inaccessible(VALUE, ID, int));
|
282
242
|
NORETURN(void rb_vm_localjump_error(const char *,VALUE, int));
|
283
243
|
NORETURN(void rb_vm_jump_tag_but_local_jump(int));
|
284
244
|
NORETURN(void rb_raise_method_missing(rb_thread_t *th, int argc, const VALUE *argv,
|
285
245
|
VALUE obj, int call_status));
|
286
246
|
|
287
247
|
VALUE rb_vm_make_jump_tag_but_local_jump(int state, VALUE val);
|
288
|
-
|
289
|
-
|
290
|
-
VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, VALUE block_handler, VALUE filename);
|
248
|
+
NODE *rb_vm_cref(void);
|
249
|
+
VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, const rb_block_t *blockptr, VALUE filename);
|
291
250
|
void rb_vm_set_progname(VALUE filename);
|
292
251
|
void rb_thread_terminate_all(void);
|
252
|
+
VALUE rb_vm_top_self();
|
293
253
|
VALUE rb_vm_cbase(void);
|
294
254
|
|
295
255
|
#ifndef CharNext /* defined as CharNext[AW] on Windows. */
|