JavaClass memory optimization (part 4)
Moved seldomly used slots to attributes in order to reduce JavaClass
memory footprint in common case. Namely, following slots were removed:
`sourceString`, `protectionDomain`, `signatureJ` and `versions`.
--- a/JavaClass.st Sun Dec 07 01:25:54 2014 +0000
+++ b/JavaClass.st Sun Dec 07 02:16:08 2014 +0000
@@ -21,14 +21,13 @@
"{ Package: 'stx:libjava' }"
JavaBehavior subclass:#JavaClass
- instanceVariableNames:'classLoader binaryName sourceString fields
- staticFields annotations protectionDomain signatureJ versions'
+ instanceVariableNames:'classLoader binaryName fields staticFields annotations'
classVariableNames:'ArgumentConversionErrorSignal OrderOfClassInits'
poolDictionaries:'JavaConstants'
category:'Languages-Java-Classes'
!
-Array variableSubclass:#Attributes
+MethodDictionary variableSubclass:#Attributes
instanceVariableNames:''
classVariableNames:'Empty'
poolDictionaries:''
@@ -892,11 +891,15 @@
!
protectionDomain
- ^ protectionDomain
+ ^ attributes at: #ProtectionDomain ifAbsent:[ nil ]
+
+ "Modified: / 07-12-2014 / 01:39:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
protectionDomain:something
- protectionDomain := something.
+ attributes := attributes at: #ProtectionDomain putOrAppend: something
+
+ "Modified: / 07-12-2014 / 01:40:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
runtimeVisibleAnnotationsAsBytesOrNil
@@ -913,24 +916,24 @@
!
setSignature: aSymbol
-
- signatureJ := aSymbol
+ attributes := attributes at: #GenericSignature putOrAppend: aSymbol.
"Created: / 13-08-2011 / 00:30:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-12-2014 / 01:39:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
signatureJ
-
"stupid naming, but superclass defines signature too"
- ^signatureJ
+ ^ attributes at: #GenericSignature ifAbsent:[ nil ]
"Created: / 13-08-2011 / 00:30:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-12-2014 / 01:39:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
source
- | stream |
- sourceString notNil ifTrue: [ ^ sourceString ].
+ | sourceString stream |
+ (sourceString := self sourceString) notNil ifTrue: [ ^ sourceString ].
^ [
stream := self sourceStream.
stream notNil ifTrue:[
@@ -949,7 +952,7 @@
"
"Modified: / 30-07-1997 / 14:31:01 / cg"
- "Modified: / 28-09-2013 / 01:44:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-12-2014 / 01:32:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
sourceFile
@@ -959,7 +962,8 @@
!
sourceStream
- ^ sourceString notNil
+ | sourceString |
+ ^ (sourceString := self sourceString) notNil
ifTrue:[ sourceString readStream ]
ifFalse:[Java classSourceStreamFor: self ]
@@ -970,12 +974,14 @@
"
"Created: / 19-09-2013 / 12:41:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-12-2014 / 01:32:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
sourceString
- ^sourceString
+ ^attributes at: #SourceString ifAbsent: [ nil ]
"Created: / 19-04-2013 / 09:28:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-12-2014 / 01:32:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
staticFields
@@ -1052,9 +1058,10 @@
the version die
"
- ^ versions.
+ ^ attributes at: #Versions ifAbsent: [ nil ]
"Created: / 14-04-2013 / 12:10:54 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+ "Modified: / 07-12-2014 / 01:36:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
versions: aWeakArray
@@ -1062,16 +1069,20 @@
set this class' versions. It is expected that all versions of the
class will share the same weak array instance.
"
- versions := aWeakArray.
+ attributes :=attributes at:#Versions putOrAppend: aWeakArray.
"Created: / 14-04-2013 / 12:28:09 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+ "Modified: / 07-12-2014 / 01:36:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
versionsArray
-
- versions isNil ifTrue: [ ^ Array with: self ] ifFalse: [ ^ self versions ].
+ | versions |
+
+ versions := self versions.
+ ^ versions isNil ifTrue: [ Array with: self ] ifFalse: [ versions ].
"Created: / 08-10-2013 / 18:38:52 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+ "Modified: / 07-12-2014 / 01:37:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!JavaClass methodsFor:'accessing - java'!
@@ -1551,7 +1562,7 @@
"/ check carefully - maybe, my source does not really come from that
"/ file (i.e. all of my methods have their source as string)
- anySourceRef := sourceString isNil.
+ anySourceRef := self sourceString isNil.
anySourceRef ifTrue:[
s := self sourceStream.
@@ -1629,6 +1640,7 @@
].
"Created: / 08-08-2014 / 21:41:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-12-2014 / 01:33:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
fileOutInto: directory
@@ -1882,7 +1894,7 @@
RETURN ( ___new(self) );
%}.
- "Modified: / 08-08-2014 / 09:57:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-12-2014 / 02:11:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
initValueFor:instVarName
@@ -2368,11 +2380,13 @@
aSequenceableCollection class == Attributes ifTrue:[
attributes := aSequenceableCollection
] ifFalse:[
- attributes := Attributes withAll: aSequenceableCollection.
+ attributes := Attributes new: aSequenceableCollection size // 2.
+ aSequenceableCollection pairWiseDo:[ :key :value | attributes at: key put: value. ]
]
]
"Created: / 13-09-2013 / 00:57:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-12-2014 / 01:57:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
setBinaryName: aString
@@ -2441,11 +2455,11 @@
setSource: aStringOrNil
self assert: (aStringOrNil isNil or:[aStringOrNil isString]).
- sourceString := aStringOrNil
+ attributes := attributes at:#SourceString putOrAppend: aStringOrNil
"Created: / 15-04-1996 / 16:42:52 / cg"
"Created: / 18-02-2012 / 19:10:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 19-04-2013 / 09:30:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-12-2014 / 01:34:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
setSourceFile:aFilename
@@ -3312,12 +3326,12 @@
aJavaClass markMultipleVersions.
(self versions isNil and: [ aJavaClass versions isNil ]) ifTrue: [
- |versions|
-
- versions := WeakArray with: self with: aJavaClass.
- versions addDependent: JavaClass::JavaClassVersionDiedHandler new.
- self versions: versions.
- aJavaClass versions: versions.
+ | versionsArray |
+
+ versionsArray := WeakArray with: self with: aJavaClass.
+ versionsArray addDependent: JavaClass::JavaClassVersionDiedHandler new.
+ self versions: versionsArray.
+ aJavaClass versions: versionsArray.
^ self.
].
self versions isNil ifTrue: [
@@ -3334,7 +3348,7 @@
"Created: / 14-04-2013 / 13:44:03 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
"Modified: / 02-10-2013 / 21:52:39 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
- "Modified (format): / 16-08-2014 / 15:10:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (format): / 07-12-2014 / 01:30:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!JavaClass::Attributes class methodsFor:'accessing'!
@@ -3376,26 +3390,6 @@
"Modified: / 13-09-2013 / 00:51:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!JavaClass::Attributes methodsFor:'accessing'!
-
-at: name
- ^ self at: name ifAbsent: [ self keyNotFoundError: 'No such key: ', name printString ]
-
- "Created: / 13-09-2013 / 00:31:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 04-08-2014 / 22:29:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-at: name ifAbsent: block
- 1 to: self size by: 2 do:[:i|
- (self basicAt: i) == name ifTrue:[
- ^ self basicAt: i + 1.
- ]
- ].
- ^ block value
-
- "Created: / 04-08-2014 / 22:28:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
!JavaClass::JavaClassVersionDiedHandler class methodsFor:'documentation'!
history
--- a/JavaClassReader.st Sun Dec 07 01:25:54 2014 +0000
+++ b/JavaClassReader.st Sun Dec 07 02:16:08 2014 +0000
@@ -1252,9 +1252,13 @@
signature_index := inStream nextUnsignedShortMSB:msb.
signature := self constantPoolAt:signature_index.
- something setSignature: signature.
-
- "Modified: / 13-08-2011 / 00:28:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ something isJavaClass ifTrue:[
+ attributes add: #GenericSignature; add: signature
+ ] ifFalse:[
+ something setSignature: signature.
+ ].
+
+ "Modified: / 07-12-2014 / 01:43:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
readSourceDebugExtensionAttributeFor:something
--- a/Make.proto Sun Dec 07 01:25:54 2014 +0000
+++ b/Make.proto Sun Dec 07 02:16:08 2014 +0000
@@ -205,7 +205,6 @@
$(OUTDIR)JavaNioSupport.$(O) JavaNioSupport.$(H): JavaNioSupport.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaObject.$(O) JavaObject.$(H): JavaObject.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaObjectDictionary.$(O) JavaObjectDictionary.$(H): JavaObjectDictionary.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)JavaPackage.$(O) JavaPackage.$(H): JavaPackage.st $(INCLUDE_TOP)/stx/libbasic/NameSpace.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaPopUpView.$(O) JavaPopUpView.$(H): JavaPopUpView.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/PopUpView.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/TopView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(STCHDR)
$(OUTDIR)JavaProcess.$(O) JavaProcess.$(H): JavaProcess.st $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Process.$(H) $(STCHDR)
$(OUTDIR)JavaRef2.$(O) JavaRef2.$(H): JavaRef2.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -276,7 +275,7 @@
$(OUTDIR)JavaAlienMirror.$(O) JavaAlienMirror.$(H): JavaAlienMirror.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaMirror.$(H) $(INCLUDE_TOP)/stx/libjava/JavaVMData.$(H) $(STCHDR)
$(OUTDIR)JavaArrayMirror.$(O) JavaArrayMirror.$(H): JavaArrayMirror.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaMirror.$(H) $(INCLUDE_TOP)/stx/libjava/JavaVMData.$(H) $(STCHDR)
$(OUTDIR)JavaByteCodePreresolver.$(O) JavaByteCodePreresolver.$(H): JavaByteCodePreresolver.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaByteCodeProcessor.$(H) $(INCLUDE_TOP)/stx/libjava/JavaByteCodeProcessorAdapter.$(H) $(STCHDR)
-$(OUTDIR)JavaClass.$(O) JavaClass.$(H): JavaClass.st $(INCLUDE_TOP)/stx/libbasic/Array.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libjava/JavaBehavior.$(H) $(INCLUDE_TOP)/stx/libjava/JavaConstants.$(H) $(STCHDR)
+$(OUTDIR)JavaClass.$(O) JavaClass.$(H): JavaClass.st $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/KeyedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/MethodDictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaBehavior.$(H) $(INCLUDE_TOP)/stx/libjava/JavaConstants.$(H) $(STCHDR)
$(OUTDIR)JavaClassMirror.$(O) JavaClassMirror.$(H): JavaClassMirror.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaMirror.$(H) $(INCLUDE_TOP)/stx/libjava/JavaVMData.$(H) $(STCHDR)
$(OUTDIR)JavaClassPathBundle.$(O) JavaClassPathBundle.$(H): JavaClassPathBundle.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaCodeBundle.$(H) $(INCLUDE_TOP)/stx/libjava/JavaCodeLibraryOrBundle.$(H) $(STCHDR)
$(OUTDIR)JavaFieldRef2.$(O) JavaFieldRef2.$(H): JavaFieldRef2.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaClassMemberRef2.$(H) $(INCLUDE_TOP)/stx/libjava/JavaConstants.$(H) $(INCLUDE_TOP)/stx/libjava/JavaRef2.$(H) $(STCHDR)
--- a/Make.spec Sun Dec 07 01:25:54 2014 +0000
+++ b/Make.spec Sun Dec 07 02:16:08 2014 +0000
@@ -42,6 +42,7 @@
# -warnNonStandard : no warnings about ST/X extensions
# -warnEOLComments : no warnings about EOL comment extension
# -warnPrivacy : no warnings about privateClass extension
+# -warnUnused : no warnings about unused variables
#
# ********** OPTIONAL: MODIFY the next line(s) ***
# STCWARNINGS=-warn
--- a/abbrev.stc Sun Dec 07 01:25:54 2014 +0000
+++ b/abbrev.stc Sun Dec 07 02:16:08 2014 +0000
@@ -44,7 +44,6 @@
JavaNioSupport JavaNioSupport stx:libjava 'Languages-Java-Support-Native' 0
JavaObject JavaObject stx:libjava 'Languages-Java-Classes' 0
JavaObjectDictionary JavaObjectDictionary stx:libjava 'Languages-Java-Support' 0
-JavaPackage JavaPackage stx:libjava 'Languages-Java-Support' 0
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
@@ -142,10 +141,12 @@
ProxyMethodJavaTypeCheckNode ProxyMethodJavaTypeCheckNode stx:libjava 'Languages-Java-Interop' 0
JavaNativeMethod JavaNativeMethod stx:libjava 'Languages-Java-Classes' 0
JavaNativeMethodImpl_OracleJDK8 JavaNativeMethodImpl_OracleJDK8 stx:libjava 'Languages-Java-Support-Java 8' 0
+JavaTestCaseProxy JavaTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
+JavaRefsAndConstantPoolTestCase JavaRefsAndConstantPoolTestCase stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
GroovyEvaluatorTests GroovyEvaluatorTests stx:libjava 'Languages-Groovy-Tests' 1
JUnitTestCaseProxy JUnitTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
+JavaByteCodeProcessorTests JavaByteCodeProcessorTests stx:libjava 'Languages-Java-Tests' 1
JavaByteCodeDisassemblerTests JavaByteCodeDisassemblerTests stx:libjava 'Languages-Java-Tests' 1
-JavaByteCodeProcessorTests JavaByteCodeProcessorTests stx:libjava 'Languages-Java-Tests' 1
JavaClassLoadingTests JavaClassLoadingTests stx:libjava 'Languages-Java-Tests-ClassLoading' 1
JavaClassReaderTests JavaClassReaderTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaClassRefTests JavaClassRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
@@ -161,10 +162,8 @@
JavaMonitorsTests JavaMonitorsTests stx:libjava 'Languages-Java-Tests' 1
JavaNativeMemoryTests JavaNativeMemoryTests stx:libjava 'Languages-Java-Tests' 1
JavaRefMock JavaRefMock stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
-JavaRefsAndConstantPoolTestCase JavaRefsAndConstantPoolTestCase stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaReleaseTests JavaReleaseTests stx:libjava 'Languages-Java-Tests' 1
JavaRuntimeConstantPoolTests JavaRuntimeConstantPoolTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
-JavaTestCaseProxy JavaTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
JavaTestsResource JavaTestsResource stx:libjava 'Languages-Java-Tests' 2
JavaThreadingTests JavaThreadingTests stx:libjava 'Languages-Java-Tests' 1
JavaUTF8Tests JavaUTF8Tests stx:libjava 'Languages-Java-Tests' 1
--- a/bc.mak Sun Dec 07 01:25:54 2014 +0000
+++ b/bc.mak Sun Dec 07 02:16:08 2014 +0000
@@ -30,6 +30,7 @@
!INCLUDE Make.spec
LIBNAME=libstx_libjava
+MODULE_PATH=libjava
RESFILES=libjava.$(RES)
@@ -138,7 +139,6 @@
$(OUTDIR)JavaNioSupport.$(O) JavaNioSupport.$(H): JavaNioSupport.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaObject.$(O) JavaObject.$(H): JavaObject.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaObjectDictionary.$(O) JavaObjectDictionary.$(H): JavaObjectDictionary.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)JavaPackage.$(O) JavaPackage.$(H): JavaPackage.st $(INCLUDE_TOP)\stx\libbasic\NameSpace.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaPopUpView.$(O) JavaPopUpView.$(H): JavaPopUpView.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\PopUpView.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\TopView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(STCHDR)
$(OUTDIR)JavaProcess.$(O) JavaProcess.$(H): JavaProcess.st $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\Process.$(H) $(STCHDR)
$(OUTDIR)JavaRef2.$(O) JavaRef2.$(H): JavaRef2.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -209,7 +209,7 @@
$(OUTDIR)JavaAlienMirror.$(O) JavaAlienMirror.$(H): JavaAlienMirror.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaMirror.$(H) $(INCLUDE_TOP)\stx\libjava\JavaVMData.$(H) $(STCHDR)
$(OUTDIR)JavaArrayMirror.$(O) JavaArrayMirror.$(H): JavaArrayMirror.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaMirror.$(H) $(INCLUDE_TOP)\stx\libjava\JavaVMData.$(H) $(STCHDR)
$(OUTDIR)JavaByteCodePreresolver.$(O) JavaByteCodePreresolver.$(H): JavaByteCodePreresolver.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaByteCodeProcessor.$(H) $(INCLUDE_TOP)\stx\libjava\JavaByteCodeProcessorAdapter.$(H) $(STCHDR)
-$(OUTDIR)JavaClass.$(O) JavaClass.$(H): JavaClass.st $(INCLUDE_TOP)\stx\libbasic\Array.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(INCLUDE_TOP)\stx\libbasic\Class.$(H) $(INCLUDE_TOP)\stx\libbasic\ClassDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libjava\JavaBehavior.$(H) $(INCLUDE_TOP)\stx\libjava\JavaConstants.$(H) $(STCHDR)
+$(OUTDIR)JavaClass.$(O) JavaClass.$(H): JavaClass.st $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(INCLUDE_TOP)\stx\libbasic\Class.$(H) $(INCLUDE_TOP)\stx\libbasic\ClassDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\KeyedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\MethodDictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaBehavior.$(H) $(INCLUDE_TOP)\stx\libjava\JavaConstants.$(H) $(STCHDR)
$(OUTDIR)JavaClassMirror.$(O) JavaClassMirror.$(H): JavaClassMirror.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaMirror.$(H) $(INCLUDE_TOP)\stx\libjava\JavaVMData.$(H) $(STCHDR)
$(OUTDIR)JavaClassPathBundle.$(O) JavaClassPathBundle.$(H): JavaClassPathBundle.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaCodeBundle.$(H) $(INCLUDE_TOP)\stx\libjava\JavaCodeLibraryOrBundle.$(H) $(STCHDR)
$(OUTDIR)JavaFieldRef2.$(O) JavaFieldRef2.$(H): JavaFieldRef2.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaClassMemberRef2.$(H) $(INCLUDE_TOP)\stx\libjava\JavaConstants.$(H) $(INCLUDE_TOP)\stx\libjava\JavaRef2.$(H) $(STCHDR)
--- a/bmake.bat Sun Dec 07 01:25:54 2014 +0000
+++ b/bmake.bat Sun Dec 07 02:16:08 2014 +0000
@@ -9,6 +9,8 @@
@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
make.exe -N -f bc.mak %DEFINES% %*
+@IF "%1" EQU "exe" GOTO finish
+
@echo "***********************************"
@echo "Buildung stx/libjava/experiments
@echo "***********************************"
@@ -24,3 +26,5 @@
@cd ..
+
+:finish
--- a/libjava.rc Sun Dec 07 01:25:54 2014 +0000
+++ b/libjava.rc Sun Dec 07 02:16:08 2014 +0000
@@ -3,8 +3,8 @@
// automagically generated from the projectDefinition: stx_libjava.
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 6,2,26747,26747
- PRODUCTVERSION 6,2,4,0
+ FILEVERSION 6,2,32767,32767
+ PRODUCTVERSION 6,2,5,0
#if (__BORLANDC__)
FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE
FILEFLAGS VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
@@ -20,12 +20,12 @@
BEGIN
VALUE "CompanyName", "eXept Software AG & SWING Research Group\0"
VALUE "FileDescription", "Java support for Smalltalk/X (LIB)\0"
- VALUE "FileVersion", "6.2.26747.26747\0"
+ VALUE "FileVersion", "6.2.32767.32767\0"
VALUE "InternalName", "stx:libjava\0"
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.4.0\0"
- VALUE "ProductDate", "Sat, 11 Oct 2014 22:19:43 GMT\0"
+ VALUE "ProductVersion", "6.2.5.0\0"
+ VALUE "ProductDate", "Sun, 07 Dec 2014 02:13:35 GMT\0"
END
END
--- a/stx_libjava.st Sun Dec 07 01:25:54 2014 +0000
+++ b/stx_libjava.st Sun Dec 07 02:16:08 2014 +0000
@@ -51,11 +51,6 @@
as of 1.9.2010
"
-!
-
-extensionsVersion_HG
-
- ^ '$Changeset: <not expanded> $'
! !
!stx_libjava class methodsFor:'accessing'!
@@ -451,10 +446,12 @@
ProxyMethodJavaTypeCheckNode
JavaNativeMethod
#'JavaNativeMethodImpl_OracleJDK8'
+ (JavaTestCaseProxy autoload)
+ (JavaRefsAndConstantPoolTestCase autoload)
(GroovyEvaluatorTests autoload)
(JUnitTestCaseProxy autoload)
+ (JavaByteCodeProcessorTests autoload)
(JavaByteCodeDisassemblerTests autoload)
- (JavaByteCodeProcessorTests autoload)
(JavaClassLoadingTests autoload)
(JavaClassReaderTests autoload)
(JavaClassRefTests autoload)
@@ -470,15 +467,15 @@
(JavaMonitorsTests autoload)
(JavaNativeMemoryTests autoload)
(JavaRefMock autoload)
- (JavaRefsAndConstantPoolTestCase autoload)
(JavaReleaseTests autoload)
(JavaRuntimeConstantPoolTests autoload)
- (JavaTestCaseProxy autoload)
(JavaTestsResource autoload)
(JavaThreadingTests autoload)
(JavaUTF8Tests autoload)
(TestletTestCaseProxy autoload)
)
+
+ "Modified: / 07-12-2014 / 02:10:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
extensionMethodNames