mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-14 05:12:33 +00:00
Branches: main
On the Java backend, use specialised MethodPtr interfaces so that when calling
a method pointer input arguments do not have to be passed via a temporary
array, for arities up to 15. For higher arities the temporary array is still
used.
java/runtime/MethodPtr.java:
java/runtime/MethodPtr1.java:
java/runtime/MethodPtr10.java:
java/runtime/MethodPtr11.java:
java/runtime/MethodPtr12.java:
java/runtime/MethodPtr13.java:
java/runtime/MethodPtr14.java:
java/runtime/MethodPtr15.java:
java/runtime/MethodPtr2.java:
java/runtime/MethodPtr3.java:
java/runtime/MethodPtr4.java:
java/runtime/MethodPtr5.java:
java/runtime/MethodPtr6.java:
java/runtime/MethodPtr7.java:
java/runtime/MethodPtr8.java:
java/runtime/MethodPtr9.java:
java/runtime/MethodPtrN.java:
Add specialised MethodPtr interfaces and MethodPtrN for any higher
arities.
compiler/mlds_to_java.m:
Make the code generator use the specialised MethodPtr interfaces.
library/Mmakefile:
Compile java/runtime/*.java files explicitly as some MethodPtr*.java
files won't be compiled implicitly when compiling the standard library.
library/exception.m:
java/runtime/Exception.java:
library/rtti_implementation.m:
Conform to changes.
28 lines
893 B
Java
28 lines
893 B
Java
//
|
|
// Copyright (C) 2009 The University of Melbourne.
|
|
// This file may only be copied under the terms of the GNU Library General
|
|
// Public License - see the file COPYING.LIB in the Mercury distribution.
|
|
//
|
|
// This interface is implemented by wrapper classes which are automatically
|
|
// generated by the Java back-end to implement method pointers in Java.
|
|
//
|
|
|
|
package jmercury.runtime;
|
|
|
|
public interface MethodPtr13 extends MethodPtr {
|
|
public abstract java.lang.Object call___0_0(
|
|
java.lang.Object arg1,
|
|
java.lang.Object arg2,
|
|
java.lang.Object arg3,
|
|
java.lang.Object arg4,
|
|
java.lang.Object arg5,
|
|
java.lang.Object arg6,
|
|
java.lang.Object arg7,
|
|
java.lang.Object arg8,
|
|
java.lang.Object arg9,
|
|
java.lang.Object arg10,
|
|
java.lang.Object arg11,
|
|
java.lang.Object arg12,
|
|
java.lang.Object arg13);
|
|
}
|