Module: CodeTools::GeneratorMethods

Included in:
Generator
Defined in:
lib/rubinius/code/compiler/generator_methods.rb

Instance Method Summary collapse

Instance Method Details

#a_equal(arg1, arg2) ⇒ Object



1298
1299
1300
1301
1302
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1298

def a_equal(arg1, arg2)
  @stream << 175 << arg1 << arg2
  @ip += 3
  @instruction = 175
end

#a_function(arg1, arg2) ⇒ Object



1292
1293
1294
1295
1296
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1292

def a_function(arg1, arg2)
  @stream << 174 << arg1 << arg2
  @ip += 3
  @instruction = 174
end

#a_greater(arg1, arg2) ⇒ Object



1322
1323
1324
1325
1326
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1322

def a_greater(arg1, arg2)
  @stream << 179 << arg1 << arg2
  @ip += 3
  @instruction = 179
end

#a_greater_equal(arg1, arg2) ⇒ Object



1328
1329
1330
1331
1332
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1328

def a_greater_equal(arg1, arg2)
  @stream << 180 << arg1 << arg2
  @ip += 3
  @instruction = 180
end

#a_instance(arg1, arg2) ⇒ Object



1262
1263
1264
1265
1266
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1262

def a_instance(arg1, arg2)
  @stream << 169 << arg1 << arg2
  @ip += 3
  @instruction = 169
end

#a_kind(arg1, arg2) ⇒ Object



1268
1269
1270
1271
1272
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1268

def a_kind(arg1, arg2)
  @stream << 170 << arg1 << arg2
  @ip += 3
  @instruction = 170
end

#a_less(arg1, arg2) ⇒ Object



1310
1311
1312
1313
1314
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1310

def a_less(arg1, arg2)
  @stream << 177 << arg1 << arg2
  @ip += 3
  @instruction = 177
end

#a_less_equal(arg1, arg2) ⇒ Object



1316
1317
1318
1319
1320
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1316

def a_less_equal(arg1, arg2)
  @stream << 178 << arg1 << arg2
  @ip += 3
  @instruction = 178
end

#a_method(arg1, arg2) ⇒ Object



1274
1275
1276
1277
1278
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1274

def a_method(arg1, arg2)
  @stream << 171 << arg1 << arg2
  @ip += 3
  @instruction = 171
end

#a_not_equal(arg1, arg2) ⇒ Object



1304
1305
1306
1307
1308
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1304

def a_not_equal(arg1, arg2)
  @stream << 176 << arg1 << arg2
  @ip += 3
  @instruction = 176
end

#a_receiver_method(arg1, arg2) ⇒ Object



1280
1281
1282
1283
1284
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1280

def a_receiver_method(arg1, arg2)
  @stream << 172 << arg1 << arg2
  @ip += 3
  @instruction = 172
end

#a_type(arg1, arg2) ⇒ Object



1286
1287
1288
1289
1290
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1286

def a_type(arg1, arg2)
  @stream << 173 << arg1 << arg2
  @ip += 3
  @instruction = 173
end

#add_scopeObject



5
6
7
8
9
10
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 5

def add_scope
  @stream << 0
  @ip += 1
  @current_block.add_stack(1, 0)
  @instruction = 0
end

#allow_privateObject



12
13
14
15
16
17
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 12

def allow_private
  @stream << 1
  @ip += 1
  @current_block.add_stack(0, 0)
  @instruction = 1
end

#b_if(arg1, arg2) ⇒ Object



994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 994

def b_if(arg1, arg2)
  location = @ip + 2
  @stream << 126 << arg1 << arg2
  @ip += 3
  arg2.used_at location
  @current_block.left = arg2.basic_block
  @current_block.close
  block = new_basic_block
  @current_block.right = block
  @current_block = block
  @instruction = 126
end

#b_if_int(arg1, arg2, arg3) ⇒ Object



981
982
983
984
985
986
987
988
989
990
991
992
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 981

def b_if_int(arg1, arg2, arg3)
  location = @ip + 3
  @stream << 125 << arg1 << arg2 << arg3
  @ip += 4
  arg3.used_at location
  @current_block.left = arg3.basic_block
  @current_block.close
  block = new_basic_block
  @current_block.right = block
  @current_block = block
  @instruction = 125
end

#b_if_serial(arg1, arg2, arg3) ⇒ Object

Branching instructions



968
969
970
971
972
973
974
975
976
977
978
979
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 968

def b_if_serial(arg1, arg2, arg3)
  location = @ip + 3
  @stream << 124 << arg1 << arg2 << arg3
  @ip += 4
  arg3.used_at location
  @current_block.left = arg3.basic_block
  @current_block.close
  block = new_basic_block
  @current_block.right = block
  @current_block = block
  @instruction = 124
end

#call(arg1, arg2) ⇒ Object



1397
1398
1399
1400
1401
1402
1403
1404
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1397

def call(arg1, arg2)
  arg1 = find_literal(arg1)
  arg2 = Integer(arg2)
  @stream << 189 << arg1 << arg2
  @ip += 3
  @current_block.add_stack(arg2+1, 1)
  @instruction = 189
end

#call_0(arg1) ⇒ Object



1406
1407
1408
1409
1410
1411
1412
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1406

def call_0(arg1)
  arg1 = find_literal(arg1)
  @stream << 190 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 190
end

#call_send(arg1, arg2) ⇒ Object



1388
1389
1390
1391
1392
1393
1394
1395
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1388

def call_send(arg1, arg2)
  arg1 = find_literal(arg1)
  arg2 = Integer(arg2)
  @stream << 188 << arg1 << arg2
  @ip += 3
  @current_block.add_stack(arg2+1, 1)
  @instruction = 188
