rubinius-compiler 2.3.1 → 3.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.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rubinius/code/compiler.rb +10 -0
  3. data/lib/rubinius/{compiler → code/compiler}/compiled_file.rb +0 -0
  4. data/lib/rubinius/{compiler → code/compiler}/compiler.rb +0 -0
  5. data/lib/rubinius/{compiler → code/compiler}/evaluator.rb +0 -0
  6. data/lib/rubinius/{compiler → code/compiler}/generator.rb +0 -0
  7. data/lib/rubinius/{compiler → code/compiler}/generator_methods.rb +0 -0
  8. data/lib/rubinius/{compiler → code/compiler}/iseq.rb +0 -0
  9. data/lib/rubinius/{compiler → code/compiler}/locals.rb +0 -0
  10. data/lib/rubinius/{compiler → code/compiler}/opcodes.rb +0 -0
  11. data/lib/rubinius/{compiler → code/compiler}/printers.rb +0 -0
  12. data/lib/rubinius/{compiler → code/compiler}/stages.rb +0 -0
  13. data/lib/rubinius/{compiler → code/compiler}/version.rb +1 -1
  14. metadata +23 -271
  15. data/.gitignore +0 -17
  16. data/.travis.yml +0 -8
  17. data/Gemfile +0 -4
  18. data/LICENSE +0 -25
  19. data/README.md +0 -29
  20. data/Rakefile +0 -1
  21. data/lib/rubinius/compiler.rb +0 -10
  22. data/rubinius-compiler.gemspec +0 -28
  23. data/spec/alias_spec.rb +0 -39
  24. data/spec/and_spec.rb +0 -44
  25. data/spec/array_spec.rb +0 -110
  26. data/spec/attrasgn_spec.rb +0 -186
  27. data/spec/back_ref_spec.rb +0 -11
  28. data/spec/call_spec.rb +0 -580
  29. data/spec/case_spec.rb +0 -576
  30. data/spec/cdecl_spec.rb +0 -70
  31. data/spec/class_spec.rb +0 -120
  32. data/spec/colon2_spec.rb +0 -8
  33. data/spec/colon3_spec.rb +0 -8
  34. data/spec/const_spec.rb +0 -7
  35. data/spec/custom/guards/profiler.rb +0 -18
  36. data/spec/custom/helpers/generator.rb +0 -828
  37. data/spec/custom/matchers/compile_as.rb +0 -46
  38. data/spec/custom/mspec.rb +0 -15
  39. data/spec/custom/runner/actions/debug.rb +0 -10
  40. data/spec/custom/runner/actions/gcstats.rb +0 -17
  41. data/spec/custom/runner/actions/memory.rb +0 -11
  42. data/spec/custom/runner/actions/parser.rb +0 -14
  43. data/spec/custom/runner/actions/profiler.rb +0 -19
  44. data/spec/custom/runner/relates.rb +0 -86
  45. data/spec/custom/utils/options.rb +0 -40
  46. data/spec/custom/utils/script.rb +0 -50
  47. data/spec/cvar_spec.rb +0 -39
  48. data/spec/cvasgn_spec.rb +0 -33
  49. data/spec/cvdecl_spec.rb +0 -17
  50. data/spec/defined_spec.rb +0 -616
  51. data/spec/defn_spec.rb +0 -732
  52. data/spec/defs_spec.rb +0 -113
  53. data/spec/dot2_spec.rb +0 -16
  54. data/spec/dot3_spec.rb +0 -17
  55. data/spec/dregx_spec.rb +0 -160
  56. data/spec/dstr_spec.rb +0 -424
  57. data/spec/dsym_spec.rb +0 -18
  58. data/spec/dxstr_spec.rb +0 -24
  59. data/spec/ensure_spec.rb +0 -196
  60. data/spec/false_spec.rb +0 -7
  61. data/spec/flip2_spec.rb +0 -21
  62. data/spec/flip3_spec.rb +0 -12
  63. data/spec/for_spec.rb +0 -228
  64. data/spec/gasgn_spec.rb +0 -15
  65. data/spec/generator/encode_spec.rb +0 -34
  66. data/spec/gvar_spec.rb +0 -37
  67. data/spec/hash_spec.rb +0 -108
  68. data/spec/iasgn_spec.rb +0 -26
  69. data/spec/if_spec.rb +0 -415
  70. data/spec/iter_spec.rb +0 -1011
  71. data/spec/lasgn_spec.rb +0 -561
  72. data/spec/lit_spec.rb +0 -61
  73. data/spec/masgn_spec.rb +0 -1558
  74. data/spec/match2_spec.rb +0 -42
  75. data/spec/match3_spec.rb +0 -54
  76. data/spec/match_spec.rb +0 -29
  77. data/spec/module_spec.rb +0 -73
  78. data/spec/nil_spec.rb +0 -7
  79. data/spec/not_spec.rb +0 -47
  80. data/spec/nth_ref_spec.rb +0 -7
  81. data/spec/op_asgn_spec.rb +0 -563
  82. data/spec/or_spec.rb +0 -126
  83. data/spec/postexe_spec.rb +0 -11
  84. data/spec/preexe_spec.rb +0 -21
  85. data/spec/regex_spec.rb +0 -54
  86. data/spec/rescue_spec.rb +0 -763
  87. data/spec/return_spec.rb +0 -152
  88. data/spec/sclass_spec.rb +0 -138
  89. data/spec/spec_helper.rb +0 -12
  90. data/spec/str_spec.rb +0 -118
  91. data/spec/super_spec.rb +0 -170
  92. data/spec/transforms/assembly_spec.rb +0 -195
  93. data/spec/transforms/block_given_spec.rb +0 -75
  94. data/spec/transforms/fast_coerce_spec.rb +0 -112
  95. data/spec/transforms/fast_new_spec.rb +0 -255
  96. data/spec/transforms/invoke_primitive_spec.rb +0 -14
  97. data/spec/transforms/kernel_methods_spec.rb +0 -29
  98. data/spec/transforms/primitive_spec.rb +0 -33
  99. data/spec/transforms/privately_spec.rb +0 -24
  100. data/spec/true_spec.rb +0 -7
  101. data/spec/undef_spec.rb +0 -133
  102. data/spec/until_spec.rb +0 -254
  103. data/spec/valias_spec.rb +0 -11
  104. data/spec/while_spec.rb +0 -494
  105. data/spec/xstr_spec.rb +0 -10
  106. data/spec/yield_spec.rb +0 -92
  107. data/spec/zsuper_spec.rb +0 -63
