rubinius-compiler 1.1.2 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a1fefbd14350682dd2f9f23ea5068857a1e089f2
4
- data.tar.gz: 3ffb0918f9a09fd918606730211a6843d1d1dce3
3
+ metadata.gz: 6461765caf933c9880b40e98a8212492ebc5cd6f
4
+ data.tar.gz: 0760ffd4804e13684075b96bcf12b61034cb17b2
5
5
  SHA512:
6
- metadata.gz: 8651407be7fcbc63b70953c80a90c9ae85892d497af9eaf1d961870ea468f771c208190a9bdeac9a97cede779338bf623775634ebc39b6220c9e6010cc0cb891
7
- data.tar.gz: 5947b08271904c9bae3df5dfa7fcbaf4bebc235012d4e0a25e6a35373d7f42e9e3b4cb4e1a443e3c9f228907f0ba4d143f19ce752d31c926fba0ccfa4f9948b4
6
+ metadata.gz: 0f9a3f9e7ec313ee71137eb050c115b1c8cb4ea038e6260fb82a451d5a24a6df27e04b9790d16f70f82e5b17d802105fcd02f135957ebb24b94dc0e3de49a632
7
+ data.tar.gz: 1af62c1104bdf5b796c3ca3a3b0bfb9f36930ba85297700fa88012ba2f9669ca4709609939531c9ef93e5aae0d0c3f8eb62d4c2f31b0224b04f82e809359b120
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: us-ascii -*-
2
2
 
3
- module Rubinius::ToolSets.current::ToolSet
3
+ module CodeTools
4
4
  ##
5
5
  # A decode for the .rbc file format.
6
6
 
@@ -294,6 +294,7 @@ module Rubinius::ToolSets.current::ToolSet
294
294
  str.append marshal(val.required_args)
295
295
  str.append marshal(val.total_args)
296
296
  str.append marshal(val.splat)
297
+ str.append marshal(val.arity)
297
298
  str.append marshal(val.literals)
298
299
  str.append marshal(val.lines)
299
300
  str.append marshal(val.file)
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: us-ascii -*-
2
2
 
3
- module Rubinius::ToolSets.current::ToolSet
3
+ module CodeTools
4
4
 
5
5
  class CompileError < RuntimeError
6
6
  end
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  # Used for the Rubinius::asm Compiler hook.
5
5
 
6
- module Rubinius::ToolSets.current::ToolSet
6
+ module CodeTools
7
7
  module AST
8
8
  class Node
9
9
  end
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: us-ascii -*-
2
2
 
3
- module Rubinius::ToolSets.current::ToolSet
3
+ module CodeTools
4
4
  class Generator
5
5
  include GeneratorMethods
6
6
 
@@ -261,6 +261,7 @@ module Rubinius::ToolSets.current::ToolSet
261
261
  @required_args = 0
262
262
  @post_args = 0
263
263
  @total_args = 0
264
+ @arity = 0
264
265
 
265
266
  @detected_args = 0
266
267
  @detected_locals = 0
@@ -285,7 +286,7 @@ module Rubinius::ToolSets.current::ToolSet
285
286
  :required_args, :post_args, :total_args, :splat_index,
286
287
  :local_count, :local_names, :primitive, :for_block, :for_module_body,
287
288
  :current_block, :detected_args, :detected_locals,
288
- :block_index
289
+ :block_index, :arity
289
290
 
290
291
  def execute(node)
291
292
  node.bytecode self
@@ -324,6 +325,7 @@ module Rubinius::ToolSets.current::ToolSet
324
325
  code.total_args = @total_args
325
326
  code.splat = @splat_index
326
327
  code.block_index = @block_index
328
+ code.arity = @arity
327
329
  code.local_count = @local_count
328
330
  code.local_names = @local_names.to_tuple if @local_names
329
331
 
@@ -448,6 +450,12 @@ module Rubinius::ToolSets.current::ToolSet
448
450
  alias_method :dup, :dup_top
449
451
  alias_method :git, :goto_if_true
450
452
  alias_method :gif, :goto_if_false
453
+ alias_method :gin, :goto_if_nil
454
+ alias_method :ginn, :goto_if_not_nil
455
+ alias_method :giu, :goto_if_undefined
456
+ alias_method :ginu, :goto_if_not_undefined
457
+ alias_method :gie, :goto_if_equal
458
+ alias_method :gine, :goto_if_not_equal
451
459
  alias_method :swap, :swap_stack