end

#cast_arrayObject



19
20
21
22
23
24
25
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 19

def cast_array
  unless @instruction == 2 or @instruction == 29
    @stream << 2
    @ip += 1
  end
  @instruction = 2
end

#cast_for_multi_block_argObject



27
28
29
30
31
32
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 27

def cast_for_multi_block_arg
  @stream << 3
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 3
end

#cast_for_single_block_argObject



34
35
36
37
38
39
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 34

def cast_for_single_block_arg
  @stream << 4
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 4
end

#cast_for_splat_block_argObject



41
42
43
44
45
46
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 41

def cast_for_splat_block_arg
  @stream << 5
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 5
end

#cast_multi_valueObject



48
49
50
51
52
53
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 48

def cast_multi_value
  @stream << 6
  @ip += 1
  @current_block.add_stack(1, 1)
  @instruction = 6
end

#check_frozenObject



55
56
57
58
59
60
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 55

def check_frozen
  @stream << 7
  @ip += 1
  @current_block.add_stack(1, 1)
  @instruction = 7
end

#check_interruptsObject



62
63
64
65
66
67
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 62

def check_interrupts
  @stream << 8
  @ip += 1
  @current_block.add_stack(0, 0)
  @instruction = 8
end

#check_serial(arg1, arg2) ⇒ Object



69
70
71
72
73
74
75
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 69

def check_serial(arg1, arg2)
  arg1 = find_literal(arg1)
  @stream << 9 << arg1 << arg2
  @ip += 3
  @current_block.add_stack(1, 1)
  @instruction = 9
end

#check_serial_private(arg1, arg2) ⇒ Object



77
78
79
80
81
82
83
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 77

def check_serial_private(arg1, arg2)
  arg1 = find_literal(arg1)
  @stream << 10 << arg1 << arg2
  @ip += 3
  @current_block.add_stack(1, 1)
  @instruction = 10
end

#clear_exceptionObject



85
86
87
88
89
90
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 85

def clear_exception
  @stream << 11
  @ip += 1
  @current_block.add_stack(0, 0)
  @instruction = 11
end

#create_block(arg1) ⇒ Object



92
93
94
95
96
97
98
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 92

def create_block(arg1)
  arg1 = add_generator(arg1)
  @stream << 12 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 12
end

#dupObject



100
101
102
103
104
105
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 100

def dup
  @stream << 13
  @ip += 1
  @current_block.add_stack(1, 2)
  @instruction = 13
end

#dup_many(arg1) ⇒ Object



107
108
109
110
111
112
113
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 107

def dup_many(arg1)
  arg1 = Integer(arg1)
  @stream << 14 << arg1
  @ip += 2
  @current_block.add_stack(arg1, (arg1 * 2))
  @instruction = 14
end

#e_cache_function(arg1, arg2) ⇒ Object



1196
1197
1198
1199
1200
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1196

def e_cache_function(arg1, arg2)
  @stream << 158 << arg1 << arg2
  @ip += 3
  @instruction = 158
end

#e_cache_function_p(arg1, arg2, arg3) ⇒ Object



1178
1179
1180
1181
1182
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1178

def e_cache_function_p(arg1, arg2, arg3)
  @stream << 155 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 155
end

#e_cache_method(arg1, arg2) ⇒ Object



1190
1191
1192
1193
1194
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1190

def e_cache_method(arg1, arg2)
  @stream << 157 << arg1 << arg2
  @ip += 3
  @instruction = 157
end

#e_cache_method_p(arg1, arg2, arg3) ⇒ Object



1172
1173
1174
1175
1176
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1172

def e_cache_method_p(arg1, arg2, arg3)
  @stream << 154 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 154
end

#e_cache_value(arg1, arg2) ⇒ Object



1202
1203
1204
1205
1206
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1202

def e_cache_value(arg1, arg2)
  @stream << 159 << arg1 << arg2
  @ip += 3
  @instruction = 159
end

#e_cache_value_p(arg1, arg2) ⇒ Object



1184
1185
1186
1187
1188
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1184

def e_cache_value_p(arg1, arg2)
  @stream << 156 << arg1 << arg2
  @ip += 3
  @instruction = 156
end

#e_check_signature(arg1, arg2) ⇒ Object



1244
1245
1246
1247
1248
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1244

def e_check_signature(arg1, arg2)
  @stream << 166 << arg1 << arg2
  @ip += 3
  @instruction = 166
end

#e_invoke_function(arg1, arg2) ⇒ Object



1256
1257
1258
1259
1260
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1256

def e_invoke_function(arg1, arg2)
  @stream << 168 << arg1 << arg2
  @ip += 3
  @instruction = 168
end

#e_invoke_method(arg1, arg2) ⇒ Object



1250
1251
1252
1253
1254
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1250

def e_invoke_method(arg1, arg2)
  @stream << 167 << arg1 << arg2
  @ip += 3
  @instruction = 167
end

#e_resolve_function(arg1, arg2, arg3) ⇒ Object



1220
1221
1222
1223
1224
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1220

def e_resolve_function(arg1, arg2, arg3)
  @stream << 162 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 162
end

#e_resolve_method(arg1, arg2, arg3) ⇒ Object



1208
1209
1210
1211
1212
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1208

def e_resolve_method(arg1, arg2, arg3)
  @stream << 160 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 160
end

#e_resolve_path_constant(arg1, arg2) ⇒ Object



1232
1233
1234
1235
1236
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1232

def e_resolve_path_constant(arg1, arg2)
  @stream << 164 << arg1 << arg2
  @ip += 3
  @instruction = 164
end

#e_resolve_receiver_method(arg1, arg2, arg3) ⇒ Object



