File tree Expand file tree Collapse file tree 1 file changed +1
-24
lines changed
src/main/java/org/truffleruby/core/array Expand file tree Collapse file tree 1 file changed +1
-24
lines changed Original file line number Diff line number Diff line change @@ -32,37 +32,14 @@ public ArrayConcatNode(RubyNode[] children) {
32
32
this .children = children ;
33
33
}
34
34
35
+ @ ExplodeLoop
35
36
@ Override
36
37
public RubyArray execute (VirtualFrame frame ) {
37
38
if (arrayBuilderNode == null ) {
38
39
CompilerDirectives .transferToInterpreterAndInvalidate ();
39
40
arrayBuilderNode = insert (ArrayBuilderNode .create ());
40
41
}
41
- if (children .length == 1 ) {
42
- return executeSingle (frame );
43
- } else {
44
- return executeMultiple (frame );
45
- }
46
- }
47
-
48
- private RubyArray executeSingle (VirtualFrame frame ) {
49
- BuilderState state = arrayBuilderNode .start ();
50
- final Object childObject = children [0 ].execute (frame );
51
42
52
- final int size ;
53
- if (isArrayProfile .profile (childObject instanceof RubyArray )) {
54
- final RubyArray childArray = (RubyArray ) childObject ;
55
- size = childArray .size ;
56
- arrayBuilderNode .appendArray (state , 0 , childArray );
57
- } else {
58
- size = 1 ;
59
- arrayBuilderNode .appendValue (state , 0 , childObject );
60
- }
61
- return createArray (arrayBuilderNode .finish (state , size ), size );
62
- }
63
-
64
- @ ExplodeLoop
65
- private RubyArray executeMultiple (VirtualFrame frame ) {
66
43
BuilderState state = arrayBuilderNode .start ();
67
44
int length = 0 ;
68
45
You can’t perform that action at this time.
0 commit comments