rubinius-compiler 1.2.1 → 2.0.0

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