1214
1215
1216
1217
1218
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1214

def e_resolve_receiver_method(arg1, arg2, arg3)
  @stream << 161 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 161
end

#e_resolve_scope_constant(arg1, arg2) ⇒ Object



1226
1227
1228
1229
1230
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1226

def e_resolve_scope_constant(arg1, arg2)
  @stream << 163 << arg1 << arg2
  @ip += 3
  @instruction = 163
end

#e_signature(arg1) ⇒ Object



1238
1239
1240
1241
1242
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1238

def e_signature(arg1)
  @stream << 165 << arg1
  @ip += 2
  @instruction = 165
end

#emit_push_literal(arg1) ⇒ Object Also known as: push_literal



418
419
420
421
422
423
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 418

def emit_push_literal(arg1)
  @stream << 48 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 48
end

#ensure_returnObject



115
116
117
118
119
120
121
122
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 115

def ensure_return
  @stream << 15
  @ip += 1
  @current_block.add_stack(1, 1)
  @current_block.close true
  @current_block = new_basic_block
  @instruction = 15
end

#find_const(arg1) ⇒ Object



124
125
126
127
128
129
130
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 124

def find_const(arg1)
  arg1 = find_literal(arg1)
  @stream << 16 << arg1
  @ip += 2
  @current_block.add_stack(1, 1)
  @instruction = 16
end

#goto(arg1) ⇒ Object



132
133
134
135
136
137
138
139
140
141
142
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 132

def goto(arg1)
  location = @ip + 1
  @stream << 17 << arg1
  @ip += 2
  arg1.used_at location
  @current_block.add_stack(0, 0)
  @current_block.left = arg1.basic_block
  @current_block.close
  @current_block = new_basic_block
  @instruction = 17
end

#goto_future(arg1) ⇒ Object



1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1346

def goto_future(arg1)
  location = @ip + 1
  @stream << 182 << arg1
  @ip += 2
  arg1.used_at location
  @current_block.add_stack(0, 0)
  @current_block.left = arg1.basic_block
  @current_block.close
  @current_block = new_basic_block
  @instruction = 182
end

#goto_if_equal(arg1) ⇒ Object



144
145
146
147
148
149
150
151
152
153
154
155
156
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 144

def goto_if_equal(arg1)
  location = @ip + 1
  @stream << 18 << arg1
  @ip += 2
  arg1.used_at location
  @current_block.add_stack(2, 0)
  @current_block.left = arg1.basic_block
  @current_block.close
  block = new_basic_block
  @current_block.right = block
  @current_block = block
  @instruction = 18
end

#goto_if_false(arg1) ⇒ Object



158
159
160
161
162
163
164
165
166
167
168
169
170
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 158

def goto_if_false(arg1)
  location = @ip + 1
  @stream << 19 << arg1
  @ip += 2
  arg1.used_at location
  @current_block.add_stack(1, 0)
  @current_block.left = arg1.basic_block
  @current_block.close
  block = new_basic_block
  @current_block.right = block
  @current_block = block
  @instruction = 19
end

#goto_if_nil(arg1) ⇒ Object



172
173
174
175
176
177
178
179
180
181
182
183
184
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 172

def goto_if_nil(arg1)
  location = @ip + 1
  @stream << 20 << arg1
  @ip += 2
  arg1.used_at location
  @current_block.add_stack(1, 0)
  @current_block.left = arg1.basic_block
  @current_block.close
  block = new_basic_block
  @current_block.right = block
  @current_block = block
  @instruction = 20
end

#goto_if_not_equal(arg1) ⇒ Object



186
187
188
189
190
191
192
193
194
195
196
197
198
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 186

def goto_if_not_equal(arg1)
  location = @ip + 1
  @stream << 21 << arg1
  @ip += 2
  arg1.used_at location
  @current_block.add_stack(2, 0)
  @current_block.left = arg1.basic_block
  @current_block.close
  block = new_basic_block
  @current_block.right = block
  @current_block = block
  @instruction = 21
end

#goto_if_not_nil(arg1) ⇒ Object



200
201
202
203
204
205
206
207
208
209
210
211
212
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 200

def goto_if_not_nil(arg1)
  location = @ip + 1
  @stream << 22 << arg1
  @ip += 2
  arg1.used_at location
  @current_block.add_stack(1, 0)
  @current_block.left = arg1.basic_block
  @current_block.close
  block = new_basic_block
  @current_block.right = block
  @current_block = block
  @instruction = 22
end

#goto_if_not_undefined(arg1) ⇒ Object



214
215
216
217
218
219
220
221
222
223
224
225
226
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 214

def goto_if_not_undefined(arg1)
  location = @ip + 1
  @stream << 23 << arg1
  @ip += 2
  arg1.used_at location
  @current_block.add_stack(1, 0)
  @current_block.left = arg1.basic_block
  @current_block.close
  block = new_basic_block
  @current_block.right = block
  @current_block = block
  @instruction = 23
end

#goto_if_true(arg1) ⇒ Object



228
229
230
231
232
233
234
235
236
237
238
239
240
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 228

def goto_if_true(arg1)
  location = @ip + 1
  @stream << 24 << arg1
  @ip += 2
  arg1.used_at location
  @current_block.add_stack(1, 0)
  @current_block.left = arg1.basic_block
  @current_block.close
  block = new_basic_block
  @current_block.right = block
  @current_block = block
  @instruction = 24
end

#goto_if_undefined(arg1) ⇒ Object



242
243
244
245
246
247
248
249
250
251
252
253
254
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 242

def goto_if_undefined(arg1)
  location = @ip + 1
  @stream << 25 << arg1
  @ip += 2
  arg1.used_at location
  @current_block.add_stack(1, 0)
  @current_block.left = arg1.basic_block
  @current_block.close
  block = new_basic_block
  @current_block.right = block
  @current_block = block
  @instruction = 25