452
460
 
453
461
  # Helpers
@@ -1,6 +1,6 @@
1
1
  # *** This file is generated by InstructionParser ***
2
2
 
3
- module Rubinius::ToolSets.current::ToolSet
3
+ module CodeTools
4
4
  module GeneratorMethods
5
5
  def noop
6
6
  @stream << 0
@@ -113,139 +113,223 @@ module Rubinius::ToolSets.current::ToolSet
113
113
  @instruction = 10
114
114
  end
115
115
 
116
+ def goto_if_nil(arg1)
117
+ location = @ip + 1
118
+ @stream << 11 << arg1
119
+ @ip += 2
120
+ arg1.used_at location
121
+ @current_block.add_stack(1, 0)
122
+ @current_block.left = arg1.basic_block
123
+ @current_block.close
124
+ block = new_basic_block
125
+ @current_block.right = block
126
+ @current_block = block
127
+ @instruction = 11
128
+ end
129
+
130
+ def goto_if_not_nil(arg1)
131
+ location = @ip + 1
132
+ @stream << 12 << arg1
133
+ @ip += 2
134
+ arg1.used_at location
135
+ @current_block.add_stack(1, 0)
136
+ @current_block.left = arg1.basic_block
137
+ @current_block.close
138
+ block = new_basic_block
139
+ @current_block.right = block
140
+ @current_block = block
141
+ @instruction = 12
142
+ end
143
+
144
+ def goto_if_undefined(arg1)
145
+ location = @ip + 1
146
+ @stream << 13 << arg1
147
+ @ip += 2
148
+ arg1.used_at location
149
+ @current_block.add_stack(1, 0)
150
+ @current_block.left = arg1.basic_block
151
+ @current_block.close
152
+ block = new_basic_block
153
+ @current_block.right = block
154
+ @current_block = block
155
+ @instruction = 13
156
+ end
157
+
158
+ def goto_if_not_undefined(arg1)
159
+ location = @ip + 1
160
+ @stream << 14 << arg1
161
+ @ip += 2
162
+ arg1.used_at location
163
+ @current_block.add_stack(1, 0)
164
+ @current_block.left = arg1.basic_block
165
+ @current_block.close
166
+ block = new_basic_block
167
+ @current_block.right = block
168
+ @current_block = block
169
+ @instruction = 14
170
+ end
171
+
172
+ def goto_if_equal(arg1)
173
+ location = @ip + 1
174
+ @stream << 15 << arg1
175
+ @ip += 2
176
+ arg1.used_at location
177
+ @current_block.add_stack(2, 0)
178
+ @current_block.left = arg1.basic_block
179
+ @current_block.close
180
+ block = new_basic_block
181
+ @current_block.right = block
182
+ @current_block = block
183
+ @instruction = 15
184
+ end
185
+
186
+ def goto_if_not_equal(arg1)
187
+ location = @ip + 1
188
+ @stream << 16 << arg1
189
+ @ip += 2
190
+ arg1.used_at location
191
+ @current_block.add_stack(2, 0)
192
+ @current_block.left = arg1.basic_block
193
+ @current_block.close
194
+ block = new_basic_block
195
+ @current_block.right = block
196
+ @current_block = block
197
+ @instruction = 16
198
+ end
199
+
116
200
  def ret
117
- @stream << 11
201
+ @stream << 17
118
202
  @ip += 1
119
203
  @current_block.add_stack(1, 1)
120
204
  @current_block.close true
121
205
  @current_block = new_basic_block
122
- @instruction = 11
206
+ @instruction = 17
123
207
  end
124
208
 
125
209
  def swap_stack
126
- @stream << 12
210
+ @stream << 18
127
211
  @ip += 1
128
212
  @current_block.add_stack(2, 2)
129
- @instruction = 12
213
+ @instruction = 18
130
214
  end
131
215
 
132
216
  def dup_top
133
- @stream << 13
217
+ @stream << 19
134
218
  @ip += 1
135
219
  @current_block.add_stack(1, 2)
136
- @instruction = 13
220
+ @instruction = 19
137
221
  end
138
222
 
139
223
  def dup_many(arg1)
140
- @stream << 14 << arg1
224
+ @stream << 20 << arg1
141
225
  @ip += 2
142
226
  @current_block.add_stack(arg1, (arg1 * 2))
143
- @instruction = 14
227
+ @instruction = 20
144
228
  end
145
229
 
146
230
  def pop
