add JavaFieldRef>>reresolveForVersion: javaClass
which is called by the VM when there are multiple
class versions and we must ensure we use correct
version for field resolving
--- a/JavaClassRef2.st Thu Oct 10 16:53:51 2013 +0200
+++ b/JavaClassRef2.st Sat Oct 12 15:53:06 2013 +0200
@@ -95,6 +95,13 @@
"Modified: / 31-08-2013 / 10:59:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+javaClass: javaClass
+
+ valueCache := javaClass.
+
+ "Created: / 12-10-2013 / 15:43:45 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+!
+
javaClassName
"return java class name as written in java programs e.g. java.util.String
in case of array, return class name without square brackets. For primitive
--- a/JavaFieldRef2.st Thu Oct 10 16:53:51 2013 +0200
+++ b/JavaFieldRef2.st Sat Oct 12 15:53:06 2013 +0200
@@ -142,6 +142,18 @@
"Created: / 16-10-2012 / 10:45:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+reresolveForVersion: javaClass
+ "
+ Reresolves fieldRef with class cache set to given javaClass. This is the
+ way VM tells us which class version to use. This method is called only when
+ there are multiple class versions present.
+ "
+ self classRef javaClass: javaClass.
+ self findResolvedValue: true.
+
+ "Created: / 12-10-2013 / 15:44:04 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+!
+
resolveOffset
"fieldRef must be resolved before calling me"
--- a/Make.proto Thu Oct 10 16:53:51 2013 +0200
+++ b/Make.proto Sat Oct 12 15:53:06 2013 +0200
@@ -21,7 +21,7 @@
INCLUDE_TOP=$(TOP)/..
# subdirectories where targets are to be made:
-SUBDIRS= tools libs experiments
+SUBDIRS= experiments tools
# subdirectories where Makefiles are to be made:
--- a/abbrev.stc Thu Oct 10 16:53:51 2013 +0200
+++ b/abbrev.stc Sat Oct 12 15:53:06 2013 +0200
@@ -75,6 +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
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
@@ -120,7 +121,6 @@
JavaNativeMethodImpl_OpenJDK6 JavaNativeMethodImpl_OpenJDK6 stx:libjava 'Languages-Java-Support-OpenJDK6' 0
JavaRelease JavaRelease stx:libjava 'Languages-Java-Support' 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
--- a/bmake.bat Thu Oct 10 16:53:51 2013 +0200
+++ b/bmake.bat Sat Oct 12 15:53:06 2013 +0200
@@ -10,13 +10,6 @@
make.exe -N -f bc.mak %DEFINES% %*
@echo "***********************************"
-@echo "Buildung stx/libjava/libs
-@echo "***********************************"
-@cd libs
-@call bmake %1 %2
-@cd ..
-
-@echo "***********************************"
@echo "Buildung stx/libjava/tools
@echo "***********************************"
@cd tools
--- a/lccmake.bat Thu Oct 10 16:53:51 2013 +0200
+++ b/lccmake.bat Sat Oct 12 15:53:06 2013 +0200
@@ -6,13 +6,6 @@
make.exe -N -f bc.mak -DUSELCC=1 %*
@echo "***********************************"
-@echo "Buildung stx/libjava/libs
-@echo "***********************************"
-@cd libs
-@call lccmake %1 %2
-@cd ..
-
-@echo "***********************************"
@echo "Buildung stx/libjava/tools
@echo "***********************************"
@cd tools
--- a/libjava.rc Thu Oct 10 16:53:51 2013 +0200
+++ b/libjava.rc Sat Oct 12 15:53:06 2013 +0200
@@ -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", "Thu, 10 Oct 2013 14:52:36 GMT\0"
+ VALUE "ProductDate", "Sat, 12 Oct 2013 13:46:36 GMT\0"
END
END
--- a/mingwmake.bat Thu Oct 10 16:53:51 2013 +0200
+++ b/mingwmake.bat Sat Oct 12 15:53:06 2013 +0200
@@ -14,13 +14,6 @@
make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
@echo "***********************************"
-@echo "Buildung stx/libjava/libs
-@echo "***********************************"
-@cd libs
-@call mingwmake %1 %2
-@cd ..
-
-@echo "***********************************"
@echo "Buildung stx/libjava/tools
@echo "***********************************"
@cd tools
--- a/stx_libjava.st Thu Oct 10 16:53:51 2013 +0200
+++ b/stx_libjava.st Sat Oct 12 15:53:06 2013 +0200
@@ -193,9 +193,8 @@
for those, redefine requiredPrerequisites"
^ #(
+ #'stx:libjava/experiments'
#'stx:libjava/tools'
- #'stx:libjava/libs'
- #'stx:libjava/experiments'
)
! !
@@ -382,6 +381,7 @@
JavaSourceFileWriter
(JavaTestCaseProxy autoload)
JavaTestsLoader
+ (JavaTestsResource autoload)
JavaTopView
(JavaUTF8Tests autoload)
JavaUnresolvedCompilationError
@@ -427,7 +427,6 @@
#'JavaNativeMethodImpl_OpenJDK6'
JavaRelease
JavaStringRef2
- (JavaTestsResource autoload)
JavaUnhandledExceptionError
JavaUnresolvedClassConstant
JavaUnresolvedStringConstant
--- a/vcmake.bat Thu Oct 10 16:53:51 2013 +0200
+++ b/vcmake.bat Sat Oct 12 15:53:06 2013 +0200
@@ -18,13 +18,6 @@
@echo "***********************************"
-@echo "Buildung stx/libjava/libs
-@echo "***********************************"
-@cd libs
-@call vcmake %1 %2
-@cd ..
-
-@echo "***********************************"
@echo "Buildung stx/libjava/tools
@echo "***********************************"
@cd tools