end

#goto_past(arg1) ⇒ Object



1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1334

def goto_past(arg1)
  location = @ip + 1
  @stream << 181 << arg1
  @ip += 2
  arg1.used_at location
  @current_block.add_stack(0, 0)
  @current_block.left = arg1.basic_block
  @current_block.close
  @current_block = new_basic_block
  @instruction = 181
end

#instance_ofObject



256
257
258
259
260
261
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 256

def instance_of
  @stream << 26
  @ip += 1
  @current_block.add_stack(2, 1)
  @instruction = 26
end

#invoke_primitive(arg1, arg2) ⇒ Object



263
264
265
266
267
268
269
270
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 263

def invoke_primitive(arg1, arg2)
  arg1 = find_literal(arg1)
  arg2 = Integer(arg2)
  @stream << 27 << arg1 << arg2
  @ip += 3
  @current_block.add_stack(arg2, 1)
  @instruction = 27
end

#kind_ofObject



272
273
274
275
276
277
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 272

def kind_of
  @stream << 28
  @ip += 1
  @current_block.add_stack(2, 1)
  @instruction = 28
end

#m_bytes(arg1, arg2) ⇒ Object

Instrumentation instructions



925
926
927
928
929
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 925

def m_bytes(arg1, arg2)
  @stream << 117 << arg1 << arg2
  @ip += 3
  @instruction = 117
end

#m_counter(arg1) ⇒ Object



931
932
933
934
935
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 931

def m_counter(arg1)
  @stream << 118 << arg1
  @ip += 2
  @instruction = 118
end

#m_debugObject



1166
1167
1168
1169
1170
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1166

def m_debug
  @stream << 153
  @ip += 1
  @instruction = 153
end

#m_log(arg1) ⇒ Object



1160
1161
1162
1163
1164
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1160

def m_log(arg1)
  @stream << 152 << arg1
  @ip += 2
  @instruction = 152
end

#m_sum(arg1, arg2) ⇒ Object



937
938
939
940
941
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 937

def m_sum(arg1, arg2)
  @stream << 119 << arg1 << arg2
  @ip += 3
  @instruction = 119
end

#m_time_stamp(arg1, arg2) ⇒ Object



949
950
951
952
953
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 949

def m_time_stamp(arg1, arg2)
  @stream << 121 << arg1 << arg2
  @ip += 3
  @instruction = 121
end

#m_timer_start(arg1) ⇒ Object



955
956
957
958
959
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 955

def m_timer_start(arg1)
  @stream << 122 << arg1
  @ip += 2
  @instruction = 122
end

#m_timer_stop(arg1, arg2) ⇒ Object



961
962
963
964
965
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 961

def m_timer_stop(arg1, arg2)
  @stream << 123 << arg1 << arg2
  @ip += 3
  @instruction = 123
end

#m_value(arg1, arg2) ⇒ Object



943
944
945
946
947
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 943

def m_value(arg1, arg2)
  @stream << 120 << arg1 << arg2
  @ip += 3
  @instruction = 120
end

#make_array(arg1) ⇒ Object



279
280
281
282
283
284
285
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 279

def make_array(arg1)
  arg1 = Integer(arg1)
  @stream << 29 << arg1
  @ip += 2
  @current_block.add_stack(arg1, 1)
  @instruction = 29
end

#move_down(arg1) ⇒ Object



287
288
289
290
291
292
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 287

def move_down(arg1)
  @stream << 30 << arg1
  @ip += 2
  @current_block.add_stack(arg1, (arg1 * 1))
  @instruction = 30
end

#n_iadd(arg1, arg2, arg3) ⇒ Object

Native signed integer instructions



1070
1071
1072
1073
1074
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1070

def n_iadd(arg1, arg2, arg3)
  @stream << 137 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 137
end

#n_iadd_o(arg1, arg2, arg3) ⇒ Object



1094
1095
1096
1097
1098
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1094

def n_iadd_o(arg1, arg2, arg3)
  @stream << 141 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 141
end

#n_idiv(arg1, arg2, arg3) ⇒ Object



1088
1089
1090
1091
1092
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1088

def n_idiv(arg1, arg2, arg3)
  @stream << 140 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 140
end

#n_idiv_o(arg1, arg2, arg3) ⇒ Object



1112
1113
1114
1115
1116
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1112

def n_idiv_o(arg1, arg2, arg3)
  @stream << 144 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 144
end

#n_ieq(arg1, arg2, arg3) ⇒ Object



1118
1119
1120
1121
1122
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1118

def n_ieq(arg1, arg2, arg3)
  @stream << 145 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 145
end

#n_ige(arg1, arg2, arg3) ⇒ Object



1148
1149
1150
1151
1152
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1148

def n_ige(arg1, arg2, arg3)
  @stream << 150 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 150
end

#n_igt(arg1, arg2, arg3) ⇒ Object



1142
1143
1144
1145
1146
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1142

def n_igt(arg1, arg2, arg3)
  @stream << 149 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 149
end

#n_ile(arg1, arg2, arg3) ⇒ Object



1136
1137
1138
1139
1140
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1136

def n_ile(arg1, arg2, arg3)
  @stream << 148 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 148
end

#n_ilt(arg1, arg2, arg3) ⇒ Object



1130
1131
1132
1133
1134
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1130

def n_ilt(arg1, arg2, arg3)
  @stream << 147 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 147
end

#n_imul(arg1, arg2, arg3) ⇒ Object



1082
1083
1084
1085
1086
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1082