147
- @stream << 15
231
+ @stream << 21
148
232
  @ip += 1
149
233
  @current_block.add_stack(1, 0)
150
- @instruction = 15
234
+ @instruction = 21
151
235
  end
152
236
 
153
237
  def pop_many(arg1)
154
- @stream << 16 << arg1
238
+ @stream << 22 << arg1
155
239
  @ip += 2
156
240
  @current_block.add_stack(arg1, 0)
157
- @instruction = 16
241
+ @instruction = 22
158
242
  end
159
243
 
160
244
  def rotate(arg1)
161
- @stream << 17 << arg1
245
+ @stream << 23 << arg1
162
246
  @ip += 2
163
247
  @current_block.add_stack(arg1, (arg1 * 1))
164
- @instruction = 17
248
+ @instruction = 23
165
249
  end
166
250
 
167
251
  def move_down(arg1)
168
- @stream << 18 << arg1
252
+ @stream << 24 << arg1
169
253
  @ip += 2
170
254
  @current_block.add_stack(arg1, (arg1 * 1))
171
- @instruction = 18
255
+ @instruction = 24
172
256
  end
173
257
 
174
258
  def set_local(arg1)
175
- @stream << 19 << arg1
259
+ @stream << 25 << arg1
176
260
  @ip += 2
177
261
  @current_block.add_stack(1, 1)
178
- @instruction = 19
262
+ @instruction = 25
179
263
  end
180
264
 
181
265
  def push_local(arg1)
182
- @stream << 20 << arg1
266
+ @stream << 26 << arg1
183
267
  @ip += 2
184
268
  @current_block.add_stack(0, 1)
185
- @instruction = 20
269
+ @instruction = 26
186
270
  end
187
271
 
188
272
  def push_local_depth(arg1, arg2)
189
- @stream << 21 << arg1 << arg2
273
+ @stream << 27 << arg1 << arg2
190
274
  @ip += 3
191
275
  @current_block.add_stack(0, 1)
192
- @instruction = 21
276
+ @instruction = 27
193
277
  end
194
278
 
195
279
  def set_local_depth(arg1, arg2)
196
- @stream << 22 << arg1 << arg2
280
+ @stream << 28 << arg1 << arg2
197
281
  @ip += 3
198
282
  @current_block.add_stack(1, 1)
199
- @instruction = 22
283
+ @instruction = 28
200
284
  end
201
285
 
202
286
  def passed_arg(arg1)
203
- @stream << 23 << arg1
287
+ @stream << 29 << arg1
204
288
  @ip += 2
205
289
  @current_block.add_stack(0, 1)
206
- @instruction = 23
290
+ @instruction = 29
207
291
  end
208
292
 
209
293
  def push_current_exception
210
- @stream << 24
294
+ @stream << 30
211
295
  @ip += 1
212
296
  @current_block.add_stack(0, 1)
213
- @instruction = 24
297
+ @instruction = 30
214
298
  end
215
299
 
216
300
  def clear_exception
217
- @stream << 25
301
+ @stream << 31
218
302
  @ip += 1
219
303
  @current_block.add_stack(0, 0)
220
- @instruction = 25
304
+ @instruction = 31
221
305
  end
222
306
 
223
307
  def push_exception_state
224
- @stream << 26
308
+ @stream << 32
225
309
  @ip += 1
226
310
  @current_block.add_stack(0, 1)
227
- @instruction = 26
311
+ @instruction = 32
228
312
  end
229
313
 
230
314
  def restore_exception_state
231
- @stream << 27
315
+ @stream << 33
232
316
  @ip += 1
233
317
  @current_block.add_stack(1, 0)
234
- @instruction = 27
318
+ @instruction = 33
235
319
  end
236
320
 
237
321
  def raise_exc
238
- @stream << 28
322
+ @stream << 34
239
323
  @ip += 1
240
324
  @current_block.add_stack(1, 0)
241
325
  @current_block.close false
242
326
  @current_block = new_basic_block
243
- @instruction = 28
327
+ @instruction = 34
244
328
  end
245
329
 
246
330
  def setup_unwind(arg1, arg2)
247
331
  location = @ip + 1
248
- @stream << 29 << arg1 << arg2
332
+ @stream << 35 << arg1 << arg2
249
333
  @ip += 3
250
334
  arg1.used_at location
251
335
  @current_block.add_stack(0, 0)
@@ -254,548 +338,548 @@ module Rubinius::ToolSets.current::ToolSet
254
338
  block = new_basic_block
