CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
The jitted sends _CHECKCAST:/_INSTANCEOF:/_ARRAYLENGTH: to the
object itself instead of to JavaVM. This allow for saving some
tests and also removes the neccessity to specialize ILC on
non-receiver class.
--- a/JavaArray.st Mon May 13 00:59:43 2013 +0100
+++ b/JavaArray.st Tue May 14 15:36:56 2013 +0100
@@ -20,7 +20,7 @@
"
"{ Package: 'stx:libjava' }"
-Array subclass:#JavaArray
+Array variableSubclass:#JavaArray
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
@@ -60,7 +60,6 @@
"
! !
-
!JavaArray class methodsFor:'initialization'!
classInit
@@ -83,7 +82,6 @@
"Created: / 17-12-2010 / 13:25:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaArray class methodsFor:'accessing'!
classLoader
@@ -132,7 +130,6 @@
"Created: / 22-05-2011 / 18:03:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaArray class methodsFor:'accessing - java'!
javaMirrorClass
@@ -145,7 +142,6 @@
"Created: / 31-07-2012 / 18:28:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaArray class methodsFor:'autoboxing support'!
javaUnwrap: anObject
@@ -190,7 +186,6 @@
"Created: / 04-11-2012 / 23:33:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaArray class methodsFor:'class creation'!
javaArrayClass
@@ -226,7 +221,6 @@
"Modified: / 05-07-2012 / 23:23:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaArray class methodsFor:'queries'!
hasInterface:aJavaInterface
@@ -320,6 +314,25 @@
"Created: / 21-12-2010 / 12:51:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!JavaArray methodsFor:'vm support'!
+
+_ARRAYLENGTH: cls
+ ^self basicSize
+
+ "Created: / 14-05-2013 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+_CHECKCAST: cls
+ ^JavaVM _CHECKCAST: self _: cls
+
+ "Created: / 14-05-2013 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+_INSTANCEOF: cls
+ ^JavaVM _INSTANCEOF: self _: cls
+
+ "Created: / 14-05-2013 / 10:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
!JavaArray class methodsFor:'documentation'!
--- a/JavaObject.st Mon May 13 00:59:43 2013 +0100
+++ b/JavaObject.st Tue May 14 15:36:56 2013 +0100
@@ -491,6 +491,26 @@
"Created: / 08-11-2011 / 12:25:15 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
! !
+!JavaObject methodsFor:'vm support'!
+
+_ARRAYLENGTH: cls
+ ^JavaVM _ARRAYLENGTH: self
+
+ "Created: / 14-05-2013 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+_CHECKCAST: cls
+ ^JavaVM _CHECKCAST: self _: cls
+
+ "Created: / 14-05-2013 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+_INSTANCEOF: cls
+ ^JavaVM _INSTANCEOF: self _: cls
+
+ "Created: / 14-05-2013 / 10:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!JavaObject class methodsFor:'documentation'!
version
--- a/JavaVM.st Mon May 13 00:59:43 2013 +0100
+++ b/JavaVM.st Tue May 14 15:36:56 2013 +0100
@@ -4921,111 +4921,21 @@
_CHECKCAST: obj _: cls
- "An optimized implementation of the CHECKCAST instruction.
- Called by the VM"
+ "A principal implementation of CHECKCAST instruction. Called by the bytecode
+ interpreter for unhandled cases."
-%{ /* NOCONTEXT */
- OBJ objCls;
-
- if ( obj == nil ) goto ___checkcast_done;
-
- objCls = __Class(obj);
- /*
- The following rules are used to determine whether an objectref that is not
- null can be cast to the resolved type: if S is the class of the object
- referred to by objectref and T is the resolved class, array, or interface type,
- checkcast determines whether objectref can be cast to type T as follows:
- * If S is an ordinary (nonarray) class, then:
- * If T is a class type, then S must be the same class as T, or a subclass
- of T.
- * If T is an interface type, then S must implement interface T.
- * If S is an interface type, then:
- * If T is a class type, then T must be Object.
- * If T is an interface type, then T must be the same interface as S or a
- superinterface of S.
- * If S is a class representing the array type SC[], that is, an array of com-
- ponents of type SC , then:
- * If T is a class type, then T must be Object.
- * If T is an array type TC[], that is, an array of components of type TC ,
- then one of the following must be true:
- * TC and SC are the same primitive type.
- * TC and SC are reference types, and type SC can be cast to TC by
- recursive application of these rules.
- * If T is an interface type, T must be one of the interfaces implemented
- by arrays (JLS3 §4.10.3).
- */
-#define S (objCls)
-#define T (cls)
- {
- ___checkcast_fast:
- if (S == T) { goto ___checkcast_ok; }
- /* S is object type... */
- if (__qIsJavaBehaviorLike(S)) {
- while (S != nil) {
- if (S == T) { goto ___checkcast_ok; }
- S = __ClassInstPtr(S)->c_superclass;
- }
- goto ___checkcast_slow;
- }
- /* S os object array type... */
- if ( ((INT)(__ClassInstPtr(S)->c_flags) & __MASKSMALLINT(JARRAY_INSTS))) {
- if ( ((INT)(__ClassInstPtr(T)->c_flags) & __MASKSMALLINT(JARRAY_INSTS))) {
- /* both S and T are reference arrays... */
- S = __JavaArrayClassPtr(S)->jac_componentClass;
- T = __JavaArrayClassPtr(T)->jac_componentClass;
- goto ___checkcast_fast;
- }
- /* check if T is an java.lang.Object, any array is kind of an Object */
- if (__ClassInstPtr(T)->c_superclass == JavaObject) { goto ___checkcast_ok; }
- }
- /* S is primitive type */
- if (S == Unicode16String) {
- if (T == String) { goto ___checkcast_ok; }
- } else {
- if (__ClassInstPtr(T)->c_superclass == JavaObject) { goto ___checkcast_ok; }
- }
- goto ___checkcast_slow;
- }
-
- ___checkcast_ok:
- if ( ( __ILC_FLAGS(__pilc) & 0x0F) != I_PERF ) {
- if ( __qSpace(objCls) < NEWSPACE ) {
- void ___ilcBindPrimitive();
- /* printf("CHECKCAST: __pilc == 0x%x\n", __pilc); */
- OBJ ___checkcast_f();
- __ilcBindPrimitive(__pilc, objCls, &___checkcast_f, 2, __selector);
- }
- }
- ___checkcast_done:
- return obj;
-
- ___checkcast_slow:;
-%}.
+ obj isNil ifTrue:[ ^ obj ].
(self canCast: obj class to: cls) ifFalse: [
self throwClassCastException.
^ nil
].
-%{
- OBJ objCls;
- objCls = __Class(obj);
- if ( ( __ILC_FLAGS(__pilc) & 0x0F) != I_PERF ) {
- if ( __qSpace(objCls) < NEWSPACE ) {
- void ___ilcBindPrimitive();
- /* printf("CHECKCAST: __pilc == 0x%x\n", __pilc); */
- OBJ ___checkcast_f();
- __ilcBindPrimitive(__pilc, objCls, &___checkcast_f, 2, __selector);
- }
- }
-%}.
^ obj
!
_CHECKCAST_R: object _: classRef
- "Called by the VM for unhandled cases.
- Unlike in _CHECKCAST:_: the second parameter is a class reference,
- not the class itself!! Called by JIT-compiled code."
-
+ "An implementation of CHECKCAST instruction. Called by the jitted code
+ when if the classRef hasn't been resolved at the time of jitting."
| class |
object isNil ifTrue: [ ^ object ].
@@ -5160,100 +5070,13 @@
!
_INSTANCEOF:obj _:cls
- "An optimized implementation of the INSTANCEOF instruction.
- Called by the VM"
-%{ /* NOCONTEXT */
- OBJ objCls;
-
- if (obj == nil) return __MKSMALLINT(0);
-
- objCls = __Class(obj);
- /*
- The following rules are used to determine whether an objectref that is not
- null can be cast to the resolved type: if S is the class of the object
- referred to by objectref and T is the resolved class, array, or interface type,
- instanceof determines whether objectref is an instance of T as follows:
- * If S is an ordinary (nonarray) class, then:
- * If T is a class type, then S must be the same class as T, or a subclass
- of T.
- * If T is an interface type, then S must implement interface T.
- * If S is an interface type, then:
- * If T is a class type, then T must be Object.
- * If T is an interface type, then T must be the same interface as S or a
- superinterface of S.
- * If S is a class representing the array type SC[], that is, an array of com-
- ponents of type SC , then:
- * If T is a class type, then T must be Object.
- * If T is an array type TC[], that is, an array of components of type TC ,
- then one of the following must be true:
- * TC and SC are the same primitive type.
- * TC and SC are reference types, and type SC can be cast to TC by
- recursive application of these rules.
- * If T is an interface type, T must be one of the interfaces implemented
- by arrays (JLS3 §4.10.3).
- */
-#define S (objCls)
-#define T (cls)
- {
- ___instanceof_fast:
- if (S == T) goto ___instanceof_done_true;
- /* S is object type... */
- if (__qIsJavaBehaviorLike(S)) {
- while (S != nil) {
- if (S == T) goto ___instanceof_done_true;
- S = __ClassInstPtr(S)->c_superclass;
- }
- goto ___instanceof_slow;
- }
- /* S os object array type... */
- if ( ((INT)(__ClassInstPtr(S)->c_flags) & __MASKSMALLINT(JARRAY_INSTS))) {
- if ( ((INT)(__ClassInstPtr(T)->c_flags) & __MASKSMALLINT(JARRAY_INSTS))) {
- /* both S and T are reference arrays... */
- S = __JavaArrayClassPtr(S)->jac_componentClass;
- T = __JavaArrayClassPtr(T)->jac_componentClass;
- goto ___instanceof_fast;
- }
- /* check if T is an java.lang.Object, any array is kind of an Object */
- if (__ClassInstPtr(T)->c_superclass == JavaObject) goto ___instanceof_done_true;
- }
- /* S is primitive type */
- if (S == Unicode16String) {
- if (T == String) { goto ___instanceof_done_true; }
- } else {
- if (__ClassInstPtr(T)->c_superclass == JavaObject) goto ___instanceof_done_true;
- }
-
- goto ___instanceof_slow;
- }
-
- ___instanceof_done_true:
- if ( ( __ILC_FLAGS(__pilc) & 0x0F) != I_PERF ) {
- if ( __qSpace(objCls) < NEWSPACE ) {
- void ___ilcBindPrimitive();
- /* printf("CHECKCAST: __pilc == 0x%x\n", __pilc); */
- OBJ ___instanceof_f();
- __ilcBindPrimitive(__pilc, objCls, &___instanceof_f, 2, __selector);
- }
- }
- return __MKSMALLINT(1);
-
- ___instanceof_slow:;
-%}.
+ "A principal implementation of INSTANCEOF instruction. Called by the bytecode
+ interpreter for unhandled cases."
+
+ obj isNil ifTrue: [ ^ 0 ].
(self canCast: obj class to: cls) ifFalse: [
^ 0
].
-%{
- OBJ objCls;
- objCls = __Class(obj);
- if ( ( __ILC_FLAGS(__pilc) & 0x0F) != I_PERF ) {
- if ( __qSpace(objCls) < NEWSPACE ) {
- void ___ilcBindPrimitive();
- /* printf("CHECKCAST: __pilc == 0x%x\n", __pilc); */
- OBJ ___instanceof_f();
- __ilcBindPrimitive(__pilc, objCls, &___instanceof_f, 2, __selector);
- }
- }
-%}.
^ 1
@@ -5264,9 +5087,8 @@
!
_INSTANCEOF_R: object _: classRef
- "Called by the VM (java bytecode interpreter) for unhandled cases.
- Unlike _INSTANCEOF:_: the second parameter is a class reference,
- not the class itself!! Called by JIT-compiled code."
+ "An implementation of INSTANCEOF instruction. Called by the jitted code
+ when if the classRef hasn't been resolved at the time of jitting."
| class |
--- a/Make.proto Mon May 13 00:59:43 2013 +0100
+++ b/Make.proto Tue May 14 15:36:56 2013 +0100
@@ -21,7 +21,7 @@
INCLUDE_TOP=$(TOP)/..
# subdirectories where targets are to be made:
-SUBDIRS= tools benchmarks libs experiments
+SUBDIRS= tools experiments
# subdirectories where Makefiles are to be made:
--- a/abbrev.stc Mon May 13 00:59:43 2013 +0100
+++ b/abbrev.stc Tue May 14 15:36:56 2013 +0100
@@ -5,6 +5,7 @@
GroovyEvaluator GroovyEvaluator stx:libjava 'Languages-Groovy-Compiler' 0
GroovyLanguage GroovyLanguage stx:libjava 'Languages-Groovy-Support' 1
GroovySourceFileWriter GroovySourceFileWriter stx:libjava 'Languages-Groovy-Support' 0
+JUnitTestCaseProxy JUnitTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
JavaAnnotation JavaAnnotation stx:libjava 'Languages-Java-Reader-Support' 0
JavaAnnotationContainer JavaAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
JavaAnnotationDefault JavaAnnotationDefault stx:libjava 'Languages-Java-Annotations' 1
@@ -13,11 +14,14 @@
JavaAntProjectResource JavaAntProjectResource stx:libjava 'Languages-Java-Tests' 2
JavaArray JavaArray stx:libjava 'Languages-Java-Classes' 1
JavaByte JavaByte stx:libjava 'Languages-Java-Support' 0
+JavaByteCodeDisassemblerTests JavaByteCodeDisassemblerTests stx:libjava 'Languages-Java-Tests' 1
JavaByteCodeProcessor JavaByteCodeProcessor stx:libjava 'Languages-Java-Bytecode' 0
JavaByteCodeProcessorTests JavaByteCodeProcessorTests stx:libjava 'Languages-Java-Tests' 1
JavaClassAccessor JavaClassAccessor stx:libjava 'Languages-Java-Classes' 0
JavaClassLoadingTests JavaClassLoadingTests stx:libjava 'Languages-Java-Tests-ClassLoading' 1
JavaClassQuery JavaClassQuery stx:libjava 'Languages-Java-Classes' 1
+JavaClassReaderTests JavaClassReaderTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaClassRefTests JavaClassRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaClassReloader JavaClassReloader stx:libjava 'Languages-Java-Support' 0
JavaCodeLibraryOrBundle JavaCodeLibraryOrBundle stx:libjava 'Languages-Java-Support-Libraries' 0
JavaCompiler_Eclipse JavaCompiler_Eclipse stx:libjava 'Languages-Java-Tools-Eclipse' 0
@@ -30,8 +34,11 @@
JavaExceptionTable JavaExceptionTable stx:libjava 'Languages-Java-Support' 0
JavaExceptionTests JavaExceptionTests stx:libjava 'Languages-Java-Tests' 1
JavaField JavaField stx:libjava 'Languages-Java-Reader-Support' 0
+JavaFieldRefTests JavaFieldRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaFinalizationRegistry JavaFinalizationRegistry stx:libjava 'Languages-Java-Support' 0
JavaFreshlyInitializedResource JavaFreshlyInitializedResource stx:libjava 'Languages-Java-Tests' 1
+JavaInitializedResource JavaInitializedResource stx:libjava 'Languages-Java-Tests' 2
+JavaInterfaceMethodRefTests JavaInterfaceMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaJUnitTests JavaJUnitTests stx:libjava 'Languages-Java-Tests-Libraries' 1
JavaLanguage JavaLanguage stx:libjava 'Languages-Java-Support' 1
JavaLibraries JavaLibraries stx:libjava 'Languages-Java-Support' 0
@@ -44,6 +51,7 @@
JavaLookupTestsResource JavaLookupTestsResource stx:libjava 'Languages-Java-Tests-Interop' 3
JavaMathSupport JavaMathSupport stx:libjava 'Languages-Java-Support-Native' 0
JavaMetaclass JavaMetaclass stx:libjava 'Languages-Java-Classes' 0
+JavaMethodRefTests JavaMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaMirror JavaMirror stx:libjava 'Languages-Java-Classes' 0
JavaMonitor JavaMonitor stx:libjava 'Languages-Java-Support' 0
JavaMonitorsTests JavaMonitorsTests stx:libjava 'Languages-Java-Tests' 1
@@ -57,8 +65,10 @@
JavaPopUpView JavaPopUpView stx:libjava 'Languages-Java-Views-Support' 2
JavaProcess JavaProcess stx:libjava 'Languages-Java-Classes' 0
JavaRef2 JavaRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaRefMock JavaRefMock stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
JavaRefsAndConstantPoolTestCase JavaRefsAndConstantPoolTestCase stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaResolver JavaResolver stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaRuntimeConstantPoolTests JavaRuntimeConstantPoolTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaShort JavaShort stx:libjava 'Languages-Java-Support' 0
JavaSlotIndexCache JavaSlotIndexCache stx:libjava 'Languages-Java-Support' 0
JavaSocket JavaSocket stx:libjava 'Languages-Java-Support' 0
@@ -66,6 +76,7 @@
JavaSourceFileWriter JavaSourceFileWriter stx:libjava 'Languages-Java-Support' 0
JavaTestCaseProxy JavaTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
JavaTestsLoader JavaTestsLoader stx:libjava 'Languages-Java-Tests' 0
+JavaTestsResource JavaTestsResource stx:libjava 'Languages-Java-Tests' 2
JavaTopView JavaTopView stx:libjava 'Languages-Java-Views-Support' 2
JavaUTF8Tests JavaUTF8Tests stx:libjava 'Languages-Java-Tests' 1
JavaUnresolvedCompilationError JavaUnresolvedCompilationError stx:libjava 'Languages-Java-Support' 1
@@ -79,9 +90,9 @@
ProxyMethodNode ProxyMethodNode stx:libjava 'System-Compiler-Interop' 0
SmalltalkAppletContext SmalltalkAppletContext stx:libjava 'Languages-Java-Views-Support' 0
SmalltalkAppletStub SmalltalkAppletStub stx:libjava 'Languages-Java-Views-Support' 0
+TestletTestCaseProxy TestletTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
stx_libjava stx_libjava stx:libjava '* Projects & Packages *' 3
GroovyMetaclass GroovyMetaclass stx:libjava 'Languages-Groovy-Classes' 0
-JUnitTestCaseProxy JUnitTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
Java Java stx:libjava 'Languages-Java-Support' 0
JavaAnnotationArrayValue JavaAnnotationArrayValue stx:libjava 'Languages-Java-Reader-Support' 0
JavaAnnotationClassValue JavaAnnotationClassValue stx:libjava 'Languages-Java-Reader-Support' 0
@@ -90,15 +101,12 @@
JavaAnnotationPrimitiveValue JavaAnnotationPrimitiveValue stx:libjava 'Languages-Java-Reader-Support' 0
JavaBehavior JavaBehavior stx:libjava 'Languages-Java-Classes' 0
JavaByteCodeDisassembler JavaByteCodeDisassembler stx:libjava 'Languages-Java-Bytecode' 0
-JavaByteCodeDisassemblerTests JavaByteCodeDisassemblerTests stx:libjava 'Languages-Java-Tests' 1
JavaByteCodeEnumerator JavaByteCodeEnumerator stx:libjava 'Languages-Java-Support-Decompiling' 0
JavaByteCodeProcessorAdapter JavaByteCodeProcessorAdapter stx:libjava 'Languages-Java-Bytecode' 0
JavaClassAnnotationContainer JavaClassAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
JavaClassContentRef2 JavaClassContentRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
JavaClassReader JavaClassReader stx:libjava 'Languages-Java-Support' 0
-JavaClassReaderTests JavaClassReaderTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaClassRef2 JavaClassRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
-JavaClassRefTests JavaClassRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaClassRegistry JavaClassRegistry stx:libjava 'Languages-Java-Support' 0
JavaCodeBundle JavaCodeBundle stx:libjava 'Languages-Java-Support-Libraries' 0
JavaCodeLibrary JavaCodeLibrary stx:libjava 'Languages-Java-Support-Libraries' 0
@@ -106,20 +114,13 @@
JavaFieldAnnotationContainer JavaFieldAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
JavaFieldDescriptor JavaFieldDescriptor stx:libjava 'Languages-Java-Support' 0
JavaFieldDescriptorWithUnionType JavaFieldDescriptorWithUnionType stx:libjava 'Languages-Java-Support' 0
-JavaFieldRefTests JavaFieldRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
-JavaInitializedResource JavaInitializedResource stx:libjava 'Languages-Java-Tests' 2
-JavaInterfaceMethodRefTests JavaInterfaceMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaInvalidRefError JavaInvalidRefError stx:libjava 'Languages-Java-Support' 1
JavaMethod JavaMethod stx:libjava 'Languages-Java-Classes' 0
JavaMethodAnnotationContainer JavaMethodAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
JavaMethodDescriptor JavaMethodDescriptor stx:libjava 'Languages-Java-Support' 0
-JavaMethodRefTests JavaMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaNativeMethodImpl_OpenJDK6 JavaNativeMethodImpl_OpenJDK6 stx:libjava 'Languages-Java-Support-OpenJDK6' 0
-JavaRefMock JavaRefMock stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
JavaRelease JavaRelease stx:libjava 'Languages-Java-Support' 1
-JavaRuntimeConstantPoolTests JavaRuntimeConstantPoolTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaStringRef2 JavaStringRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
-JavaTestsResource JavaTestsResource stx:libjava 'Languages-Java-Tests' 2
JavaUnhandledExceptionError JavaUnhandledExceptionError stx:libjava 'Languages-Java-Support' 1
JavaUnresolvedClassConstant JavaUnresolvedClassConstant stx:libjava 'Languages-Java-Reader-Support' 0
JavaUnresolvedStringConstant JavaUnresolvedStringConstant stx:libjava 'Languages-Java-Reader-Support' 0
@@ -128,7 +129,6 @@
ProxyMethodGuardNode ProxyMethodGuardNode stx:libjava 'System-Compiler-Interop' 0
ProxyMethodInvocationNode ProxyMethodInvocationNode stx:libjava 'System-Compiler-Interop' 0
ProxyMethodJavaFieldAccessor ProxyMethodJavaFieldAccessor stx:libjava 'Languages-Java-Interop' 0
-TestletTestCaseProxy TestletTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
JavaByteCodePreresolver JavaByteCodePreresolver stx:libjava 'Languages-Java-Bytecode' 0
JavaClass JavaClass stx:libjava 'Languages-Java-Classes' 0
JavaClassPathBundle JavaClassPathBundle stx:libjava 'Languages-Java-Support-Libraries' 0
--- a/bmake.bat Mon May 13 00:59:43 2013 +0100
+++ b/bmake.bat Tue May 14 15:36:56 2013 +0100
@@ -17,20 +17,6 @@
@cd ..
@echo "***********************************"
-@echo "Buildung stx/libjava/benchmarks
-@echo "***********************************"
-@cd benchmarks
-@call bmake %1 %2
-@cd ..
-
-@echo "***********************************"
-@echo "Buildung stx/libjava/libs
-@echo "***********************************"
-@cd libs
-@call bmake %1 %2
-@cd ..
-
-@echo "***********************************"
@echo "Buildung stx/libjava/experiments
@echo "***********************************"
@cd experiments
--- a/extensions.st Mon May 13 00:59:43 2013 +0100
+++ b/extensions.st Tue May 14 15:36:56 2013 +0100
@@ -114,6 +114,30 @@
"Modified: / 07-05-2013 / 11:21:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!BooleanArray methodsFor:'vm support'!
+
+_ARRAYLENGTH: cls
+ ^self basicSize
+
+ "Created: / 14-05-2013 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BooleanArray methodsFor:'vm support'!
+
+_CHECKCAST: cls
+ ^cls == BooleanArray ifTrue:[self] ifFalse:[JavaVM throwClassCastException]
+
+ "Created: / 14-05-2013 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BooleanArray methodsFor:'vm support'!
+
+_INSTANCEOF: cls
+ ^BooleanArray == cls ifTrue:[1] ifFalse:[0]
+
+ "Created: / 14-05-2013 / 10:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!BooleanArray methodsFor:'queries'!
isInterface
@@ -175,6 +199,30 @@
"Modified: / 31-08-2011 / 23:57:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!ByteArray methodsFor:'vm support'!
+
+_ARRAYLENGTH: cls
+ ^self basicSize
+
+ "Created: / 14-05-2013 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ByteArray methodsFor:'vm support'!
+
+_CHECKCAST: cls
+ ^cls == BooleanArray ifTrue:[self] ifFalse:[JavaVM throwClassCastException]
+
+ "Created: / 14-05-2013 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ByteArray methodsFor:'vm support'!
+
+_INSTANCEOF: cls
+ ^BooleanArray == cls ifTrue:[1] ifFalse:[0]
+
+ "Created: / 14-05-2013 / 10:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!ByteArray class methodsFor:'testing'!
isInterface
@@ -293,6 +341,37 @@
"Modified: / 07-05-2013 / 11:21:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!CharacterArray methodsFor:'vm support'!
+
+_ARRAYLENGTH: cls
+ ^self basicSize
+
+ "Created: / 14-05-2013 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!CharacterArray methodsFor:'vm support'!
+
+_CHECKCAST: cls
+ cls == Unicode16String ifTrue:[^self].
+ cls == String ifTrue:[^self].
+ ^JavaVM throwClassCastException.
+
+
+ "Created: / 14-05-2013 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:10:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!CharacterArray methodsFor:'vm support'!
+
+_INSTANCEOF: cls
+ cls == Unicode16String ifTrue:[^1].
+ cls == String ifTrue:[^1].
+ ^0
+
+ "Created: / 14-05-2013 / 10:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:10:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!CharacterArray methodsFor:'java conversions'!
asDottedJavaClassName
@@ -675,6 +754,32 @@
"Created: / 30-11-2011 / 13:38:18 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
! !
+!DoubleArray methodsFor:'vm support'!
+
+_ARRAYLENGTH: cls
+ ^self basicSize
+
+ "Created: / 14-05-2013 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!DoubleArray methodsFor:'vm support'!
+
+_CHECKCAST: cls
+ ^cls == DoubleArray ifTrue:[self] ifFalse:[JavaVM throwClassCastException]
+
+ "Created: / 14-05-2013 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:11:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!DoubleArray methodsFor:'vm support'!
+
+_INSTANCEOF: cls
+ ^DoubleArray == cls ifTrue:[1] ifFalse:[0]
+
+ "Created: / 14-05-2013 / 10:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:11:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!DoubleArray class methodsFor:'testing'!
isInterface
@@ -806,6 +911,32 @@
"Modified: / 07-05-2013 / 11:21:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!FloatArray methodsFor:'vm support'!
+
+_ARRAYLENGTH: cls
+ ^self basicSize
+
+ "Created: / 14-05-2013 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!FloatArray methodsFor:'vm support'!
+
+_CHECKCAST: cls
+ ^cls == FloatArray ifTrue:[self] ifFalse:[JavaVM throwClassCastException]
+
+ "Created: / 14-05-2013 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:11:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!FloatArray methodsFor:'vm support'!
+
+_INSTANCEOF: cls
+ ^FloatArray == cls ifTrue:[1] ifFalse:[0]
+
+ "Created: / 14-05-2013 / 10:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:11:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!FloatArray class methodsFor:'testing'!
isInterface
@@ -1032,6 +1163,30 @@
"Created: / 22-08-2012 / 13:20:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!Object methodsFor:'vm support'!
+
+_ARRAYLENGTH: cls
+ ^JavaVM _ARRAYLENGTH: self
+
+ "Created: / 14-05-2013 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Object methodsFor:'vm support'!
+
+_CHECKCAST: cls
+ ^JavaVM _CHECKCAST: self _: cls
+
+ "Created: / 14-05-2013 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Object methodsFor:'vm support'!
+
+_INSTANCEOF: cls
+ ^JavaVM _INSTANCEOF: self _: cls
+
+ "Created: / 14-05-2013 / 10:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!Object methodsFor:'accessing-Java'!
getJavaLockWord
@@ -1526,6 +1681,32 @@
"Created: / 24-02-2012 / 19:42:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!SignedIntegerArray methodsFor:'vm support'!
+
+_ARRAYLENGTH: cls
+ ^self basicSize
+
+ "Created: / 14-05-2013 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SignedIntegerArray methodsFor:'vm support'!
+
+_CHECKCAST: cls
+ ^cls == SignedIntegerArray ifTrue:[self] ifFalse:[JavaVM throwClassCastException]
+
+ "Created: / 14-05-2013 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:11:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SignedIntegerArray methodsFor:'vm support'!
+
+_INSTANCEOF: cls
+ ^SignedIntegerArray == cls ifTrue:[1] ifFalse:[0]
+
+ "Created: / 14-05-2013 / 10:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:11:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!SignedIntegerArray class methodsFor:'testing'!
isInterface
@@ -1570,6 +1751,32 @@
"Modified: / 25-02-2011 / 19:03:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!SignedLongIntegerArray methodsFor:'vm support'!
+
+_ARRAYLENGTH: cls
+ ^self basicSize
+
+ "Created: / 14-05-2013 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SignedLongIntegerArray methodsFor:'vm support'!
+
+_CHECKCAST: cls
+ ^cls == SignedLongIntegerArray ifTrue:[self] ifFalse:[JavaVM throwClassCastException]
+
+ "Created: / 14-05-2013 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:14:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SignedLongIntegerArray methodsFor:'vm support'!
+
+_INSTANCEOF: cls
+ ^SignedLongIntegerArray == cls ifTrue:[1] ifFalse:[0]
+
+ "Created: / 14-05-2013 / 10:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:14:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!SignedLongIntegerArray class methodsFor:'testing'!
isInterface
@@ -1624,6 +1831,32 @@
"Modified: / 25-02-2011 / 19:03:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!SignedWordArray methodsFor:'vm support'!
+
+_ARRAYLENGTH: cls
+ ^self basicSize
+
+ "Created: / 14-05-2013 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SignedWordArray methodsFor:'vm support'!
+
+_CHECKCAST: cls
+ ^cls == SignedWordArray ifTrue:[self] ifFalse:[JavaVM throwClassCastException]
+
+ "Created: / 14-05-2013 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:14:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SignedWordArray methodsFor:'vm support'!
+
+_INSTANCEOF: cls
+ ^SignedWordArray == cls ifTrue:[1] ifFalse:[0]
+
+ "Created: / 14-05-2013 / 10:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:14:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!SignedWordArray class methodsFor:'queries'!
isJavaArrayClass
@@ -1734,6 +1967,32 @@
"Created: / 18-01-2013 / 22:27:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!UndefinedObject methodsFor:'vm support'!
+
+_ARRAYLENGTH: cls
+ ^JavaVM throwNullPointerException
+
+ "Created: / 14-05-2013 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!UndefinedObject methodsFor:'vm support'!
+
+_CHECKCAST: cls
+ ^nil
+
+ "Created: / 14-05-2013 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:10:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!UndefinedObject methodsFor:'vm support'!
+
+_INSTANCEOF: cls
+ ^0
+
+ "Created: / 14-05-2013 / 10:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 14-05-2013 / 11:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!UndefinedObject class methodsFor:'queries'!
isJavaPrimitiveType
--- a/lccmake.bat Mon May 13 00:59:43 2013 +0100
+++ b/lccmake.bat Tue May 14 15:36:56 2013 +0100
@@ -13,20 +13,6 @@
@cd ..
@echo "***********************************"
-@echo "Buildung stx/libjava/benchmarks
-@echo "***********************************"
-@cd benchmarks
-@call lccmake %1 %2
-@cd ..
-
-@echo "***********************************"
-@echo "Buildung stx/libjava/libs
-@echo "***********************************"
-@cd libs
-@call lccmake %1 %2
-@cd ..
-
-@echo "***********************************"
@echo "Buildung stx/libjava/experiments
@echo "***********************************"
@cd experiments
--- a/libjava.rc Mon May 13 00:59:43 2013 +0100
+++ b/libjava.rc Tue May 14 15:36:56 2013 +0100
@@ -25,7 +25,7 @@
VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\nCopyright Jan Vrany, Jan Kurs and Marcel Hlopko\n SWING Research Group, Czech Technical University In Prague\0"
VALUE "ProductName", "Smalltalk/X\0"
VALUE "ProductVersion", "6.2.3.0\0"
- VALUE "ProductDate", "Mon, 06 May 2013 21:32:27 GMT\0"
+ VALUE "ProductDate", "Tue, 14 May 2013 10:34:19 GMT\0"
END
END
--- a/libs/java/pom.xml Mon May 13 00:59:43 2013 +0100
+++ b/libs/java/pom.xml Tue May 14 15:36:56 2013 +0100
@@ -32,11 +32,13 @@
</dependency>
-->
+ <!--
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>5.0.1</version>
</dependency>
+ -->
<dependency>
@@ -80,11 +82,13 @@
<version>4.8.2</version>
</dependency>
+ <!--
<dependency>
<groupId>eclipse</groupId>
<artifactId>eclipse-runtime</artifactId>
<version>2.1.0</version>
</dependency>
+ -->
<dependency>
<groupId>org.apache.poi</groupId>
--- a/mingwmake.bat Mon May 13 00:59:43 2013 +0100
+++ b/mingwmake.bat Tue May 14 15:36:56 2013 +0100
@@ -21,20 +21,6 @@
@cd ..
@echo "***********************************"
-@echo "Buildung stx/libjava/benchmarks
-@echo "***********************************"
-@cd benchmarks
-@call mingwmake %1 %2
-@cd ..
-
-@echo "***********************************"
-@echo "Buildung stx/libjava/libs
-@echo "***********************************"
-@cd libs
-@call mingwmake %1 %2
-@cd ..
-
-@echo "***********************************"
@echo "Buildung stx/libjava/experiments
@echo "***********************************"
@cd experiments
--- a/stx_libjava.st Mon May 13 00:59:43 2013 +0100
+++ b/stx_libjava.st Tue May 14 15:36:56 2013 +0100
@@ -51,14 +51,6 @@
as of 1.9.2010
"
-!
-
-extensionsVersion_CVS
- ^ '$Header: /cvs/stx/stx/libjava/extensions.st,v 1.4 2013-03-08 09:47:48 cg Exp $'
-!
-
-extensionsVersion_SVN
- ^ '$Id: stx_libjava.st,v 1.12 2013-02-25 13:43:08 cg Exp $'
! !
!stx_libjava class methodsFor:'accessing'!
@@ -166,7 +158,7 @@
exclude individual packages in the #excludedFromPreRequisites method."
^ #(
- #'stx:goodies/sunit' "TestAsserter - superclass of JUnitTestCaseProxy "
+ #'stx:goodies/sunit' "TestAsserter - superclass of JavaAntProjectResource "
#'stx:libbasic' "AbstractNumberVector - extended "
#'stx:libbasic2' "BitArray - extended "
#'stx:libbasic3' "WrappedMethod - extended "
@@ -202,8 +194,6 @@
^ #(
#'stx:libjava/tools'
- #'stx:libjava/benchmarks'
- #'stx:libjava/libs'
#'stx:libjava/experiments'
)
! !
@@ -321,6 +311,7 @@
GroovyEvaluator
GroovyLanguage
GroovySourceFileWriter
+ (JUnitTestCaseProxy autoload)
JavaAnnotation
JavaAnnotationContainer
JavaAnnotationDefault
@@ -329,11 +320,14 @@
(JavaAntProjectResource autoload)
JavaArray
JavaByte
+ (JavaByteCodeDisassemblerTests autoload)
JavaByteCodeProcessor
(JavaByteCodeProcessorTests autoload)
JavaClassAccessor
(JavaClassLoadingTests autoload)
JavaClassQuery
+ (JavaClassReaderTests autoload)
+ (JavaClassRefTests autoload)
JavaClassReloader
JavaCodeLibraryOrBundle
#'JavaCompiler_Eclipse'
@@ -346,8 +340,11 @@
JavaExceptionTable
(JavaExceptionTests autoload)
JavaField
+ (JavaFieldRefTests autoload)
JavaFinalizationRegistry
(JavaFreshlyInitializedResource autoload)
+ (JavaInitializedResource autoload)
+ (JavaInterfaceMethodRefTests autoload)
(JavaJUnitTests autoload)
JavaLanguage
JavaLibraries
@@ -360,6 +357,7 @@
(JavaLookupTestsResource autoload)
JavaMathSupport
JavaMetaclass
+ (JavaMethodRefTests autoload)
JavaMirror
JavaMonitor
(JavaMonitorsTests autoload)
@@ -373,8 +371,10 @@
JavaPopUpView
JavaProcess
JavaRef2
+ (JavaRefMock autoload)
(JavaRefsAndConstantPoolTestCase autoload)
JavaResolver
+ (JavaRuntimeConstantPoolTests autoload)
JavaShort
JavaSlotIndexCache
JavaSocket
@@ -382,6 +382,7 @@
JavaSourceFileWriter
(JavaTestCaseProxy autoload)
JavaTestsLoader
+ (JavaTestsResource autoload)
JavaTopView
(JavaUTF8Tests autoload)
JavaUnresolvedCompilationError
@@ -395,9 +396,9 @@
ProxyMethodNode
SmalltalkAppletContext
SmalltalkAppletStub
+ (TestletTestCaseProxy autoload)
#'stx_libjava'
GroovyMetaclass
- (JUnitTestCaseProxy autoload)
Java
JavaAnnotationArrayValue
JavaAnnotationClassValue
@@ -406,15 +407,12 @@
JavaAnnotationPrimitiveValue
JavaBehavior
JavaByteCodeDisassembler
- (JavaByteCodeDisassemblerTests autoload)
JavaByteCodeEnumerator
JavaByteCodeProcessorAdapter
JavaClassAnnotationContainer
JavaClassContentRef2
JavaClassReader
- (JavaClassReaderTests autoload)
JavaClassRef2
- (JavaClassRefTests autoload)
JavaClassRegistry
JavaCodeBundle
JavaCodeLibrary
@@ -422,20 +420,13 @@
JavaFieldAnnotationContainer
JavaFieldDescriptor
JavaFieldDescriptorWithUnionType
- (JavaFieldRefTests autoload)
- (JavaInitializedResource autoload)
- (JavaInterfaceMethodRefTests autoload)
JavaInvalidRefError
JavaMethod
JavaMethodAnnotationContainer
JavaMethodDescriptor
- (JavaMethodRefTests autoload)
#'JavaNativeMethodImpl_OpenJDK6'
- (JavaRefMock autoload)
JavaRelease
- (JavaRuntimeConstantPoolTests autoload)
JavaStringRef2
- (JavaTestsResource autoload)
JavaUnhandledExceptionError
JavaUnresolvedClassConstant
JavaUnresolvedStringConstant
@@ -444,7 +435,6 @@
ProxyMethodGuardNode
ProxyMethodInvocationNode
ProxyMethodJavaFieldAccessor
- (TestletTestCaseProxy autoload)
JavaByteCodePreresolver
JavaClass
JavaClassPathBundle
@@ -633,6 +623,36 @@
Context arg1Index
'Float class' javaUnbox:onError:
'ShortFloat class' javaUnbox:onError:
+ BooleanArray #'_ARRAYLENGTH:'
+ BooleanArray #'_CHECKCAST:'
+ BooleanArray #'_INSTANCEOF:'
+ ByteArray #'_ARRAYLENGTH:'
+ ByteArray #'_CHECKCAST:'
+ ByteArray #'_INSTANCEOF:'
+ CharacterArray #'_ARRAYLENGTH:'
+ CharacterArray #'_CHECKCAST:'
+ CharacterArray #'_INSTANCEOF:'
+ DoubleArray #'_ARRAYLENGTH:'
+ DoubleArray #'_CHECKCAST:'
+ DoubleArray #'_INSTANCEOF:'
+ FloatArray #'_ARRAYLENGTH:'
+ FloatArray #'_CHECKCAST:'
+ FloatArray #'_INSTANCEOF:'
+ Object #'_ARRAYLENGTH:'
+ Object #'_CHECKCAST:'
+ Object #'_INSTANCEOF:'
+ SignedIntegerArray #'_ARRAYLENGTH:'
+ SignedIntegerArray #'_CHECKCAST:'
+ SignedIntegerArray #'_INSTANCEOF:'
+ SignedLongIntegerArray #'_ARRAYLENGTH:'
+ SignedLongIntegerArray #'_CHECKCAST:'
+ SignedLongIntegerArray #'_INSTANCEOF:'
+ SignedWordArray #'_ARRAYLENGTH:'
+ SignedWordArray #'_CHECKCAST:'
+ SignedWordArray #'_INSTANCEOF:'
+ UndefinedObject #'_ARRAYLENGTH:'
+ UndefinedObject #'_CHECKCAST:'
+ UndefinedObject #'_INSTANCEOF:'
)
! !
--- a/vcmake.bat Mon May 13 00:59:43 2013 +0100
+++ b/vcmake.bat Tue May 14 15:36:56 2013 +0100
@@ -25,20 +25,6 @@
@cd ..
@echo "***********************************"
-@echo "Buildung stx/libjava/benchmarks
-@echo "***********************************"
-@cd benchmarks
-@call vcmake %1 %2
-@cd ..
-
-@echo "***********************************"
-@echo "Buildung stx/libjava/libs
-@echo "***********************************"
-@cd libs
-@call vcmake %1 %2
-@cd ..
-
-@echo "***********************************"
@echo "Buildung stx/libjava/experiments
@echo "***********************************"
@cd experiments