def n_imul(arg1, arg2, arg3)
  @stream << 139 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 139
end

#n_imul_o(arg1, arg2, arg3) ⇒ Object



1106
1107
1108
1109
1110
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1106

def n_imul_o(arg1, arg2, arg3)
  @stream << 143 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 143
end

#n_ine(arg1, arg2, arg3) ⇒ Object



1124
1125
1126
1127
1128
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1124

def n_ine(arg1, arg2, arg3)
  @stream << 146 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 146
end

#n_ipopcnt(arg1, arg2) ⇒ Object



1154
1155
1156
1157
1158
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1154

def n_ipopcnt(arg1, arg2)
  @stream << 151 << arg1 << arg2
  @ip += 3
  @instruction = 151
end

#n_isub(arg1, arg2, arg3) ⇒ Object



1076
1077
1078
1079
1080
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1076

def n_isub(arg1, arg2, arg3)
  @stream << 138 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 138
end

#n_isub_o(arg1, arg2, arg3) ⇒ Object



1100
1101
1102
1103
1104
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1100

def n_isub_o(arg1, arg2, arg3)
  @stream << 142 << arg1 << arg2 << arg3
  @ip += 4
  @instruction = 142
end

#noopObject



294
295
296
297
298
299
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 294

def noop
  @stream << 31
  @ip += 1
  @current_block.add_stack(0, 0)
  @instruction = 31
end

#object_to_s(arg1) ⇒ Object



301
302
303
304
305
306
307
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 301

def object_to_s(arg1)
  arg1 = find_literal(arg1)
  @stream << 32 << arg1
  @ip += 2
  @current_block.add_stack(1, 1)
  @instruction = 32
end

#p_any(arg1) ⇒ Object

Parsing Expression Grammar instructions



816
817
818
819
820
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 816

def p_any(arg1)
  @stream << 99 << arg1
  @ip += 2
  @instruction = 99
end

#p_call(arg1) ⇒ Object



822
823
824
825
826
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 822

def p_call(arg1)
  @stream << 100 << arg1
  @ip += 2
  @instruction = 100
end

#p_char(arg1) ⇒ Object



828
829
830
831
832
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 828

def p_char(arg1)
  @stream << 101 << arg1
  @ip += 2
  @instruction = 101
end

#p_char_set(arg1) ⇒ Object



834
835
836
837
838
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 834

def p_char_set(arg1)
  @stream << 102 << arg1
  @ip += 2
  @instruction = 102
end

#p_choice(arg1, arg2) ⇒ Object



840
841
842
843
844
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 840

def p_choice(arg1, arg2)
  @stream << 103 << arg1 << arg2
  @ip += 3
  @instruction = 103
end

#p_commit(arg1) ⇒ Object



846
847
848
849
850
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 846

def p_commit(arg1)
  @stream << 104 << arg1
  @ip += 2
  @instruction = 104
end

#p_commit_back(arg1) ⇒ Object



852
853
854
855
856
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 852

def p_commit_back(arg1)
  @stream << 105 << arg1
  @ip += 2
  @instruction = 105
end

#p_commit_partial(arg2) ⇒ Object



858
859
860
861
862
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 858

def p_commit_partial(arg2)
  @stream << 106 << arg1
  @ip += 2
  @instruction = 106
end

#p_endObject



864
865
866
867
868
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 864

def p_end
  @stream << 107
  @ip += 1
  @instruction = 107
end

#p_failObject



870
871
872
873
874
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 870

def p_fail
  @stream << 108
  @ip += 1
  @instruction = 108
end

#p_fail_twiceObject



876
877
878
879
880
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 876

def p_fail_twice
  @stream << 109
  @ip += 1
  @instruction = 109
end

#p_init(arg1, arg2) ⇒ Object



918
919
920
921
922
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 918

def p_init(arg1, arg2)
  @stream << 116 << arg1 << arg2
  @ip += 3
  @instruction = 116
end

#p_jump(arg1) ⇒ Object



882
883
884
885
886
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 882

def p_jump(arg1)
  @stream << 110 << arg1
  @ip += 2
  @instruction = 110
end

#p_returnObject



888
889
890
891
892
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 888

def p_return
  @stream << 111
  @ip += 1
  @instruction = 111
end

#p_span(arg1) ⇒ Object



894
895
896
897
898
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 894

def p_span(arg1)
  @stream << 112 << arg1
  @ip += 2
  @instruction = 112
end

#p_test_any(arg1, arg2) ⇒ Object



900
901
902
903
904
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 900

def p_test_any(arg1, arg2)
  @stream << 113 << arg1 << arg2
  @ip += 3
  @instruction = 113
end

#p_test_char(arg1, arg2) ⇒ Object



906
907
908
909
910
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 906

def p_test_char(arg1, arg2)
  @stream << 114 << arg1 << arg2
  @ip += 3
  @instruction = 114
end

#p_test_char_set(arg1, arg2) ⇒ Object



912
913
914
915
916
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 912

def p_test_char_set(arg1, arg2)
  @stream << 115 << arg1 << arg2
  @ip += 3
  @instruction = 115
end

#passed_arg(arg1) ⇒ Object



309
310
311
312
313
314
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 309

def passed_arg(arg1)
  @stream << 33 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 33
end

#passed_blockarg(arg1) ⇒ Object



316
317
318
319
320
321
322
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 316

def passed_blockarg(arg1)
  arg1 = Integer(arg1)
  @stream << 34 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 34
end

#popObject



324
325
326
327
328
329
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 324

def pop
  @stream << 35
  @ip += 1
  @current_block.add_stack(1, 0)
  @instruction = 35
end

#pop_many(arg1) ⇒ Object



331
332
333
334
335
336
337
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 331