255
339
  @current_block.right = block
256
340
  @current_block = block
257
- @instruction = 29
341
+ @instruction = 35
258
342
  end
259
343
 
260
344
  def pop_unwind
261
- @stream << 30
345
+ @stream << 36
262
346
  @ip += 1
263
347
  @current_block.add_stack(0, 0)
264
- @instruction = 30
348
+ @instruction = 36
265
349
  end
266
350
 
267
351
  def raise_return
268
- @stream << 31
352
+ @stream << 37
269
353
  @ip += 1
270
354
  @current_block.add_stack(1, 1)
271
355
  @current_block.close true
272
356
  @current_block = new_basic_block
273
- @instruction = 31
357
+ @instruction = 37
274
358
  end
275
359
 
276
360
  def ensure_return
277
- @stream << 32
361
+ @stream << 38
278
362
  @ip += 1
279
363
  @current_block.add_stack(1, 1)
280
364
  @current_block.close true
281
365
  @current_block = new_basic_block
282
- @instruction = 32
366
+ @instruction = 38
283
367
  end
284
368
 
285
369
  def raise_break
286
- @stream << 33
370
+ @stream << 39
287
371
  @ip += 1
288
372
  @current_block.add_stack(1, 1)
289
373
  @current_block.close false
290
374
  @current_block = new_basic_block
291
- @instruction = 33
375
+ @instruction = 39
292
376
  end
293
377
 
294
378
  def reraise
295
- @stream << 34
379
+ @stream << 40
296
380
  @ip += 1
297
381
  @current_block.add_stack(0, 0)
298
382
  @current_block.close false
299
383
  @current_block = new_basic_block
300
- @instruction = 34
384
+ @instruction = 40
301
385
  end
302
386
 
303
387
  def make_array(arg1)
304
- @stream << 35 << arg1
388
+ @stream << 41 << arg1
305
389
  @ip += 2
306
390
  @current_block.add_stack(arg1, 1)
307
- @instruction = 35
391
+ @instruction = 41
308
392
  end
309
393
 
310
394
  def cast_array
311
- unless @instruction == 36 or @instruction == 35
312
- @stream << 36
395
+ unless @instruction == 42 or @instruction == 41
396
+ @stream << 42
313
397
  @ip += 1
314
398
  end
315
- @instruction = 36
399
+ @instruction = 42
316
400
  end
317
401
 
318
402
  def shift_array
319
- @stream << 37
403
+ @stream << 43
320
404
  @ip += 1
321
405
  @current_block.add_stack(1, 2)
322
- @instruction = 37
406
+ @instruction = 43
323
407
  end
324
408
 
325
409
  def set_ivar(arg1)
326
410
  arg1 = find_literal arg1
327
- @stream << 38 << arg1
411
+ @stream << 44 << arg1
328
412
  @ip += 2
329
413
  @current_block.add_stack(1, 1)
330
- @instruction = 38
414
+ @instruction = 44
331
415
  end
332
416
 
333
417
  def push_ivar(arg1)
334
418
  arg1 = find_literal arg1
335
- @stream << 39 << arg1
419
+ @stream << 45 << arg1
336
420
  @ip += 2
337
421
  @current_block.add_stack(0, 1)
338
- @instruction = 39
422
+ @instruction = 45
339
423
  end
340
424
 
341
425
  def set_const(arg1)
342
- @stream << 41 << arg1
426
+ @stream << 47 << arg1
343
427
  @ip += 2
344
428
  @current_block.add_stack(1, 1)
345
- @instruction = 41
429
+ @instruction = 47
346
430
  end
347
431
 
348
432
  def set_const_at(arg1)
349
- @stream << 42 << arg1
433
+ @stream << 48 << arg1
350
434
  @ip += 2
351
435
  @current_block.add_stack(2, 1)
352
- @instruction = 42
436
+ @instruction = 48
353
437
  end
354
438
 
355
439
  def find_const(arg1)
356
440
  arg1 = find_literal arg1
357
- @stream << 43 << arg1
441
+ @stream << 49 << arg1
358
442
  @ip += 2
359
443
  @current_block.add_stack(1, 1)
360
- @instruction = 43
444
+ @instruction = 49
361
445
  end
362
446
 
363
447
  def push_cpath_top
364
- @stream << 44
448
+ @stream << 50
365
449
  @ip += 1
366
450
  @current_block.add_stack(0, 1)
367
- @instruction = 44
451
+ @instruction = 50
368
452
  end
369
453
 
370
454
  def push_const_fast(arg1)
371
- @stream << 45 << arg1
455
+ @stream << 51 << arg1
372
456
  @ip += 2
373
457
  @current_block.add_stack(0, 1)
374
- @instruction = 45
458
+ @instruction = 51
375
459
  end
376
460
 
377
461
  def find_const_fast(arg1)
378
- @stream << 46 << arg1
462
+ @stream << 52 << arg1
379
463
  @ip += 2
380
464
  @current_block.add_stack(1, 1)
381
- @instruction = 46
465
+ @instruction = 52
382
466
  end
383
467
 
384
468
  def set_call_flags(arg1)
385
- @stream << 47 << arg1
469
+ @stream << 53 << arg1
386
470
  @ip += 2
387
471
  @current_block.add_stack(0, 0)
388
- @instruction = 47
472
+ @instruction = 53
389
473
  end
390
474
 
391
475
  def allow_private
392
- @stream << 48
476
+ @stream << 54
393
477
  @ip += 1
394
478
  @current_block.add_stack(0, 0)
395
- @instruction = 48
479
+ @instruction = 54
396
480
  end
397
481
 
398
482
  def send_method(arg1)
399
- @stream << 49 << arg1
483
+ @stream << 55 << arg1
400
484
  @ip += 2
401
485
  @current_block.add_stack(1, 1)
402
- @instruction = 49
486
+ @instruction = 55
403
487
  end
404
488
 
405
489
  def send_stack(arg1, arg2)
406
- @stream << 50 << arg1 << arg2
490
+ @stream << 56 << arg1 << arg2
407
491
  @ip += 3
408
492
  @current_block.add_stack(arg2+1, 1)
409
- @instruction = 50
493
+ @instruction = 56
410
494
  end
411
495
 
412
496
  def send_stack_with_block(arg1, arg2)
413
- @stream << 51 << arg1 << arg2
497
+ @stream << 57 << arg1 << arg2
414
498
  @ip += 3
415
499
  @current_block.add_stack(arg2+2, 1)
416
- @instruction = 51
500
+ @instruction = 57
417
501
  end
418
502
 
419
503
  def send_stack_with_splat(arg1, arg2)
420
- @stream << 52 << arg1 << arg2
504
+ @stream << 58 << arg1 << arg2
421
505
  @ip += 3
422
506
  @current_block.add_stack(arg2+3, 1)
423
- @instruction = 52
507
+ @instruction = 58
424
508
  end
425
509
 
426
510
  def send_super_stack_with_block(arg1, arg2)
427
- @stream << 53 << arg1 << arg2
511
+ @stream << 59 << arg1 << arg2
428
512
  @ip += 3
429
513
  @current_block.add_stack(arg2+1, 1)
430
- @instruction = 53
514
+ @instruction = 59
431
515
  end
432
516
 
433
517
  def send_super_stack_with_splat(arg1, arg2)
434
- @stream << 54 << arg1 << arg2
518
+ @stream << 60 << arg1 << arg2
435
519
  @ip += 3
436
520
  @current_block.add_stack(arg2+2, 1)
437
- @instruction = 54
521
+ @instruction = 60
438
522
  end
439
523
 
440
524
  def push_block
441
- @stream << 55
525
+ @stream << 61
442
526
  @ip += 1
443
527
  @current_block.add_stack(0, 1)
444
- @instruction = 55
528
+ @instruction = 61
445
529
  end
446
530
 
447
531
  def passed_blockarg(arg1)
448
- @stream << 56 << arg1
532
+ @stream << 62 << arg1
449
533
  @ip += 2
450
534
  @current_block.add_stack(0, 1)
451
- @instruction = 56
535
+ @instruction = 62
452
536
  end
453
537
 
454
538
  def create_block(arg1)
455
539
  arg1 = add_literal arg1
456
540
  @generators << arg1
457
- @stream << 57 << arg1
541
+ @stream << 63 << arg1
458
542
  @ip += 2
459
543
  @current_block.add_stack(0, 1)
460
- @instruction = 57
544
+ @instruction = 63
461
545
  end
462
546
 
463
547
  def cast_for_single_block_arg
464
- @stream << 58
548
+ @stream << 64
465
549
  @ip += 1
466
550
  @current_block.add_stack(0, 1)
467
- @instruction = 58
551
+ @instruction = 64
468
552
  end
469
553
 
470
554
  def cast_for_multi_block_arg