data/spec/lasgn_spec.rb DELETED
@@ -1,561 +0,0 @@
1
- describe "An Lasgn node" do
2
- relates "a = 1" do
3
- compile do |g|
4
- g.push 1
5
- g.set_local 0
6
- end
7
- end
8
-
9
- relates "a = b, c, *d" do
10
- compile do |g|
11
- g.push :self
12
- g.send :b, 0, true
13
- g.push :self
14
- g.send :c, 0, true
15
- g.make_array 2
16
- g.push :self
17
- g.send :d, 0, true
18
- g.cast_array
19
- g.send :+, 1
20
- g.set_local 0
21
- end
22
- end
23
-
24
- relates "a = [b, *c]" do
25
- compile do |g|
26
- g.push :self
27
- g.send :b, 0, true
28
- g.make_array 1
29
- g.push :self
30
- g.send :c, 0, true
31
- g.cast_array
32
- g.send :+, 1
33
- g.set_local 0
34
- end
35
- end
36
-
37
- relates <<-ruby do
38
- x = (y = 1
39
- (y + 2))
40
- ruby
41
-
42
- compile do |g|
43
- g.push 1
44
- g.set_local 1
45
- g.pop
46
- g.push_local 1
47
- g.push 2
48
- g.send :+, 1, false
49
- g.set_local 0
50
- end
51
- end
52
-
53
- relates <<-ruby do
54
- a = []
55
- a [42]
56
- ruby
57
-
58
- # call index space
59
- end
60
-
61
- relates 'var = ["foo", "bar"]' do
62
- compile do |g|
63
- g.push_literal "foo"
64
- g.string_dup
65
- g.push_literal "bar"
66
- g.string_dup
67
- g.make_array 2
68
- g.set_local 0
69
- end
70
- end
71
-
72
- relates "c = (2 + 3)" do
73
- compile do |g|
74
- g.push 2
75
- g.push 3
76
- g.send :+, 1, false
77
- g.set_local 0
78
- end
79
- end
80
-
81
- ruby_version_is ""..."1.9" do
82
- relates "a = *[1]" do
83
- compile do |g|
84
- g.splatted_array
85
- g.set_local 0
86
- end
87
- end
88
-
89
- relates "a = *b" do
90
- compile do |g|
91
- t = g.new_label
92
-
93
- g.push :self
94
- g.send :b, 0, true
95
- g.cast_array
96
- g.dup
97
-
98
- g.send :size, 0
99
- g.push 1
100
- g.send :>, 1
101
- g.git t
102
-
103
- g.push 0
104
- g.send :at, 1
105
- t.set!
106
- g.set_local 0
107
- end
108
- end
109
- end
110
-
111
- ruby_version_is "1.9" do
112
- relates "a = *[1]" do
113
- compile do |g|
114
- g.push 1
115
- g.make_array 1
116
- g.set_local 0
117
- end
118
- end
119
-
120
- relates "a = *b" do
121
- compile do |g|
122
- g.push :self
123
- g.send :b, 0, true
124
- g.cast_array
125
- g.set_local 0
126
- end
127
- end
128
- end
129
-
130
- relates <<-ruby do
131
- a = if c
132
- begin
133
- b
134
- rescue
135
- nil
136
- end
137
- end
138
- a
139
- ruby
140
-
141
- compile do |g|
142
- bottom = g.new_label
143
- f = g.new_label
144
-
145
- g.push :self
146
- g.send :c, 0, true
147
- g.gif f
148
-
149
- for_rescue do |rb|
150
- rb.body do
151
- g.push :self
152
- g.send :b, 0, true
153
- end
154
-
155
- rb.condition :StandardError, true do
156
- g.push :nil
157
- end
158
- end
159
-
160
- g.goto bottom
161
-
162
- f.set!
163
- g.push :nil
164
-
165
- bottom.set!
166
- g.set_local 0
167
- g.pop
168
- g.push_local 0
169
- end
170
- end
171
-
172
- relates "x = [*[1]]" do
173
- compile do |g|
174
- g.push 1
175
- g.make_array 1
176
- g.set_local 0
177
- end
178
- end
179
-
180
- relates "a = []" do
181
- compile do |g|
182
- g.make_array 0
183
- g.set_local 0
184
- end
185
- end
186
-
187
- relates <<-ruby do
188
- a = 12
189
- a
190
- ruby
191
-
192
- compile do |g|
193
- g.push 12
194
- g.set_local 0
195
- g.pop
196
- g.push_local 0
197
- end
198
- end
199
-
200
- relates <<-ruby do
201
- name
202
- name = 3
203
- name
204
- ruby
205
-
206
- # TODO
207
- end
208
-
209
- relates "a=12; b=13; true" do
210
- compile do |g|
211
- g.push 12
212
- g.set_local 0
213
- g.pop
214
- g.push 13
215
- g.set_local 1
216
- g.pop
217
- g.push :true
218
- end
219
- end
220
-
221
- relates <<-ruby do
222
- def f
223
- a = 1
224
- end
225
- ruby
226
-
227
- compile do |g|
228
- in_method :f do |d|
229
- d.push 1
230
- d.set_local 0
231
- end
232
- end
233
- end
234
-
235
- relates <<-ruby do
236
- def f(a)
237
- a = 1
238
- end
239
- ruby
240
-
241
- compile do |g|
242
- in_method :f do |d|
243
- d.push 1
244
- d.set_local 0
245
- end
246
- end
247
- end
248
-
249
- relates <<-ruby do
250
- def f
251
- b { a = 1 }
252
- end
253
- ruby
254
-
255
- compile do |g|
256
- in_method :f do |d|
257
- d.push :self
258
-
259
- d.in_block_send :b, :none do |e|
260
- e.push 1
261
- e.set_local 0
262
- end
263
- end
264
- end
265
- end
266
-
267
- relates <<-ruby do
268
- def f(a)
269
- b { a = 2 }
270
- end
271
- ruby
272
-
273
- compile do |g|
274
- in_method :f do |d|
275
- d.push :self
276
-
277
- d.in_block_send :b, :none do |e|
278
- e.push 2
279
- e.set_local_depth 1, 0
280
- end
281
- end
282
- end
283
- end
284
-
285
- relates <<-ruby do
286
- def f
287
- a = 1
288
- b { a = 2 }
289
- end
290
- ruby
291
-
292
- compile do |g|
293
- in_method :f do |d|
294
- d.push 1
295
- d.set_local 0
296
- d.pop
297
-
298
- d.push :self
299
-
300
- d.in_block_send :b, :none do |e|
301
- e.push 2
302
- e.set_local_depth 1, 0
303
- end
304
- end
305
- end
306
- end
307
-
308
- relates <<-ruby do
309
- def f
310
- a
311
- b { a = 1 }
312
- end
313
- ruby
314
-
315
- compile do |g|
316
- in_method :f do |d|
317
- d.push :self
318
- d.send :a, 0, true
319
- d.pop
320
-
321
- d.push :self
322
-
323
- d.in_block_send :b, :none do |e|
324
- e.push 1
325
- e.set_local 0
326
- end
327
- end
328
- end
329
- end
330
-
331
- relates <<-ruby do
332
- def f
333
- b { a = 1 }
334
- a
335
- end
336
- ruby
337
-
338
- compile do |g|
339
- in_method :f do |d|
340
- d.push :self
341
-
342
- d.in_block_send :b, :none do |e|
343
- e.push 1
344
- e.set_local 0
345
- end
346
-
347
- d.pop
348
- d.push :self
349
- d.send :a, 0, true
350
- end
351
- end
352
- end
353
-
354
- relates <<-ruby do
355
- def f
356
- a = 1
357
- b { a = 2 }
358
- a
359
- end
360
- ruby
361
-
362
- compile do |g|
363
- in_method :f do |d|
364
- d.push 1
365
- d.set_local 0
366
- d.pop
367
-
368
- d.push :self
369
-
370
- d.in_block_send :b, :none do |e|
371
- e.push 2
372
- e.set_local_depth 1, 0
373
- end
374
-
375
- d.pop
376
- d.push_local 0
377
- end
378
- end
379
- end
380
-
381
- relates <<-ruby do
382
- class F
383
- a = 1
384
- end
385
- ruby
386
-
387
- compile do |g|
388
- in_class :F do |d|
389
- d.push 1
390
- d.set_local 0
391
- end
392
- end
393
- end
394
-
395
- relates <<-ruby do
396
- a = Object
397
- class a::F
398
- b = 1
399
- end
400
- ruby
401
-
402
- compile do |g|
403
- g.push_const :Object
404
- g.set_local 0
405
- g.pop
406
-
407
- g.push_rubinius
408
- g.push_literal :F
409
- g.push :nil
410
- g.push_local 0
411
- g.send :open_class_under, 3
412
-
413
- d = new_generator(g, :F)
414
- g.create_block d
415
-
416
- d.push_self
417
- d.add_scope
418
-
419
- d.push 1
420
- d.set_local 0
421
- d.ret
422
-
423
- g.swap
424
- g.push_scope
425
- g.push_true
426
- g.send :call_under, 3
427
- end
428
- end
429
-
430
- relates <<-ruby do
431
- a = Object
432
- class F < a
433
- b = 1
434
- end
435
- ruby
436
-
437
- compile do |g|
438
- g.push_const :Object
439
- g.set_local 0
440
- g.pop
441
-
442
- g.push_rubinius
443
- g.push_literal :F
444
- g.push_local 0
445
- g.push_scope
446
- g.send :open_class, 3
447
-
448
- d = new_generator(g, :F)
449
- g.create_block d
450
-
451
- d.push_self
452
- d.add_scope
453
-
454
- d.push 1
455
- d.set_local 0
456
-
457
- d.ret
458
-
459
- g.swap
460
- g.push_scope
461
- g.push_true
462
- g.send :call_under, 3
463
- end
464
- end
465
-
466
- relates <<-ruby do
467
- class F
468
- a = 1
469
- def f
470
- a = 1
471
- end
472
- end
473
- ruby
474
-
475
- compile do |g|
476
- in_class :F do |d|
477
- d.push 1
478
- d.set_local 0
479
- d.pop
480
-
481
- d.in_method :f do |e|
482
- e.push 1
483
- e.set_local 0
484
- end
485
- end
486
- end
487
- end
488
-
489
- relates <<-ruby do
490
- module M
491
- a = 1
492
- end
493
- ruby
494
-
495
- compile do |g|
496
- in_module :M do |d|
497
- d.push 1
498
- d.set_local 0
499
- end
500
- end
501
- end
502
-
503
- relates <<-ruby do
504
- module M
505
- a = 1
506
- def f
507
- a = 1
508
- end
509
- end
510
- ruby
511
-
512
- compile do |g|
513
- in_module :M do |d|
514
- d.push 1
515
- d.set_local 0
516
- d.pop
517
-
518
- d.in_method :f do |e|
519
- e.push 1
520
- e.set_local 0
521
- end
522
- end
523
- end
524
- end
525
-
526
- relates <<-ruby do
527
- a = Object
528
- module a::M
529
- b = 1
530
- end
531
- ruby
532
-
533
- compile do |g|
534
- g.push_const :Object
535
- g.set_local 0
536
- g.pop
537
-
538
- g.push_rubinius
539
- g.push_literal :M
540
- g.push_local 0
541
- g.send :open_module_under, 2
542
-
543
-
544
- d = new_generator(g, :F)
545
- g.create_block d
546
-
547
- d.push_self
548
- d.add_scope
549
-
550
- d.push 1
551
- d.set_local 0
552
-
553
- d.ret
554
-
555
- g.swap
556
- g.push_scope
557
- g.push_true
558
- g.send :call_under, 3
559
- end
560
- end
561
- end