nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeArray.java
--- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeArray.java Wed Jul 05 22:30:52 2017 +0200
+++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeArray.java Fri Nov 25 14:20:24 2016 +0100
@@ -61,7 +61,6 @@
import jdk.nashorn.internal.runtime.OptimisticBuiltins;
import jdk.nashorn.internal.runtime.PropertyDescriptor;
import jdk.nashorn.internal.runtime.PropertyMap;
-import jdk.nashorn.internal.runtime.ScriptFunction;
import jdk.nashorn.internal.runtime.ScriptObject;
import jdk.nashorn.internal.runtime.ScriptRuntime;
import jdk.nashorn.internal.runtime.Undefined;
@@ -748,7 +747,7 @@
* @param arg argument
* @return resulting NativeArray
*/
- @SpecializedFunction(linkLogic=ConcatLinkLogic.class)
+ @SpecializedFunction(linkLogic=ConcatLinkLogic.class, convertsNumericArgs = false)
public static NativeArray concat(final Object self, final int arg) {
final ContinuousArrayData newData = getContinuousArrayDataCCE(self, Integer.class).copy(); //get at least an integer data copy of this data
newData.fastPush(arg); //add an integer to its end
@@ -762,21 +761,7 @@
* @param arg argument
* @return resulting NativeArray
*/
- @SpecializedFunction(linkLogic=ConcatLinkLogic.class)
- public static NativeArray concat(final Object self, final long arg) {
- final ContinuousArrayData newData = getContinuousArrayDataCCE(self, Long.class).copy(); //get at least a long array data copy of this data
- newData.fastPush(arg); //add a long at the end
- return new NativeArray(newData);
- }
-
- /**
- * ECMA 15.4.4.4 Array.prototype.concat ( [ item1 [ , item2 [ , ... ] ] ] )
- *
- * @param self self reference
- * @param arg argument
- * @return resulting NativeArray
- */
- @SpecializedFunction(linkLogic=ConcatLinkLogic.class)
+ @SpecializedFunction(linkLogic=ConcatLinkLogic.class, convertsNumericArgs = false)
public static NativeArray concat(final Object self, final double arg) {
final ContinuousArrayData newData = getContinuousArrayDataCCE(self, Double.class).copy(); //get at least a number array data copy of this data
newData.fastPush(arg); //add a double at the end
@@ -980,7 +965,7 @@
* @param arg a primitive to push
* @return array length after push
*/
- @SpecializedFunction(linkLogic=PushLinkLogic.class)
+ @SpecializedFunction(linkLogic=PushLinkLogic.class, convertsNumericArgs = false)
public static double push(final Object self, final int arg) {
return getContinuousArrayDataCCE(self, Integer.class).fastPush(arg);
}
@@ -994,21 +979,7 @@
* @param arg a primitive to push
* @return array length after push
*/
- @SpecializedFunction(linkLogic=PushLinkLogic.class)
- public static double push(final Object self, final long arg) {
- return getContinuousArrayDataCCE(self, Long.class).fastPush(arg);
- }
-
- /**
- * ECMA 15.4.4.7 Array.prototype.push (args...)
- *
- * Primitive specialization, {@link LinkLogic}
- *
- * @param self self reference
- * @param arg a primitive to push
- * @return array length after push
- */
- @SpecializedFunction(linkLogic=PushLinkLogic.class)
+ @SpecializedFunction(linkLogic=PushLinkLogic.class, convertsNumericArgs = false)
public static double push(final Object self, final double arg) {
return getContinuousArrayDataCCE(self, Double.class).fastPush(arg);
}