471
- @stream << 59
555
+ @stream << 65
472
556
  @ip += 1
473
557
  @current_block.add_stack(0, 1)
474
- @instruction = 59
558
+ @instruction = 65
475
559
  end
476
560
 
477
561
  def cast_for_splat_block_arg
478
- @stream << 60
562
+ @stream << 66
479
563
  @ip += 1
480
564
  @current_block.add_stack(0, 1)
481
- @instruction = 60
565
+ @instruction = 66
482
566
  end
483
567
 
484
568
  def yield_stack(arg1)
485
- @stream << 61 << arg1
569
+ @stream << 67 << arg1
486
570
  @ip += 2
487
571
  @current_block.add_stack(arg1, 1)
488
- @instruction = 61
572
+ @instruction = 67
489
573
  end
490
574
 
491
575
  def yield_splat(arg1)
492
- @stream << 62 << arg1
576
+ @stream << 68 << arg1
493
577
  @ip += 2
494
578
  @current_block.add_stack(arg1+1, 1)
495
- @instruction = 62
579
+ @instruction = 68
496
580
  end
497
581
 
498
582
  def string_append
499
- @stream << 63
583
+ @stream << 69
500
584
  @ip += 1
501
585
  @current_block.add_stack(2, 1)
502
- @instruction = 63
586
+ @instruction = 69
503
587
  end
504
588
 
505
589
  def string_build(arg1)
506
- @stream << 64 << arg1
590
+ @stream << 70 << arg1
507
591
  @ip += 2
508
592
  @current_block.add_stack(arg1, 1)
509
- @instruction = 64
593
+ @instruction = 70
510
594
  end
511
595
 
512
596
  def string_dup
513
- @stream << 65
597
+ @stream << 71
514
598
  @ip += 1
515
599
  @current_block.add_stack(1, 1)
516
- @instruction = 65
600
+ @instruction = 71
517
601
  end
518
602
 
519
603
  def push_scope
520
- @stream << 66
604
+ @stream << 72
521
605
  @ip += 1
522
606
  @current_block.add_stack(0, 1)
523
- @instruction = 66
607
+ @instruction = 72
524
608
  end
525
609
 
526
610
  def add_scope
527
- @stream << 67
611
+ @stream << 73
528
612
  @ip += 1
529
613
  @current_block.add_stack(1, 0)
530
- @instruction = 67
614
+ @instruction = 73
531
615
  end
532
616
 
533
617
  def push_variables
534
- @stream << 68
618
+ @stream << 74
535
619
  @ip += 1
536
620
  @current_block.add_stack(0, 1)
537
- @instruction = 68
621
+ @instruction = 74
538
622
  end
539
623
 
540
624
  def check_interrupts
541
- @stream << 69
625
+ @stream << 75
542
626
  @ip += 1
543
627
  @current_block.add_stack(0, 0)
544
- @instruction = 69
628
+ @instruction = 75
545
629
  end
546
630
 
547
631
  def yield_debugger
548
- @stream << 70
632
+ @stream << 76
549
633
  @ip += 1
550
634
  @current_block.add_stack(0, 0)
551
- @instruction = 70
635
+ @instruction = 76
552
636
  end
553
637
 
554
638
  def is_nil
555
- @stream << 71
639
+ @stream << 77
556
640
  @ip += 1
557
641
  @current_block.add_stack(1, 1)
558
- @instruction = 71
642
+ @instruction = 77
559
643
  end
560
644
 
561
645
  def check_serial(arg1, arg2)
562
646
  arg1 = find_literal arg1
563
647
  arg2 = Integer(arg2)
564
- @stream << 72 << arg1 << arg2
648
+ @stream << 78 << arg1 << arg2
565
649
  @ip += 3
566
650
  @current_block.add_stack(1, 1)
567
- @instruction = 72
651
+ @instruction = 78
568
652
  end
569
653
 
570
654
  def check_serial_private(arg1, arg2)
571
655
  arg1 = find_literal arg1
572
656
  arg2 = Integer(arg2)
573
- @stream << 73 << arg1 << arg2
657
+ @stream << 79 << arg1 << arg2
574
658
  @ip += 3
575
659
  @current_block.add_stack(1, 1)
576
- @instruction = 73
660
+ @instruction = 79
577
661
  end
578
662
 
579
663
  def push_my_field(arg1)
580
- @stream << 74 << arg1
664
+ @stream << 80 << arg1
581
665
  @ip += 2
