--- a/JavaBehavior.st Sat Oct 05 23:37:01 2013 +0100
+++ b/JavaBehavior.st Sun Oct 06 00:03:39 2013 +0100
@@ -194,30 +194,45 @@
"Created: / 15-09-2013 / 00:29:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+hasMultipleVersions
+ "
+ return true if this class has multiple coexisting versions
+ "
+ ^ (accessFlags bitAnd:ACX_HASMULTIVERS) ~~ 1
+
+ "Created: / 02-10-2013 / 21:48:24 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+!
+
makeObsolete
accessFlags := accessFlags bitOr:ACC_OBSOLETE
"Created: 7.8.1997 / 19:04:48 / cg"
!
-markCacheable
+markMultipleVersions
"
- mark this class cacheable - references to this class don't have to be
- resolved over and over again, but can be cached.
- "
- self breakPoint: #mh.
+ mark this class cacheable - references to this class don't have to be
+ resolved over and over again, but can be cached."
+
+ (accessFlags bitAnd: ACX_HASMULTIVERS) ~~ 1 ifTrue: [
+ accessFlags := accessFlags bitXor: ACX_HASMULTIVERS
+ ].
"Created: / 14-04-2013 / 14:17:38 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+ "Modified: / 02-10-2013 / 21:40:19 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
!
-markNonCacheable
+markNonMultipleVersions
"
- mark this class non cacheable - references to this class have to be
- resolved over and over again, because multiple versions of this class exist.
- "
- self breakPoint: #mh.
+ mark this class non cacheable - references to this class have to be
+ resolved over and over again, because multiple versions of this class exist."
+
+ (accessFlags bitAnd: ACX_HASMULTIVERS) ~~ 0 ifTrue: [
+ accessFlags := accessFlags bitXor: ACX_HASMULTIVERS
+ ].
"Created: / 14-04-2013 / 14:25:23 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+ "Modified (format): / 02-10-2013 / 21:47:26 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
!
markUninitialized
--- a/JavaClass.st Sat Oct 05 23:37:01 2013 +0100
+++ b/JavaClass.st Sun Oct 06 00:03:39 2013 +0100
@@ -2391,6 +2391,12 @@
"Created: / 5.11.1998 / 23:04:50 / cg"
!
+canCacheReferences
+ ^ self versions isNil or: [ self versions isEmpty ].
+
+ "Created: / 10-09-2013 / 00:07:40 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+!
+
canHaveExtensions
^false
@@ -2478,10 +2484,11 @@
!
isFullyResolved
-constantPool do: [:each | (each isJavaRef and: [each isResolved not]) ifTrue: [^false]].
-^ true.
+ constantPool do: [:each | (each isJavaRef and: [each isResolved not]) ifTrue: [^false]].
+ ^ true.
"Created: / 08-12-2011 / 20:44:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+ "Modified (format): / 02-10-2013 / 21:29:57 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
!
isJavaArrayClass
@@ -2982,8 +2989,11 @@
2) versions instance includes both self and aJavaClass.
"
+ self markMultipleVersions.
+ aJavaClass markMultipleVersions.
+
(self versions isNil and: [ aJavaClass versions isNil ]) ifTrue: [
-|versions|
+ |versions|
versions := WeakArray with: self with: aJavaClass.
versions addDependent: JavaClass::JavaClassVersionDiedHandler new.
self versions: versions.
@@ -3003,6 +3013,7 @@
self error: 'merge of two classes both of which have multiple versions not supported'.
"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>"
! !
!JavaClass::Attributes class methodsFor:'accessing'!
@@ -3063,6 +3074,7 @@
history
"Created: #update:with:from: / 14-04-2013 / 14:04:20 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+ "Modified: #update:with:from: / 02-10-2013 / 21:49:51 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
! !
!JavaClass::JavaClassVersionDiedHandler methodsFor:'notification'!
@@ -3078,10 +3090,11 @@
"only one version remaining - we can start caching. Let's change the flag"
| javaClass |
javaClass := (source at: 1).
- javaClass markCacheable.
+ javaClass markNonMultipleVersions.
].
"Created: / 14-04-2013 / 14:04:20 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+ "Modified: / 02-10-2013 / 21:49:51 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
! !
!JavaClass class methodsFor:'documentation'!
--- a/JavaClassReloader.st Sat Oct 05 23:37:01 2013 +0100
+++ b/JavaClassReloader.st Sun Oct 06 00:03:39 2013 +0100
@@ -159,19 +159,20 @@
anyInvalidated := false.
JavaVM registry classesDo:[:class|
- anyInvalidated := anyInvalidated | (self invalidateClass: class).
+ anyInvalidated := (self invalidateClass: class) | anyInvalidated.
].
anyInvalidated ifTrue:[ObjectMemory flushCaches].
"Created: / 21-02-2012 / 09:47:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 02-10-2013 / 23:27:59 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
!
invalidateClass: javaClass
-
- ^javaClass constantPool invalidateForClass: oldClass
+ ^ javaClass constantPool invalidateForClass: oldClass name.
"Created: / 21-02-2012 / 09:58:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 15-09-2013 / 00:26:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 02-10-2013 / 23:28:51 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
!
migrate
--- a/JavaConstantPool.st Sat Oct 05 23:37:01 2013 +0100
+++ b/JavaConstantPool.st Sun Oct 06 00:03:39 2013 +0100
@@ -76,19 +76,12 @@
!JavaConstantPool class methodsFor:'special'!
invalidateForClass: internalJavaClassName
- "Only alias, everybody calls invalidateForClass so why not me :)"
-
- ^ self invalidateReferencesToClass: internalJavaClassName.
-
- "Created: / 08-04-2011 / 16:52:52 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
-!
-
-invalidateReferencesToClass: internalJavaClassName
"Go over all constant pools and call invalidateForClass on all
references. (usable when given class was unloaded etc)"
ConstantPools do: [:each | each invalidateForClass: internalJavaClassName].
- "Created: / 08-04-2011 / 16:09:03 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+ "Created: / 08-04-2011 / 16:52:52 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+ "Modified: / 02-10-2013 / 21:05:44 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
! !
!JavaConstantPool methodsFor:'accessing'!
--- a/JavaFieldRef2.st Sat Oct 05 23:37:01 2013 +0100
+++ b/JavaFieldRef2.st Sun Oct 06 00:03:39 2013 +0100
@@ -105,6 +105,12 @@
!
findResolvedValue: doClassInit
+ "
+ Stores resolved field in valueCache field, fills offset and
+ type fields. In case of multiple coexisting java class versions
+ sets cleanCacheFlag recognized by the vm, which causes the
+ caches to be cleaned after the use.
+ "
valueCache := JavaResolver uniqueInstance
resolveFieldIndentifiedByRef: self.
valueCache isStatic ifTrue: [ classCache := valueCache javaClass ] ifFalse: [
@@ -119,6 +125,7 @@
"Modified: / 07-12-2011 / 21:52:23 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
"Created: / 09-02-2012 / 23:09:18 / mh <hlopik@gmail.com>"
"Modified: / 16-10-2012 / 10:46:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 02-10-2013 / 21:34:10 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
!
findStaticOffset
--- a/JavaRuntimeConstantPoolTests.st Sat Oct 05 23:37:01 2013 +0100
+++ b/JavaRuntimeConstantPoolTests.st Sun Oct 06 00:03:39 2013 +0100
@@ -109,7 +109,7 @@
cp := self getPrettyBigConstantPool.
cp do: [:each | each isJavaRef ifTrue: [ each resolve ] ].
cp do: [:each | each isJavaRef ifTrue: [ self assertTrue: (each isResolved) ] ].
- JavaConstantPool invalidateReferencesToClass: 'Ljava/lang/Runnable;'.
+ JavaConstantPool invalidateForClass: 'Ljava/lang/Runnable;'.
1 to: 13 do: [
:index |
(cp at: index) isJavaRef ifTrue: [ self assertTrue: (cp at: index) isResolved ]
@@ -122,6 +122,7 @@
].
"Created: / 12-04-2012 / 10:16:47 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+ "Modified: / 02-10-2013 / 21:08:42 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
! !
!JavaRuntimeConstantPoolTests class methodsFor:'documentation'!
--- a/abbrev.stc Sat Oct 05 23:37:01 2013 +0100
+++ b/abbrev.stc Sun Oct 06 00:03:39 2013 +0100
@@ -75,7 +75,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
+JavaTestsResource JavaTestsResource stx:libjava 'Languages-Java-Tests' 0
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
--- a/experiments/JavaClassReloaderTests.st Sat Oct 05 23:37:01 2013 +0100
+++ b/experiments/JavaClassReloaderTests.st Sun Oct 06 00:03:39 2013 +0100
@@ -68,6 +68,8 @@
history
"Created: #resources / 21-12-2012 / 18:09:27 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+ "Modified: #setUp / 02-10-2013 / 22:54:13 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+ "Modified: #tearDown / 02-10-2013 / 22:54:16 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
! !
!JavaClassReloaderTests class methodsFor:'resources'!
@@ -152,14 +154,18 @@
setUp
testClassLoader := JAVA java lang ClassLoader new.
+ ObjectMemory garbageCollect.
"Created: / 16-12-2012 / 16:32:32 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+ "Modified: / 02-10-2013 / 22:54:13 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
!
tearDown
JavaVM registry unregisterClassLoader: testClassLoader.
+ ObjectMemory garbageCollect.
"Created: / 16-12-2012 / 16:33:31 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+ "Modified: / 02-10-2013 / 22:54:16 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
! !
!JavaClassReloaderTests methodsFor:'test helpers'!
--- a/experiments/JavaSingleClassReloaderTests.st Sat Oct 05 23:37:01 2013 +0100
+++ b/experiments/JavaSingleClassReloaderTests.st Sun Oct 06 00:03:39 2013 +0100
@@ -78,25 +78,24 @@
!JavaSingleClassReloaderTests methodsFor:'tests - fields'!
-test_fields_00
- "
- 1) compile simple class with one field
- 2) change type of the field from int to Object
-
+test_fields_00a
"
-
- | jclass1 jinst1 jclass2 jinst2 callerClass |
-
- jclass1 := self compileAndRegister:'
+ 1) compile simple class with one field
+ 2) change type of the field from int to Object
+"
+
+ | jclass1 jinst1 jclass2 jinst2 callerClass |
+ jclass1 := self
+ compileAndRegister: '
public class test_01 {
- public String foo = 1;
+ public int foo = 1;
public int bar() {
return 1;
}
}'.
jinst1 := jclass1 new.
-
- jclass2 := self compileAndRegister:'
+ jclass2 := self
+ compileAndRegister: '
public class test_01 {
public Object foo = new Object();
public int bar() {
@@ -104,35 +103,80 @@
}
}'.
jinst2 := jclass2 new.
-
- callerClass := self compileAndRegister:'
+ callerClass := self
+ compileAndRegister: '
public class CallerClass {
public static Object getFoo(test_01 inst) {
return inst.foo;
}
}'.
-
self assert: jclass1 ~~ jclass2.
-
self assert: jclass1 fields size == 1.
- self assert: jclass1 fields anElement descriptor = 'Ljava/lang/String;'.
+ self assert: jclass1 fields anElement descriptor = 'I'.
self assert: jinst1 bar == 1.
-
self assert: jclass2 fields size == 1.
self assert: jclass2 fields anElement descriptor = 'Ljava/lang/Object;'.
self assert: jinst2 bar == 2.
-
- self should: [ callerClass getFoo: jinst1 ] raise: Error.
+ self should: [ callerClass getFoo: jinst1 ] raise: Error.
self shouldnt: [ callerClass getFoo: jinst2 ] raise: Error.
"Created: / 09-04-2013 / 15:00:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 09-04-2013 / 16:17:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 19-09-2013 / 23:53:22 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+!
+
+test_fields_00b
+ "
+ 1) compile simple class with one field
+ 2) change type of the field from Object to int
+"
+
+ | jclass1 jinst1 jclass2 jinst2 callerClass |
+ jclass1 := self
+ compileAndRegister: '
+public class test_01 {
+ public Object foo = new Object();
+ public int bar() {
+ return 1;
+ }
+}'.
+ jinst1 := jclass1 new.
+ jclass2 := self
+ compileAndRegister: '
+public class test_01 {
+ public int foo = 42;
+ public int bar() {
+ return 2;
+ }
+}'.
+ jinst2 := jclass2 new.
+ callerClass := self
+ compileAndRegister: '
+public class CallerClass {
+ public static int getFoo(test_01 inst) {
+ return inst.foo;
+ }
+}'.
+ self assert: jclass1 ~~ jclass2.
+ self assert: jclass1 fields size == 1.
+ self assert: jclass1 fields anElement descriptor = 'Ljava/lang/Object;'.
+ self assert: jinst1 bar == 1.
+ self assert: jclass2 fields size == 1.
+ self assert: jclass2 fields anElement descriptor = 'I'.
+ self assert: jinst2 bar == 2.
+ self should: [ callerClass getFoo: jinst1 ] raise: Error.
+ self shouldnt: [ callerClass getFoo: jinst2 ] raise: Error.
+
+ "Created: / 20-09-2013 / 00:05:59 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+ "Modified: / 01-10-2013 / 22:05:28 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
!
test_fields_01a
"
1) compile simple class with one field
2) change type of the field from String to Object
+ 3) as this is type generalization, no new class version
+ should be introduced
"
@@ -163,7 +207,7 @@
}
}'.
- self assert: jclass1 ~~ jclass2.
+ self assert: jclass1 == jclass2.
self assert: jclass1 fields size == 1.
self assert: jclass1 fields anElement descriptor = 'Ljava/lang/String;'.
@@ -177,12 +221,14 @@
self shouldnt: [ callerClass getFoo: jinst2 ] raise: Error.
"Created: / 09-04-2013 / 15:24:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-09-2013 / 00:00:50 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
!
test_fields_01b
"
1) compile simple class with one field
- 2) change type of the field from String to Object
+ 2) change type of the field from Object to String
+ 3) new class version should be created
"
@@ -190,7 +236,7 @@
jclass1 := self compileAndRegister:'
public class test_01 {
- public String foo = "XXX";
+ public Object foo = new Object();
public int bar() {
return 1;
}
@@ -206,7 +252,7 @@
jclass2 := self compileAndRegister:'
public class test_01 {
- public Object foo = new Object();
+ public String foo = "XXX";
public int bar() {
return 2;
}
@@ -218,17 +264,18 @@
self assert: jclass1 ~~ jclass2.
self assert: jclass1 fields size == 1.
- self assert: jclass1 fields anElement descriptor = 'Ljava/lang/String;'.
+ self assert: jclass1 fields anElement descriptor = 'Ljava/lang/Object;'.
self assert: jinst1 bar == 1.
self assert: jclass2 fields size == 1.
- self assert: jclass2 fields anElement descriptor = 'Ljava/lang/Object;'.
+ self assert: jclass2 fields anElement descriptor = 'Ljava/lang/String;'.
self assert: jinst2 bar == 2.
self shouldnt: [ callerClass getFoo: jinst1 ] raise: Error.
self should: [ callerClass getFoo: jinst2 ] raise: Error.
"Created: / 09-04-2013 / 15:25:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-09-2013 / 00:04:35 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
!
test_fields_02a
@@ -1631,3 +1678,10 @@
"Created: / 14-09-2013 / 18:37:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!JavaSingleClassReloaderTests class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/experiments/Make.proto Sat Oct 05 23:37:01 2013 +0100
+++ b/experiments/Make.proto Sun Oct 06 00:03:39 2013 +0100
@@ -34,7 +34,7 @@
# add the path(es) here:,
# ********** OPTIONAL: MODIFY the next lines ***
# LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libjava -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libjava/tools
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libjava -I$(INCLUDE_TOP)/stx/goodies/sunit
# if you need any additional defines for embedded C code,
@@ -134,20 +134,12 @@
# build all mandatory prerequisite packages (containing superclasses) for this package
prereq:
cd ../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../goodies/refactoryBrowser/parser && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../../libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../libcomp && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../goodies/petitparser && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../ && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../../goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../libwidg2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../libtool && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../tools && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+ cd ../ && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
--- a/experiments/bc.mak Sat Oct 05 23:37:01 2013 +0100
+++ b/experiments/bc.mak Sun Oct 06 00:03:39 2013 +0100
@@ -34,7 +34,7 @@
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libjava -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libjava\tools
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libjava -I$(INCLUDE_TOP)\stx\goodies\sunit
LOCALDEFINES=
STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME)
@@ -51,20 +51,12 @@
# build all mandatory prerequisite packages (containing superclasses) for this package
prereq:
pushd ..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\goodies\refactoryBrowser\parser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\goodies\petitparser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd .. & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\libwidg2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\libtool & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\tools & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ pushd .. & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
--- a/experiments/experiments.rc Sat Oct 05 23:37:01 2013 +0100
+++ b/experiments/experiments.rc Sun Oct 06 00:03:39 2013 +0100
@@ -25,7 +25,7 @@
VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2013\nCopyright eXept Software AG 1998-2013\0"
VALUE "ProductName", "Smalltalk/X\0"
VALUE "ProductVersion", "6.2.3.0\0"
- VALUE "ProductDate", "Fri, 20 Sep 2013 01:01:21 GMT\0"
+ VALUE "ProductDate", "Wed, 02 Oct 2013 21:33:48 GMT\0"
END
END
--- a/experiments/stx_libjava_experiments.st Sat Oct 05 23:37:01 2013 +0100
+++ b/experiments/stx_libjava_experiments.st Sun Oct 06 00:03:39 2013 +0100
@@ -77,10 +77,8 @@
^ #(
#'stx:goodies/sunit' "TestAsserter - superclass of JavaClassReloaderTests "
- #'stx:goodies/sunit' "TestAsserter - superclass of JavaByteCodeInterpreterTests "
- #'stx:libbasic' "Collection - superclass of SetSample "
- #'stx:libjava' "Java - superclass of JavaMethodWrapperCompiler "
- #'stx:libjava/tools' "JavaParserI - superclass of JavaCompiler::ClassSourceAnalyzer "
+ #'stx:libbasic' "Array - extended "
+ #'stx:libjava' "Java - extended "
)
!