def pop_many(arg1)
  arg1 = Integer(arg1)
  @stream << 36 << arg1
  @ip += 2
  @current_block.add_stack(arg1, 0)
  @instruction = 36
end

#pop_unwindObject



339
340
341
342
343
344
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 339

def pop_unwind
  @stream << 37
  @ip += 1
  @current_block.add_stack(0, 0)
  @instruction = 37
end

#push_blockObject



346
347
348
349
350
351
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 346

def push_block
  @stream << 38
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 38
end

#push_block_argObject



353
354
355
356
357
358
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 353

def push_block_arg
  @stream << 39
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 39
end

#push_const(arg1) ⇒ Object



360
361
362
363
364
365
366
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 360

def push_const(arg1)
  arg1 = find_literal(arg1)
  @stream << 40 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 40
end

#push_cpath_topObject



368
369
370
371
372
373
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 368

def push_cpath_top
  @stream << 41
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 41
end

#push_current_exceptionObject



375
376
377
378
379
380
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 375

def push_current_exception
  @stream << 42
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 42
end

#push_exception_stateObject



382
383
384
385
386
387
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 382

def push_exception_state
  @stream << 43
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 43
end

#push_falseObject



389
390
391
392
393
394
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 389

def push_false
  @stream << 44
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 44
end

#push_fileObject



808
809
810
811
812
813
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 808

def push_file
  @stream << 98
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 98
end

#push_has_blockObject



396
397
398
399
400
401
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 396

def push_has_block
  @stream << 45
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 45
end

#push_int(arg1) ⇒ Object



403
404
405
406
407
408
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 403

def push_int(arg1)
  @stream << 46 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 46
end

#push_ivar(arg1) ⇒ Object



410
411
412
413
414
415
416
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 410

def push_ivar(arg1)
  arg1 = find_literal(arg1)
  @stream << 47 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 47
end

#push_local(arg1) ⇒ Object



427
428
429
430
431
432
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 427

def push_local(arg1)
  @stream << 49 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 49
end

#push_local_depth(arg1, arg2) ⇒ Object



434
435
436
437
438
439
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 434

def push_local_depth(arg1, arg2)
  @stream << 50 << arg1 << arg2
  @ip += 3
  @current_block.add_stack(0, 1)
  @instruction = 50
end

#push_memo(arg1) ⇒ Object



441
442
443
444
445
446
447
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 441

def push_memo(arg1)
  arg1 = find_literal(arg1)
  @stream << 51 << arg1
  @ip += 2
  @current_block.add_stack(1, 1)
  @instruction = 51
end

#push_mirrorObject



449
450
451
452
453
454
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 449

def push_mirror
  @stream << 52
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 52
end

#push_my_field(arg1) ⇒ Object



456
457
458
459
460
461
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 456

def push_my_field(arg1)
  @stream << 53 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 53
end

#push_my_offset(arg1) ⇒ Object



463
464
465
466
467
468
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 463

def push_my_offset(arg1)
  @stream << 54 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 54
end

#push_nilObject



470
471
472
473
474
475
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 470

def push_nil
  @stream << 55
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 55
end

#push_procObject



477
478
479
480
481
482
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 477

def push_proc
  @stream << 56
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 56
end

#push_rubiniusObject



484
485
486
487
488
489
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 484

def push_rubinius
  @stream << 57
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 57
end

#push_scopeObject



491
492
493
494
495
496
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 491

def push_scope
  @stream << 58
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 58
end

#push_selfObject



498
499
500
501
502
503
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 498

def push_self
  @stream << 59
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 59
end

#push_stack_local(arg1) ⇒ Object



505
506
507
508
509
510
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 505

def push_stack_local(arg1)
  @stream << 60 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 60
end

#push_tagged_nil(arg1) ⇒ Object



1414
1415
1416
1417
1418
1419
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1414

def push_tagged_nil(arg1)
  @stream << 191 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 191
end

#push_trueObject



512
513
514
515
516
517
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 512

def push_true
  @stream << 61
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 61
end

#push_typeObject



519
520
521
522
523
524
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 519

def push_type
  @stream << 62
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 62
end

#push_undefObject



526
527
528
529
530
531
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 526

def push_undef
  @stream << 63
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 63
end

#push_variablesObject



533
534
535
536
537
538
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 533

def push_variables
  @stream << 64
  @ip += 1
  @current_block.add_stack(0, 1)
  @instruction = 64
end

#r_copy(arg1, arg2) ⇒ Object



1063
1064
1065
1066
1067
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1063

def r_copy(arg1, arg2)
  @stream << 136 << arg1 << arg2
  @ip += 3
  @instruction = 136
end

#r_load_0(arg1) ⇒ Object



1358
1359
1360
1361
1362
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1358

def r_load_0(arg1)
  @stream << 183 << arg1
  @ip += 2
  @instruction = 183
end

#r_load_1(arg1) ⇒ Object



1364
1365
1366
1367
1368
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1364

def r_load_1(arg1)
  @stream << 184 << arg1
  @ip += 2
  @instruction = 184
end

#r_load_false(arg1) ⇒ Object



1376
1377
1378
1379
1380
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1376

def r_load_false(arg1)
  @stream << 186 << arg1
  @ip += 2
  @instruction = 186
end

#r_load_int(arg1, arg2) ⇒ Object



1051
1052
1053
1054
1055
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1051

def r_load_int(arg1, arg2)
  @stream << 134 << arg1 << arg2
  @ip += 3
  @instruction = 134
end

#r_load_literal(arg1, arg2) ⇒ Object



1045
1046
1047
1048
1049
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1045

def r_load_literal(arg1, arg2)
  @stream << 133 << arg1 << arg2
  @ip += 3
  @instruction = 133