582
666
  @current_block.add_stack(0, 1)
583
- @instruction = 74
667
+ @instruction = 80
584
668
  end
585
669
 
586
670
  def store_my_field(arg1)
587
- @stream << 75 << arg1
671
+ @stream << 81 << arg1
588
672
  @ip += 2
589
673
  @current_block.add_stack(1, 1)
590
- @instruction = 75
674
+ @instruction = 81
591
675
  end
592
676
 
593
677
  def kind_of
594
- @stream << 76
678
+ @stream << 82
595
679
  @ip += 1
596
680
  @current_block.add_stack(2, 1)
597
- @instruction = 76
681
+ @instruction = 82
598
682
  end
599
683
 
600
684
  def instance_of
601
- @stream << 77
685
+ @stream << 83
602
686
  @ip += 1
603
687
  @current_block.add_stack(2, 1)
604
- @instruction = 77
688
+ @instruction = 83
605
689
  end
606
690
 
607
691
  def meta_push_neg_1
608
- @stream << 78
692
+ @stream << 84
609
693
  @ip += 1
610
694
  @current_block.add_stack(0, 1)
611
- @instruction = 78
695
+ @instruction = 84
612
696
  end
613
697
 
614
698
  def meta_push_0
615
- @stream << 79
699
+ @stream << 85
616
700
  @ip += 1
617
701
  @current_block.add_stack(0, 1)
618
- @instruction = 79
702
+ @instruction = 85
619
703
  end
620
704
 
621
705
  def meta_push_1
622
- @stream << 80
706
+ @stream << 86
623
707
  @ip += 1
624
708
  @current_block.add_stack(0, 1)
625
- @instruction = 80
709
+ @instruction = 86
626
710
  end
627
711
 
628
712
  def meta_push_2
629
- @stream << 81
713
+ @stream << 87
630
714
  @ip += 1
631
715
  @current_block.add_stack(0, 1)
632
- @instruction = 81
716
+ @instruction = 87
633
717
  end
634
718
 
635
719
  def meta_send_op_plus(arg1)
636
- @stream << 82 << arg1
720
+ @stream << 88 << arg1
637
721
  @ip += 2
638
722
  @current_block.add_stack(2, 1)
639
- @instruction = 82
723
+ @instruction = 88
640
724
  end
641
725
 
642
726
  def meta_send_op_minus(arg1)
643
- @stream << 83 << arg1
727
+ @stream << 89 << arg1
644
728
  @ip += 2
645
729
  @current_block.add_stack(2, 1)
646
- @instruction = 83
730
+ @instruction = 89
647
731
  end
648
732
 
649
733
  def meta_send_op_equal(arg1)
650
- @stream << 84 << arg1
734
+ @stream << 90 << arg1
651
735
  @ip += 2
652
736
  @current_block.add_stack(2, 1)
653
- @instruction = 84
737
+ @instruction = 90
654
738
  end
655
739
 
656
740
  def meta_send_op_lt(arg1)
657
- @stream << 85 << arg1
741
+ @stream << 91 << arg1
658
742
  @ip += 2
659
743
  @current_block.add_stack(2, 1)
660
- @instruction = 85
744
+ @instruction = 91
661
745
  end
662
746
 
663
747
  def meta_send_op_gt(arg1)
664
- @stream << 86 << arg1
748
+ @stream << 92 << arg1
665
749
  @ip += 2
666
750
  @current_block.add_stack(2, 1)
667
- @instruction = 86
751
+ @instruction = 92
668
752
  end
669
753
 
670
754
  def meta_send_op_tequal(arg1)
671
- @stream << 87 << arg1
755
+ @stream << 93 << arg1
672
756
  @ip += 2
673
757
  @current_block.add_stack(2, 1)
674
- @instruction = 87
758
+ @instruction = 93
675
759
  end
676
760
 
677
761
  def meta_send_call(arg1, arg2)
678
- @stream << 88 << arg1 << arg2
762
+ @stream << 94 << arg1 << arg2
679
763
  @ip += 3
680
764
  @current_block.add_stack(arg2+1, 1)
681
- @instruction = 88
765
+ @instruction = 94
682
766
  end
683
767
 
684
768
  def push_my_offset(arg1)
685
- @stream << 89 << arg1
769
+ @stream << 95 << arg1
686
770
  @ip += 2
687
771
  @current_block.add_stack(0, 1)
688
- @instruction = 89
772
+ @instruction = 95
689
773
  end
690
774
 
691
775
  def zsuper(arg1)
692
776
  arg1 = find_literal arg1
693
- @stream << 90 << arg1
777
+ @stream << 96 << arg1
694
778
  @ip += 2
695
779
  @current_block.add_stack(1, 1)
696
- @instruction = 90
780
+ @instruction = 96
697
781
  end
698
782
 
699
783
  def push_block_arg
700
- @stream << 91
784
+ @stream << 97
701
785
  @ip += 1
702
786
  @current_block.add_stack(0, 1)
703
- @instruction = 91
787
+ @instruction = 97
704
788
  end
705
789
 
706
790
  def push_undef
707
- @stream << 92
791
+ @stream << 98
708
792
  @ip += 1
709
793
  @current_block.add_stack(0, 1)
710
- @instruction = 92
794
+ @instruction = 98
711
795
  end
712
796
 
713
797
  def push_stack_local(arg1)
714
- @stream << 93 << arg1
798
+ @stream << 99 << arg1
715
799
  @ip += 2
716
800
  @current_block.add_stack(0, 1)
717
- @instruction = 93
801
+ @instruction = 99
718
802
  end
719
803
 
720
804
  def set_stack_local(arg1)
721
- @stream << 94 << arg1
805
+ @stream << 100 << arg1
722
806
  @ip += 2
723
807
  @current_block.add_stack(1, 1)
724
- @instruction = 94
808
+ @instruction = 100
725
809
  end
726
810
 
727
811
  def push_has_block
728
- @stream << 95
812
+ @stream << 101
729
813
  @ip += 1
730
814
  @current_block.add_stack(0, 1)
731
- @instruction = 95
815
+ @instruction = 101
732
816
  end
733
817
 
734
818
  def push_proc
735
- @stream << 96
819
+ @stream << 102
736
820
  @ip += 1
737
821
  @current_block.add_stack(0, 1)
738
- @instruction = 96
822
+ @instruction = 102
739
823
  end
740
824
 
741
825
  def check_frozen
742
- @stream << 97
826
+ @stream << 103
743
827
  @ip += 1
744
828
  @current_block.add_stack(1, 1)
745
- @instruction = 97
829
+ @instruction = 103
746
830
  end
747
831
 
748
832
  def cast_multi_value
749
- @stream << 98
833
+ @stream << 104
750
834
  @ip += 1
751
835
  @current_block.add_stack(1, 1)
752
- @instruction = 98
836
+ @instruction = 104
753
837
  end
754
838
 
755
839
  def invoke_primitive(arg1, arg2)
756
840
  arg1 = find_literal arg1
757
841
  arg2 = Integer(arg2)
758
- @stream << 99 << arg1 << arg2
842
+ @stream << 105 << arg1 << arg2
759
843
  @ip += 3
760
844
  @current_block.add_stack(arg2, 1)
761
- @instruction = 99
845
+ @instruction = 105
762
846
  end
763
847
 
764
848
  def push_rubinius
765
- @stream << 100
849
+ @stream << 106
766
850
  @ip += 1
767
851
  @current_block.add_stack(0, 1)
768
- @instruction = 100
852
+ @instruction = 106
769
853
  end
770
854
 
771
855
  def call_custom(arg1, arg2)
772
856
  arg1 = find_literal arg1
773
857
  arg2 = Integer(arg2)
774
- @stream << 101 << arg1 << arg2
858
+ @stream << 107 << arg1 << arg2
775
859
  @ip += 3
776
860
  @current_block.add_stack(arg2+1, 1)
777
- @instruction = 101
861
+ @instruction = 107
778
862
  end
779
863
 
780
864
  def meta_to_s(arg1)
781
- @stream << 102 << arg1
865
+ @stream << 108 << arg1
782
866
  @ip += 2
783
867
  @current_block.add_stack(1, 1)
784
- @instruction = 102
868
+ @instruction = 108
785
869
  end
786
870
 
787
871
  def push_type
788
- @stream << 103
872
+ @stream << 109
789
873
  @ip += 1
790
874
  @current_block.add_stack(0, 1)
791
- @instruction = 103
875
+ @instruction = 109
792
876
  end
793
877
 
794
878
  def push_mirror
795
- @stream << 104
879
+ @stream << 110
796
880
  @ip += 1
797
881
  @current_block.add_stack(0, 1)
798
- @instruction = 104
882
+ @instruction = 110
799
883
  end
800
884
 
801
885
  end