-
-
Notifications
You must be signed in to change notification settings - Fork 925
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Truffle] Continue to reduce duplication in array nodes.
- 9.4.12.0
- 9.4.11.0
- 9.4.10.0
- 9.4.9.0
- 9.4.8.0
- 9.4.7.0
- 9.4.6.0
- 9.4.5.0
- 9.4.4.0
- 9.4.3.0
- 9.4.2.0
- 9.4.1.0
- 9.4.0.0
- 9.3.15.0
- 9.3.14.0
- 9.3.13.0
- 9.3.12.0
- 9.3.11.0
- 9.3.10.0
- 9.3.9.0
- 9.3.8.0
- 9.3.7.0
- 9.3.6.0
- 9.3.5.0
- 9.3.4.0
- 9.3.3.0
- 9.3.2.0
- 9.3.1.0
- 9.3.0.0
- 9.2.21.0
- 9.2.20.1
- 9.2.20.0
- 9.2.19.0
- 9.2.18.0
- 9.2.17.0
- 9.2.16.0
- 9.2.15.0
- 9.2.14.0
- 9.2.13.0
- 9.2.12.0
- 9.2.11.1
- 9.2.11.0
- 9.2.10.0
- 9.2.9.0
- 9.2.8.0
- 9.2.7.0
- 9.2.6.0
- 9.2.5.0
- 9.2.4.1
- 9.2.4.0
- 9.2.3.0
- 9.2.2.0
- 9.2.1.0
- 9.2.0.0
- 9.1.17.0
- 9.1.16.0
- 9.1.15.0
- 9.1.14.0
- 9.1.13.0
- 9.1.12.0
- 9.1.11.0
- 9.1.10.0
- 9.1.9.0
- 9.1.8.0
- 9.1.7.0
- 9.1.6.0
- 9.1.5.0
- 9.1.4.0
- 9.1.3.0
- 9.1.2.0
- 9.1.1.0
- 9.1.0.0
- 9.0.5.0
- 9.0.4.0
- 9.0.3.0
- 9.0.1.0
- 9.0.0.0
- 9.0.0.0.rc2
- 9.0.0.0.rc1
1 parent
ae14341
commit 2416cd3
Showing
28 changed files
with
348 additions
and
223 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
72 changes: 0 additions & 72 deletions
72
truffle/src/main/java/org/jruby/truffle/nodes/core/array/ArrayView.java
This file was deleted.
Oops, something went wrong.
30 changes: 0 additions & 30 deletions
30
truffle/src/main/java/org/jruby/truffle/nodes/core/array/ArrayViews.java
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
207 changes: 207 additions & 0 deletions
207
truffle/src/main/java/org/jruby/truffle/runtime/array/ArrayMirror.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,207 @@ | ||
/* | ||
* Copyright (c) 2015 Oracle and/or its affiliates. All rights reserved. This | ||
* code is released under a tri EPL/GPL/LGPL license. You can use it, | ||
* redistribute it and/or modify it under the terms of the: | ||
* | ||
* Eclipse Public License version 1.0 | ||
* GNU General Public License version 2 | ||
* GNU Lesser General Public License version 2.1 | ||
*/ | ||
package org.jruby.truffle.runtime.array; | ||
|
||
import java.util.Arrays; | ||
|
||
public abstract class ArrayMirror { | ||
|
||
public static IntegerArrayMirror reflect(int[] array) { | ||
return new IntegerArrayMirror(array); | ||
} | ||
|
||
public static LongArrayMirror reflect(long[] array) { | ||
return new LongArrayMirror(array); | ||
} | ||
|
||
public static DoubleArrayMirror reflect(double[] array) { | ||
return new DoubleArrayMirror(array); | ||
} | ||
|
||
public static ObjectArrayMirror reflect(Object[] array) { | ||
return new ObjectArrayMirror(array); | ||
} | ||
|
||
public abstract int getLength(); | ||
public abstract Object get(int index); | ||
public abstract void set(int index, Object value); | ||
public abstract ArrayMirror copyMirror(int newLength); | ||
public abstract Object[] getBoxedCopy(int newLength); | ||
public abstract Object getArray(); | ||
|
||
public Object copyMirror() { | ||
return copyMirror(getLength()); | ||
} | ||
|
||
public Object[] getBoxedCopy() { | ||
return getBoxedCopy(getLength()); | ||
} | ||
|
||
private static class IntegerArrayMirror extends ArrayMirror { | ||
|
||
private final int[] array; | ||
|
||
public IntegerArrayMirror(int[] array) { | ||
this.array = array; | ||
} | ||
|
||
@Override | ||
public int getLength() { | ||
return array.length; | ||
} | ||
|
||
@Override | ||
public Object get(int index) { | ||
return array[index]; | ||
} | ||
|
||
@Override | ||
public void set(int index, Object value) { | ||
array[index] = (int) value; | ||
} | ||
|
||
@Override | ||
public ArrayMirror copyMirror(int newLength) { | ||
return new IntegerArrayMirror(Arrays.copyOf(array, newLength)); | ||
} | ||
|
||
@Override | ||
public Object[] getBoxedCopy(int newLength) { | ||
return ArrayUtils.box(array, newLength); | ||
} | ||
|
||
@Override | ||
public Object getArray() { | ||
return array; | ||
} | ||
|
||
} | ||
|
||
private static class LongArrayMirror extends ArrayMirror { | ||
|
||
private final long[] array; | ||
|
||
public LongArrayMirror(long[] array) { | ||
this.array = array; | ||
} | ||
|
||
@Override | ||
public int getLength() { | ||
return array.length; | ||
} | ||
|
||
@Override | ||
public Object get(int index) { | ||
return array[index]; | ||
} | ||
|
||
@Override | ||
public void set(int index, Object value) { | ||
array[index] = (long) value; | ||
} | ||
|
||
@Override | ||
public ArrayMirror copyMirror(int newLength) { | ||
return new LongArrayMirror(Arrays.copyOf(array, newLength)); | ||
} | ||
|
||
@Override | ||
public Object[] getBoxedCopy(int newLength) { | ||
return ArrayUtils.box(array, newLength); | ||
} | ||
|
||
@Override | ||
public Object getArray() { | ||
return array; | ||
} | ||
|
||
} | ||
|
||
private static class DoubleArrayMirror extends ArrayMirror { | ||
|
||
private final double[] array; | ||
|
||
public DoubleArrayMirror(double[] array) { | ||
this.array = array; | ||
} | ||
|
||
@Override | ||
public int getLength() { | ||
return array.length; | ||
} | ||
|
||
@Override | ||
public Object get(int index) { | ||
return array[index]; | ||
} | ||
|
||
@Override | ||
public void set(int index, Object value) { | ||
array[index] = (double) value; | ||
} | ||
|
||
@Override | ||
public ArrayMirror copyMirror(int newLength) { | ||
return new DoubleArrayMirror(Arrays.copyOf(array, newLength)); | ||
} | ||
|
||
@Override | ||
public Object[] getBoxedCopy(int newLength) { | ||
return ArrayUtils.box(array, newLength); | ||
} | ||
|
||
@Override | ||
public Object getArray() { | ||
return array; | ||
} | ||
|
||
} | ||
|
||
private static class ObjectArrayMirror extends ArrayMirror { | ||
|
||
private final Object[] array; | ||
|
||
public ObjectArrayMirror(Object[] array) { | ||
this.array = array; | ||
} | ||
|
||
@Override | ||
public int getLength() { | ||
return array.length; | ||
} | ||
|
||
@Override | ||
public Object get(int index) { | ||
return array[index]; | ||
} | ||
|
||
@Override | ||
public void set(int index, Object value) { | ||
array[index] = value; | ||
} | ||
|
||
@Override | ||
public ArrayMirror copyMirror(int newLength) { | ||
return new ObjectArrayMirror(ArrayUtils.copyOf(array, newLength)); | ||
} | ||
|
||
@Override | ||
public Object[] getBoxedCopy(int newLength) { | ||
return ArrayUtils.copyOf(array, newLength); | ||
} | ||
|
||
@Override | ||
public Object getArray() { | ||
return array; | ||
} | ||
|
||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters