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.
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
  }