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.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/addr2line.h +0 -0
  4. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/build_assert/build_assert.h +0 -0
  5. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/check_type/check_type.h +0 -0
  6. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/container_of/container_of.h +0 -0
  7. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/ccan/list/list.h +28 -166
  8. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/str/str.h +0 -0
  9. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/constant.h +3 -10
  10. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/dln.h +0 -0
  11. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/eval_intern.h +49 -89
  12. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/gc.h +1 -8
  13. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/id.h +5 -15
  14. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/insns.inc +107 -0
  15. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/insns_info.inc +45 -89
  16. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/internal.h +164 -666
  17. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/iseq.h +158 -0
  18. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/known_errors.inc +0 -0
  19. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/method.h +144 -0
  20. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/node.h +42 -18
  21. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/node_name.inc +6 -2
  22. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/opt_sc.inc +0 -40
  23. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/optinsn.inc +0 -0
  24. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/optunifs.inc +0 -5
  25. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/parse.h +8 -28
  26. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/probes_helper.h +67 -0
  27. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/regenc.h +16 -16
  28. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/regint.h +10 -33
  29. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/regparse.h +1 -5
  30. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/revision.h +1 -0
  31. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/ruby_atomic.h +5 -68
  32. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/siphash.h +0 -0
  33. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/symbol.h +13 -33
  34. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/thread_pthread.h +2 -2
  35. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/thread_win32.h +0 -0
  36. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/timev.h +0 -0
  37. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/transcode_data.h +7 -23
  38. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/version.h +10 -31
  39. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/vm.inc +497 -542
  40. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/vm_core.h +305 -784
  41. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/vm_debug.h +0 -0
  42. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/vm_exec.h +0 -0
  43. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/vm_insnhelper.h +56 -50
  44. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/vm_opts.h +7 -8
  45. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/vmtc.inc +0 -5
  46. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/addr2line.h +0 -0
  47. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/build_assert/build_assert.h +0 -0
  48. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/check_type/check_type.h +0 -0
  49. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/container_of/container_of.h +0 -0
  50. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/ccan/list/list.h +0 -0
  51. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/str/str.h +0 -0
  52. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/constant.h +1 -1
  53. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/dln.h +0 -0
  54. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/encindex.h +0 -0
  55. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/eval_intern.h +3 -4
  56. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/gc.h +0 -0
  57. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/id.h +0 -9
  58. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/id_table.h +0 -0
  59. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/insns.inc +46 -48
  60. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/insns_info.inc +0 -20
  61. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/internal.h +58 -290
  62. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/iseq.h +15 -18
  63. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/known_errors.inc +0 -0
  64. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/method.h +2 -2
  65. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/node.h +2 -2
  66. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/node_name.inc +0 -0
  67. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/opt_sc.inc +0 -16
  68. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/optinsn.inc +0 -0
  69. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/optunifs.inc +0 -2
  70. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/parse.h +8 -27
  71. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/probes_helper.h +0 -0
  72. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/regenc.h +14 -14
  73. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/regint.h +0 -8
  74. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/regparse.h +0 -0
  75. data/lib/debase/ruby_core_source/ruby-2.3.5-p376/revision.h +1 -0
  76. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/ruby_atomic.h +0 -0
  77. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/siphash.h +0 -0
  78. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/symbol.h +3 -3
  79. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/thread_pthread.h +0 -0
  80. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/thread_win32.h +0 -0
  81. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/timev.h +0 -0
  82. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/transcode_data.h +0 -0
  83. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/version.h +9 -27
  84. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm.inc +255 -264
  85. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_call_iseq_optimized.inc +5 -5
  86. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_core.h +37 -28
  87. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/vm_debug.h +0 -0
  88. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/vm_exec.h +0 -0
  89. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_insnhelper.h +32 -16
  90. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_opts.h +0 -0
  91. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/vmtc.inc +0 -2
  92. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/addr2line.h +0 -0
  93. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/build_assert/build_assert.h +0 -0
  94. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/check_type/check_type.h +0 -0
  95. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/container_of/container_of.h +0 -0
  96. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/ccan/list/list.h +0 -0
  97. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/str/str.h +0 -0
  98. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/constant.h +0 -0
  99. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/dln.h +0 -0
  100. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/encindex.h +0 -0
  101. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/eval_intern.h +0 -0
  102. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/gc.h +0 -0
  103. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/id.h +0 -0
  104. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/id_table.h +0 -0
  105. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/insns.inc +0 -0
  106. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/insns_info.inc +0 -0
  107. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/internal.h +116 -51
  108. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/iseq.h +0 -0
  109. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/known_errors.inc +0 -0
  110. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/method.h +0 -0
  111. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/node.h +2 -2
  112. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/node_name.inc +0 -0
  113. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/opt_sc.inc +0 -0
  114. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/optinsn.inc +0 -0
  115. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/optunifs.inc +0 -0
  116. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/parse.h +8 -27
  117. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/probes_helper.h +0 -0
  118. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/regenc.h +79 -67
  119. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/regint.h +187 -244
  120. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/regparse.h +30 -27
  121. data/lib/debase/ruby_core_source/ruby-2.4.2-p198/revision.h +1 -0
  122. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/ruby_assert.h +0 -0
  123. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/ruby_atomic.h +0 -0
  124. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/siphash.h +0 -0
  125. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/symbol.h +0 -0
  126. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/thread_pthread.h +0 -0
  127. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/thread_win32.h +0 -0
  128. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/timev.h +0 -0
  129. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/transcode_data.h +0 -0
  130. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/version.h +6 -6
  131. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm.inc +37 -34
  132. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/vm_call_iseq_optimized.inc +0 -0
  133. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_core.h +9 -7
  134. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_debug.h +0 -0
  135. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_exec.h +0 -0
  136. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_insnhelper.h +30 -14
  137. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/vm_opts.h +0 -0
  138. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/vmtc.inc +0 -0
  139. data/lib/debase/ruby_core_source/version.rb +1 -1
  140. metadata +138 -143
  141. data/lib/debase/ruby_core_source/ruby-2.4.0-preview1/method.h +0 -213
  142. data/lib/debase/ruby_core_source/ruby-2.4.0-preview1/revision.h +0 -1
  143. data/lib/debase/ruby_core_source/ruby-2.4.0-preview2/revision.h +0 -1
  144. data/lib/debase/ruby_core_source/ruby-2.4.0-preview2/ruby_assert.h +0 -54
  145. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/encindex.h +0 -67
  146. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/id_table.h +0 -31
  147. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/insns.inc +0 -112
  148. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/iseq.h +0 -252
  149. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/probes_helper.h +0 -43
  150. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/revision.h +0 -1
  151. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/ruby_assert.h +0 -54
  152. 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) do { \
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
- idANDDOT = RUBY_TOKEN(ANDDOT),
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
- "CES",
160
+ "C",
169
161
  "V",
170
- "N",
171
- "N",
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
- "CE",
186
- "CE",
187
- "CE",
188
- "CE",
189
- "CE",
190
- "CE",
191
- "CECE",
192
- "CE",
193
- "CE",
194
- "CE",
195
- "CE",
196
- "CE",
197
- "CE",
198
- "CE",
199
- "CEV",
200
- "CEV",
201
- "CE",
202
- "CE",
203
- "CE",
204
- "CE",
205
- "CE",
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
- "CE",
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
- 3,
284
- 3,
285
- 3,
286
- 3,
287
- 3,
288
- 5,
289
- 3,
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
- 3,
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
  }