rubinius-compiler 1.2.1 → 2.0.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: 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