end

#r_load_local(arg1, arg2) ⇒ Object

Register movement instructions



1008
1009
1010
1011
1012
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1008

def r_load_local(arg1, arg2)
  @stream << 127 << arg1 << arg2
  @ip += 3
  @instructions = 127
end

#r_load_local_depth(arg1, arg2, arg3) ⇒ Object



1020
1021
1022
1023
1024
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1020

def r_load_local_depth(arg1, arg2, arg3)
  @stream << 129 << arg1 << arg2 << arg3
  @ip += 4
  @instructions = 129
end

#r_load_nil(arg1, arg2) ⇒ Object



1370
1371
1372
1373
1374
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1370

def r_load_nil(arg1, arg2)
  @stream << 185 << arg1 << arg2
  @ip += 3
  @instruction = 185
end

#r_load_stack(arg1) ⇒ Object



1032
1033
1034
1035
1036
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1032

def r_load_stack(arg1)
  @stream << 131 << arg1
  @ip += 2
  @instructions = 131
end

#r_load_true(arg1) ⇒ Object



1382
1383
1384
1385
1386
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1382

def r_load_true(arg1)
  @stream << 187 << arg1
  @ip += 2
  @instruction = 187
end

#r_store_int(arg1, arg2) ⇒ Object



1057
1058
1059
1060
1061
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1057

def r_store_int(arg1, arg2)
  @stream << 135 << arg1 << arg2
  @ip += 3
  @instruction = 135
end

#r_store_local(arg1, arg2) ⇒ Object



1014
1015
1016
1017
1018
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1014

def r_store_local(arg1, arg2)
  @stream << 128 << arg1 << arg2
  @ip += 3
  @instructions = 128
end

#r_store_local_depth(arg1, arg2, arg3) ⇒ Object



1026
1027
1028
1029
1030
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1026

def r_store_local_depth(arg1, arg2, arg3)
  @stream << 130 << arg1 << arg2 << arg3
  @ip += 4
  @instructions = 130
end

#r_store_stack(arg1) ⇒ Object



1038
1039
1040
1041
1042
1043
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1038

def r_store_stack(arg1)
  @stream << 132 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instructions = 132
end

#raise_breakObject



540
541
542
543
544
545
546
547
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 540

def raise_break
  @stream << 65
  @ip += 1
  @current_block.add_stack(1, 1)
  @current_block.close false
  @current_block = new_basic_block
  @instruction = 65
end

#raise_excObject



549
550
551
552
553
554
555
556
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 549

def raise_exc
  @stream << 66
  @ip += 1
  @current_block.add_stack(1, 0)
  @current_block.close false
  @current_block = new_basic_block
  @instruction = 66
end

#raise_returnObject



558
559
560
561
562
563
564
565
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 558

def raise_return
  @stream << 67
  @ip += 1
  @current_block.add_stack(1, 1)
  @current_block.close true
  @current_block = new_basic_block
  @instruction = 67
end

#reraiseObject



567
568
569
570
571
572
573
574
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 567

def reraise
  @stream << 68
  @ip += 1
  @current_block.add_stack(0, 0)
  @current_block.close false
  @current_block = new_basic_block
  @instruction = 68
end

#restore_exception_stateObject



576
577
578
579
580
581
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 576

def restore_exception_state
  @stream << 69
  @ip += 1
  @current_block.add_stack(1, 0)
  @instruction = 69
end

#ret(arg1) ⇒ Object



583
584
585
586
587
588
589
590
591
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 583

def ret(arg1)
  arg1 = Integer(arg1)
  @stream << 70 << arg1
  @ip += 2
  @current_block.add_stack(1, 1)
  @current_block.close true
  @current_block = new_basic_block
  @instruction = 70
end

#rotate(arg1) ⇒ Object



593
594
595
596
597
598
599
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 593

def rotate(arg1)
  arg1 = Integer(arg1)
  @stream << 71 << arg1
  @ip += 2
  @current_block.add_stack(arg1, (arg1 * 1))
  @instruction = 71
end

#send_method(arg1) ⇒ Object



601
602
603
604
605
606
607
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 601

def send_method(arg1)
  arg1 = find_literal(arg1)
  @stream << 72 << arg1
  @ip += 2
  @current_block.add_stack(1, 1)
  @instruction = 72
end

#send_stack(arg1, arg2) ⇒ Object



609
610
611
612
613
614
615
616
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 609

def send_stack(arg1, arg2)
  arg1 = find_literal(arg1)
  arg2 = Integer(arg2)
  @stream << 73 << arg1 << arg2
  @ip += 3
  @current_block.add_stack(arg2+1, 1)
  @instruction = 73
end

#send_stack_with_block(arg1, arg2) ⇒ Object



618
619
620
621
622
623
624
625
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 618

def send_stack_with_block(arg1, arg2)
  arg1 = find_literal(arg1)
  arg2 = Integer(arg2)
  @stream << 74 << arg1 << arg2
  @ip += 3
  @current_block.add_stack(arg2+2, 1)
  @instruction = 74
end

#send_stack_with_splat(arg1, arg2) ⇒ Object



627
628
629
630
631
632
633
634
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 627

def send_stack_with_splat(arg1, arg2)
  arg1 = find_literal(arg1)
  arg2 = Integer(arg2)
  @stream << 75 << arg1 << arg2
  @ip += 3
  @current_block.add_stack(arg2+3, 1)
  @instruction = 75
end

#send_super_stack_with_block(arg1, arg2) ⇒ Object



636
637
638
639
640
641
642
643
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 636

def send_super_stack_with_block(arg1, arg2)
  arg1 = find_literal(arg1)
  arg2 = Integer(arg2)
  @stream << 76 << arg1 << arg2
  @ip += 3
  @current_block.add_stack(arg2+1, 1)
  @instruction = 76
end

#send_super_stack_with_splat(arg1, arg2) ⇒ Object



645
646
647
648
649
650
651
652
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 645

def send_super_stack_with_splat(arg1, arg2)
  arg1 = find_literal(arg1)
  arg2 = Integer(arg2)
  @stream << 77 << arg1 << arg2
  @ip += 3
  @current_block.add_stack(arg2+2, 1)
  @instruction = 77
end

#send_vcall(arg1) ⇒ Object



654
655
656
657
658
659
660
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 654

def send_vcall(arg1)
  arg1 = find_literal(arg1)
  @stream << 78 << arg1
  @ip += 2
  @current_block.add_stack(0, 1)
  @instruction = 78
end

#set_call_flags(arg1) ⇒ Object



662
663
664
665
666
667
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 662

def set_call_flags(arg1)
  @stream << 79 << arg1
  @ip += 2
  @current_block.add_stack(0, 0)
  @instruction = 79
end

#set_const(arg1) ⇒ Object



669
670
671
672
673
674
675
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 669

def set_const(arg1)
  arg1 = find_literal(arg1)
  @stream << 80 << arg1
  @ip += 2
  @current_block.add_stack(1, 1)
  @instruction = 80
end

#set_const_at(arg1) ⇒ Object



677
678
679
680
681
682
683
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 677

def set_const_at(arg1)
  arg1 = find_literal(arg1)
  @stream << 81 << arg1
  @ip += 2
  @current_block.add_stack(2, 1)
  @instruction = 81
end

#set_ivar(arg1) ⇒ Object



685
686
687
688
689
690
691
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 685

def set_ivar(arg1)
  arg1 = find_literal(arg1)
  @stream << 82 << arg1
  @ip += 2
  @current_block.add_stack(1, 1)
  @instruction = 82
end

#set_local(arg1) ⇒ Object



693
694
695
696
697
698
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 693

def set_local(arg1)
  @stream << 83 << arg1
  @ip += 2
  @current_block.add_stack(1, 1)
  @instruction = 83
end

#set_local_depth(arg1, arg2) ⇒ Object



700
701
702
703
704
705
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 700

def set_local_depth(arg1, arg2)
  @stream << 84 << arg1 << arg2
  @ip += 3
  @current_block.add_stack(1, 1)
  @instruction = 84
end

#set_stack_local(arg1) ⇒ Object



707
708
709
710
711
712
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 707

def set_stack_local(arg1)
  @stream << 85 << arg1
  @ip += 2
  @current_block.add_stack(1, 1)
  @instruction = 85
end

#setup_unwind(arg1, arg2) ⇒ Object



714
715
716
717
718
719
720
721
722
723
724
725
726
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 714

def setup_unwind(arg1, arg2)
  location = @ip + 1
  @stream << 86 << arg1 << arg2
  @ip += 3
  arg1.used_at location
  @current_block.add_stack(0, 0)
  @current_block.left = arg1.basic_block
  @current_block.close
  block = new_basic_block
  @current_block.right = block
  @current_block = block
  @instruction = 86
end

#shift_arrayObject



728
729
730
731
732
733
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 728

def shift_array
  @stream << 87
  @ip += 1
  @current_block.add_stack(1, 2)
  @instruction = 87
end

#store_my_field(arg1) ⇒ Object



735
736
737
738
739
740
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 735

def store_my_field(arg1)
  @stream << 88 << arg1
  @ip += 2
  @current_block.add_stack(1, 1)
  @instruction = 88
end

#string_appendObject



742
743
744
745
746
747
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 742

def string_append
  @stream << 89
  @ip += 1
  @current_block.add_stack(2, 1)
  @instruction = 89
end

#string_build(arg1) ⇒ Object



749
750
751
752
753
754
755
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 749

def string_build(arg1)
  arg1 = Integer(arg1)
  @stream << 90 << arg1
  @ip += 2
  @current_block.add_stack(arg1, 1)
  @instruction = 90
end

#string_dupObject



757
758
759
760
761
762
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 757

def string_dup
  @stream << 91
  @ip += 1
  @current_block.add_stack(1, 1)
  @instruction = 91
end

#swapObject



764
765
766
767
768
769
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 764

def swap
  @stream << 92
  @ip += 1
  @current_block.add_stack(2, 2)
  @instruction = 92
end

#unwind(arg1) ⇒ Object



771
772
773
774
775
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 771

def unwind(arg1)
  @stream << 93 << arg1
  @ip += 2
  @instruction = 93
end

#yield_debuggerObject



777
778
779
780
781
782
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 777

def yield_debugger
  @stream << 94
  @ip += 1
  @current_block.add_stack(0, 0)
  @instruction = 94
end

#yield_splat(arg1) ⇒ Object



784
785
786
787
788
789
790
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 784

def yield_splat(arg1)
  arg1 = Integer(arg1)
  @stream << 95 << arg1
  @ip += 2
  @current_block.add_stack(arg1+1, 1)
  @instruction = 95
end

#yield_stack(arg1) ⇒ Object



792
793
794
795
796
797
798
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 792

def yield_stack(arg1)
  arg1 = Integer(arg1)
  @stream << 96 << arg1
  @ip += 2
  @current_block.add_stack(arg1, 1)
  @instruction = 96
end

#zsuper(arg1) ⇒ Object



800
801
802
803
804
805
806
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 800

def zsuper(arg1)
  arg1 = find_literal(arg1)
  @stream << 97 << arg1
  @ip += 2
  @current_block.add_stack(1, 1)
  @instruction = 97
end