JavaVM.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sun, 10 Mar 2013 20:08:42 +0000
branchdevelopment
changeset 2457 0cef0ce3d1ac
parent 2429 ebece4dcaab9
child 2515 bcfe9f4dca6b
permissions -rw-r--r--
Make JavaContext>>acquiredMonitors obsolete. They are no longer needed as we can handle mixed exceptions. The slot is still there, but it is not used any longer. Slot and methods will be removed later - requires changes to the VM. This also fixes a problem with JIT-compiled methods that left monitors entered when abruplty terminated.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
     1
"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
     2
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
     3
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
     4
 New code and modifications done at SWING Research Group [1]:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
     5
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
     6
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
     7
                            SWING Research Group, Czech Technical University in Prague
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
     8
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
     9
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    10
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    11
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    12
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    13
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    14
 hereby transferred.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    15
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    16
 [1] Code written at SWING Research Group contains a signature
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    17
     of one of the above copright owners. For exact set of such code,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    18
     see the differences between this version and version stx:libjava
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    19
     as of 1.9.2010
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    20
"
682
d38f8c7955bb checkin from browser
cg
parents: 672
diff changeset
    21
"{ Package: 'stx:libjava' }"
d38f8c7955bb checkin from browser
cg
parents: 672
diff changeset
    22
518
312c697e7385 *** empty log message ***
cg
parents: 517
diff changeset
    23
Object subclass:#JavaVM
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
    24
	instanceVariableNames:''
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
    25
	classVariableNames:'UnhandledJavaExceptionSignal JavaExceptionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
    26
		UnimplementedInstructionSignal UnimplementedNativeMethodSignal
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    27
		BadMessageSignal InternalErrorSignal CallHandlerSignal LockTable
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    28
		LockTableAccess StackTrace EagerResolvingEnabled
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    29
		OldspaceIncreased PerfCounters MonitorTrace MonitorTraceId
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    30
		ExceptionTrace ExceptionDebug ExitDebug StandardThreadGroup
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    31
		AcquiredMonitorsPerProcess DUMMY_LONG_HIGHWORD
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    32
		DUMMY_DOUBLE_HIGHWORD FirstWindowCreationSemaphore SimulatedOS
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    33
		O_WGgraphics_originX O_WGgraphics_originY O_WGgraphics_pData
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    34
		O_FramePeer_pNativeWidget O_FramePeer_pData LastGraphics LastGC
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    35
		ExceptionDebugPatterns NullPointerExceptionDebug
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    36
		DivisionByZeroExceptionDebug IOExceptionDebug
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    37
		JavaPrivilegedAccessQuery SmalltalkClassLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    38
		FinalizationEnabled FinalizationLobby ParkUnparkSemaphores
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    39
		ThreadInterrupts NativeMethodsImplementation'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    40
	poolDictionaries:'JavaConstants JavaVMData'
2108
ca8c4e7db2e8 category change
Claus Gittinger <cg@exept.de>
parents: 2100
diff changeset
    41
	category:'Languages-Java-Support'
749
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents: 748
diff changeset
    42
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents: 748
diff changeset
    43
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    44
Object subclass:#Performance
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
    45
	instanceVariableNames:'vm counters'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    46
	classVariableNames:''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    47
	poolDictionaries:''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    48
	privateIn:JavaVM
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    49
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    50
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    51
Object subclass:#ReflectionRegistry
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    52
	instanceVariableNames:'vm constantPoolMapping javaClasses javaArrayClasses
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    53
		javaMethodsPerMethod returnNilIfMissing realMethods'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    54
	classVariableNames:''
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    55
	poolDictionaries:''
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    56
	privateIn:JavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    57
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    58
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
    59
!JavaVM class methodsFor:'documentation'!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
    60
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    61
copyright
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    62
"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    63
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    64
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    65
 New code and modifications done at SWING Research Group [1]:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    66
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    67
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    68
                            SWING Research Group, Czech Technical University in Prague
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    69
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    70
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    71
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    72
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    73
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    74
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    75
 hereby transferred.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    76
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    77
 [1] Code written at SWING Research Group contains a signature
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    78
     of one of the above copright owners. For exact set of such code,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    79
     see the differences between this version and version stx:libjava
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    80
     as of 1.9.2010
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    81
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    82
"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    83
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    84
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    85
documentation
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    86
"Runtime support and environment for Java.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    87
You shouldn't communicate with JavaVM directly,
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    88
use Java class instead. JavaVM is layer between
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    89
the native interpret and the rest of the system.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    90
JavaVM implements native java virtual machine
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    91
methods called by interpret, hides java primitive
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    92
types handling, and gives the ST world ways to
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    93
control class loading and reflection"
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    94
!
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    95
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
    96
nativeMethods
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
    97
"
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
    98
    all native methods:
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
    99
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   100
        JavaMethod allSubInstances select:[:m |
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
   101
            m isNative
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   102
        ]
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   103
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   104
    implemented methods:
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   105
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   106
        JavaMethod allSubInstances select:[:m |
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   107
            |sel|
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   108
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   109
            m isNative ifTrue:[
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   110
                sel := ('_' , m javaClass lastName , '_' , m name , ':') asSymbol.
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   111
                JavaVM class implements:sel.
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   112
            ] ifFalse:[
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   113
                false
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   114
            ]
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   115
        ]
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   116
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   117
    unimplemented methods:
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   118
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   119
        JavaMethod allSubInstances select:[:m |
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   120
            |sel|
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   121
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   122
            m isNative ifTrue:[
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   123
                sel := ('_' , m javaClass lastName , '_' , m name , ':') asSymbol.
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   124
                (JavaVM class implements:sel) not
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   125
            ] ifFalse:[
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   126
                false
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   127
            ]
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
   128
        ]
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   129
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   130
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   131
    list of all native methods as in jdk1.1.3:
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   132
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   133
      X - implemented
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   134
      * - implemented to be validated
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   135
      x - implemented with limited functionality
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   136
      o - implemented as dummy (no functionality)
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   137
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   138
    X (Math::double sin (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   139
    X (Math::double cos (double))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   140
    X (Math::double tan (double))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   141
    X (Math::double asin (double))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   142
    X (Math::double acos (double))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   143
    X (Math::double atan (double))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   144
    X (Math::double exp (double))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   145
    X (Math::double log (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   146
    X (Math::double sqrt (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   147
      (Math::double IEEEremainder (double double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   148
    X (Math::double ceil (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   149
    X (Math::double floor (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   150
      (Math::double rint (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   151
      (Math::double atan2 (double double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   152
    X (Math::double pow (double double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   153
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   154
    X (Class::java.lang.Class forName (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   155
    X (Class::java.lang.Object newInstance ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   156
    * (Class::boolean isInstance (java.lang.Object))
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   157
    X (Class::boolean isAssignableFrom (java.lang.Class))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   158
    X (Class::boolean isInterface ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   159
      (Class::boolean isArray ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   160
    X (Class::boolean isPrimitive ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   161
    X (Class::java.lang.String getName ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   162
    X (Class::java.lang.ClassLoader getClassLoader ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   163
    X (Class::java.lang.Class getSuperclass ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   164
      (Class::java.lang.Class[] getInterfaces ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   165
      (Class::java.lang.Class getComponentType ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   166
      (Class::int getModifiers ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   167
      (Class::java.lang.Object[] getSigners ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   168
      (Class::void setSigners (java.lang.Object[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   169
    X (Class::java.lang.Class getPrimitiveClass (java.lang.String))
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   170
      (Class::java.lang.reflect.Field getField0 (java.lang.String int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   171
      (Class::java.lang.reflect.Field[] getFields0 (int))
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   172
    X (Class::java.lang.reflect.Method getMethod0 (java.lang.String java.lang.Class[] int))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   173
    X (Class::java.lang.reflect.Method[] getMethods0 (int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   174
      (Class::java.lang.reflect.Constructor[] getConstructors0 (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   175
      (Class::java.lang.reflect.Constructor getConstructor0 (java.lang.Class[] int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   176
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   177
    X (InetAddressImpl::java.lang.String getLocalHostName ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   178
    X (InetAddressImpl::void makeAnyLocalAddress (java.net.InetAddress))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   179
    X (InetAddressImpl::byte[][] lookupAllHostAddr (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   180
      (InetAddressImpl::java.lang.String getHostByAddr (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   181
    X (InetAddressImpl::int getInetFamily ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   182
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   183
    X (ResourceBundle::java.lang.Class[] getClassContext ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   184
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   185
    X (System::void setIn0 (java.io.InputStream))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   186
    X (System::void setOut0 (java.io.PrintStream))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   187
    X (System::void setErr0 (java.io.PrintStream))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   188
    X (System::long currentTimeMillis ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   189
    X (System::void arraycopy (java.lang.Object int java.lang.Object int int))
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   190
    X (System::int identityHashCode (java.lang.Object))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   191
    X (System::java.util.Properties initProperties (java.util.Properties))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   192
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   193
    X (Thread::java.lang.Thread currentThread ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   194
    X (Thread::void yield ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   195
    X (Thread::void sleep (long))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   196
    X (Thread::void start ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   197
    X (Thread::boolean isInterrupted (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   198
    X (Thread::boolean isAlive ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   199
      (Thread::int countStackFrames ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   200
    X (Thread::void setPriority0 (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   201
    X (Thread::void stop0 (java.lang.Object))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   202
    X (Thread::void suspend0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   203
    X (Thread::void resume0 ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   204
    * (Thread::void interrupt0 ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   205
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   206
      (String::java.lang.String intern ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   207
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   208
    X (Float::int floatToIntBits (float))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   209
    X (Float::float intBitsToFloat (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   210
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   211
      (ObjectStreamClass::int getClassAccess (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   212
      (ObjectStreamClass::java.lang.String[] getMethodSignatures (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   213
      (ObjectStreamClass::int getMethodAccess (java.lang.Class java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   214
      (ObjectStreamClass::java.lang.String[] getFieldSignatures (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   215
      (ObjectStreamClass::int getFieldAccess (java.lang.Class java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   216
      (ObjectStreamClass::java.io.ObjectStreamField[] getFields0 (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   217
      (ObjectStreamClass::long getSerialVersionUID (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   218
      (ObjectStreamClass::boolean hasWriteObject (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   219
      (ObjectInputStream::java.lang.Class loadClass0 (java.lang.Class java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   220
      (ObjectInputStream::void inputClassFields (java.lang.Object java.lang.Class int[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   221
      (ObjectInputStream::java.lang.Object allocateNewObject (java.lang.Class java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   222
      (ObjectInputStream::java.lang.Object allocateNewArray (java.lang.Class int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   223
      (ObjectInputStream::boolean invokeObjectReader (java.lang.Object java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   224
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   225
      (SecurityManager::java.lang.Class[] getClassContext ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   226
    X (SecurityManager::java.lang.ClassLoader currentClassLoader ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   227
      (SecurityManager::int classDepth (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   228
    X (SecurityManager::int classLoaderDepth ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   229
      (SecurityManager::java.lang.Class currentLoadedClass0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   230
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   231
    X (ClassLoader::void init ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   232
    X (ClassLoader::java.lang.Class defineClass0 (java.lang.String byte[] int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   233
    X (ClassLoader::void resolveClass0 (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   234
    X (ClassLoader::java.lang.Class findSystemClass0 (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   235
    X (ClassLoader::java.io.InputStream getSystemResourceAsStream0 (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   236
      (ClassLoader::java.lang.String getSystemResourceAsName0 (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   237
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   238
    X (FileDescriptor::boolean valid ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   239
      (FileDescriptor::void sync ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   240
    X (FileDescriptor::java.io.FileDescriptor initSystemFD (java.io.FileDescriptor int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   241
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   242
    X (Object::java.lang.Class getClass ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   243
    X (Object::int hashCode ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   244
    X (Object::java.lang.Object clone ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   245
    X (Object::void notify ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   246
    X (Object::void notifyAll ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   247
    X (Object::void wait (long))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   248
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   249
    X (FileOutputStream::void open (java.lang.String))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   250
    X (FileOutputStream::void openAppend (java.lang.String))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   251
    X (FileOutputStream::void write (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   252
    X (FileOutputStream::void writeBytes (byte[] int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   253
    X (FileOutputStream::void close ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   254
    X (FileInputStream::void open (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   255
    X (FileInputStream::int read ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   256
    X (FileInputStream::int readBytes (byte[] int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   257
      (FileInputStream::long skip (long))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   258
    X (FileInputStream::int available ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   259
    X (FileInputStream::void close ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   260
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   261
      (VM::int getState ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   262
      (VM::boolean threadsSuspended ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   263
      (VM::void unsuspendThreads ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   264
      (VM::void unsuspendSomeThreads ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   265
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   266
    X (File::boolean exists0 ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   267
    X (File::boolean canWrite0 ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   268
    X (File::boolean canRead0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   269
    X (File::boolean isFile0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   270
    X (File::boolean isDirectory0 ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   271
    X (File::long lastModified0 ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   272
    X (File::long length0 ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   273
    X (File::boolean mkdir0 ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   274
    X (File::boolean renameTo0 (java.io.File))
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   275
    X (File::boolean delete0 ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   276
      (File::boolean rmdir0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   277
    X (File::java.lang.String[] list0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   278
      (File::java.lang.String canonPath (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   279
    X (File::boolean isAbsolute ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   280
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   281
      (ObjectOutputStream::void outputClassFields (java.lang.Object java.lang.Class int[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   282
      (ObjectOutputStream::boolean invokeObjectWriter (java.lang.Object java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   283
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   284
    X (Throwable::void printStackTrace0 (java.lang.Object))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   285
    X (Throwable::java.lang.Throwable fillInStackTrace ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   286
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   287
    X (Double::long doubleToLongBits (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   288
    X (Double::double longBitsToDouble (long))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   289
    X (Double::double valueOf0 (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   290
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   291
    X (Runtime::void exitInternal (int))
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   292
    o (Runtime::void runFinalizersOnExit0 (boolean))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   293
    o (Runtime::java.lang.Process execInternal (java.lang.String[] java.lang.String[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   294
    X (Runtime::long freeMemory ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   295
    X (Runtime::long totalMemory ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   296
    X (Runtime::void gc ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   297
      (Runtime::void runFinalization ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   298
      (Runtime::void traceInstructions (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   299
      (Runtime::void traceMethodCalls (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   300
    X (Runtime::java.lang.String initializeLinkerInternal ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   301
    X (Runtime::java.lang.String buildLibName (java.lang.String java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   302
    X (Runtime::int loadFileInternal (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   303
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   304
      (WDrawingSurfaceInfo::int lock ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   305
      (WDrawingSurfaceInfo::void unlock ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   306
      (WDrawingSurfaceInfo::int getHWnd ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   307
      (WDrawingSurfaceInfo::int getHBitmap ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   308
      (WDrawingSurfaceInfo::int getPBits ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   309
      (WDrawingSurfaceInfo::int getHDC ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   310
      (WDrawingSurfaceInfo::int getDepth ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   311
      (WDrawingSurfaceInfo::int getHPalette ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   312
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   313
    X (WDefaultFontCharset::boolean canConvert (char))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   314
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   315
      (ColorModel::void deletepData ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   316
    X (WToolkit::void init (java.lang.Thread))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   317
    X (WToolkit::void eventLoop ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   318
      (WToolkit::java.awt.image.ColorModel makeColorModel ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   319
    X (WToolkit::int getScreenResolution ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   320
    X (WToolkit::int getScreenWidth ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   321
    X (WToolkit::int getScreenHeight ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   322
      (WToolkit::void sync ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   323
    * (WToolkit::void beep ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   324
    X (WToolkit::void loadSystemColors (int[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   325
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   326
      (WPrintJob::void end ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   327
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   328
    X (WDialogPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   329
    X (WDialogPeer::void _show ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   330
    X (WDialogPeer::void _hide ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   331
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   332
    X (WWindowPeer::void toFront ())
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   333
    X (WWindowPeer::void toBack ())
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   334
    X (WWindowPeer::void _setTitle (java.lang.String))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   335
    X (WWindowPeer::void _setResizable (boolean))
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   336
    X (WWindowPeer::void create (sun.awt.windows.WComponentPeer))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   337
    o (WWindowPeer::void updateInsets (java.awt.Insets))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   338
      (WWindowPeer::java.awt.Component getContainerElement (java.awt.Container int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   339
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   340
    X (WCanvasPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   341
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   342
    X (WTextAreaPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   343
    X (WTextAreaPeer::void insertText (java.lang.String int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   344
      (WTextAreaPeer::void replaceText (java.lang.String int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   345
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   346
    X (WTextComponentPeer::java.lang.String getText ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   347
    X (WTextComponentPeer::void setText (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   348
    X (WTextComponentPeer::int getSelectionStart ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   349
    X (WTextComponentPeer::int getSelectionEnd ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   350
    X (WTextComponentPeer::void select (int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   351
    X (WTextComponentPeer::void enableEditing (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   352
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   353
    X (WComponentPeer::void show ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   354
    X (WComponentPeer::void hide ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   355
    X (WComponentPeer::void enable ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   356
    X (WComponentPeer::void disable ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   357
    X (WComponentPeer::java.awt.Point getLocationOnScreen ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   358
    X (WComponentPeer::void reshape (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   359
    o (WComponentPeer::void handleEvent (java.awt.AWTEvent))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   360
    o (WComponentPeer::void _dispose ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   361
    X (WComponentPeer::void _setForeground (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   362
    X (WComponentPeer::void _setBackground (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   363
    o (WComponentPeer::void setFont (java.awt.Font))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   364
    o (WComponentPeer::void requestFocus ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   365
    o (WComponentPeer::void setCursor (java.awt.Cursor))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   366
    o (WComponentPeer::void start ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   367
      (WComponentPeer::void _beginValidate ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   368
      (WComponentPeer::void endValidate ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   369
    o (WComponentPeer::void setZOrderPosition (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   370
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   371
    X (WFramePeer::void setMenuBar0 (sun.awt.windows.WMenuBarPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   372
    X (WFramePeer::void create (sun.awt.windows.WComponentPeer))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   373
    X (WFramePeer::void _setIconImage (sun.awt.image.ImageRepresentation))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   374
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   375
    o (WFontMetrics::boolean needsConversion (java.awt.Font sun.awt.FontDescriptor))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   376
    o (WFontMetrics::int getMFCharSegmentWidth (java.awt.Font sun.awt.FontDescriptor boolean char[] int int byte[] int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   377
      (WFontMetrics::int bytesWidth (byte[] int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   378
      (WFontMetrics::void init ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   379
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   380
    o (WChoicePeer::void select (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   381
    o (WChoicePeer::void remove (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   382
    o (WChoicePeer::void addItem (java.lang.String int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   383
    X (WChoicePeer::void reshape (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   384
    X (WChoicePeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   385
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   386
    X (WLabelPeer::void setText (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   387
    o (WLabelPeer::void setAlignment (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   388
    X (WLabelPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   389
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   390
    X (WMenuItemPeer::void _setLabel (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   391
    X (WMenuItemPeer::void create (sun.awt.windows.WMenuPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   392
    X (WMenuItemPeer::void enable (boolean))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   393
    o (WMenuItemPeer::void _dispose ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   394
      (WMenuPeer::void addSeparator ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   395
      (WMenuPeer::void delItem (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   396
    X (WMenuPeer::void createMenu (sun.awt.windows.WMenuBarPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   397
      (WMenuPeer::void createSubMenu (sun.awt.windows.WMenuPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   398
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   399
      (WPopupMenuPeer::void createMenu (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   400
      (WPopupMenuPeer::void _show (java.awt.Event))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   401
      (WMenuBarPeer::void addMenu (java.awt.Menu))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   402
      (WMenuBarPeer::void delMenu (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   403
    X (WMenuBarPeer::void create (sun.awt.windows.WFramePeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   404
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   405
      (WCheckboxMenuItemPeer::void setState (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   406
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   407
    X (WFileDialogPeer::void show ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   408
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   409
    X (WCheckboxPeer::void setState (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   410
    X (WCheckboxPeer::void setCheckboxGroup (java.awt.CheckboxGroup))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   411
      (WCheckboxPeer::void setLabel (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   412
    X (WCheckboxPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   413
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   414
    X (WClipboard::void init ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   415
      (WClipboard::void setClipboardText (java.awt.datatransfer.StringSelection))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   416
      (WClipboard::java.lang.String getClipboardText ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   417
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   418
    X (WListPeer::void addItem (java.lang.String int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   419
    X (WListPeer::void delItems (int int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   420
    X (WListPeer::void select (int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   421
      (WListPeer::void deselect (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   422
      (WListPeer::void makeVisible (int))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   423
    X (WListPeer::void setMultipleSelections (boolean))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   424
    X (WListPeer::void create (sun.awt.windows.WComponentPeer))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   425
    X (WListPeer::boolean isSelected (int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   426
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   427
    x (WScrollbarPeer::void _setValues (int int int int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   428
    x (WScrollbarPeer::void setLineIncrement (int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   429
    x (WScrollbarPeer::void setPageIncrement (int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   430
    x (WScrollbarPeer::void create (sun.awt.windows.WComponentPeer))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   431
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   432
    x (ImageRepresentation::void offscreenInit (java.awt.Color))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   433
    x (ImageRepresentation::boolean setBytePixels (int int int int java.awt.image.ColorModel byte[] int int))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   434
    x (ImageRepresentation::boolean setIntPixels (int int int int java.awt.image.ColorModel int[] int int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   435
    x (ImageRepresentation::boolean finish (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   436
    X (ImageRepresentation::void imageDraw (java.awt.Graphics int int java.awt.Color))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   437
    x (ImageRepresentation::void imageStretch (java.awt.Graphics int int int int int int int int java.awt.Color))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   438
    x (ImageRepresentation::void disposeImage ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   439
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   440
    X (WTextFieldPeer::void create (sun.awt.windows.WComponentPeer))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   441
    X (WTextFieldPeer::void setEchoCharacter (char))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   442
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   443
    X (WScrollPanePeer::void create (sun.awt.windows.WComponentPeer))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   444
    o (WScrollPanePeer::int getOffset (int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   445
      (WScrollPanePeer::void setInsets ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   446
      (WScrollPanePeer::void setScrollPosition (int int))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   447
    x (WScrollPanePeer::int _getHScrollbarHeight ())
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   448
    x (WScrollPanePeer::int _getVScrollbarWidth ())
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   449
    o (WScrollPanePeer::void setSpans (int int int int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   450
      (WScrollPanePeer::java.awt.Component getScrollChild ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   451
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   452
      (WEmbeddedFramePeer::void create (sun.awt.windows.WComponentPeer))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   453
    X (WButtonPeer::void setLabel (java.lang.String))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   454
    X (WButtonPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   455
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   456
    x (WColor::java.awt.Color getDefaultColor (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   457
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   458
    x (GifImageDecoder::boolean parseImage (int int int int boolean int byte[] byte[] java.awt.image.IndexColorModel))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   459
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   460
    x (WGraphics::void createFromComponent (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   461
    x (WGraphics::void createFromGraphics (sun.awt.windows.WGraphics))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   462
      (WGraphics::void createFromPrintJob (sun.awt.windows.WPrintJob))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   463
      (WGraphics::void createFromHDC (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   464
    x (WGraphics::void imageCreate (sun.awt.image.ImageRepresentation))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   465
    x (WGraphics::void pSetFont (java.awt.Font))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   466
    X (WGraphics::void pSetForeground (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   467
      (WGraphics::void _dispose ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   468
    x (WGraphics::void dispose ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   469
    x (WGraphics::void setPaintMode ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   470
    x (WGraphics::void setXORMode (java.awt.Color))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   471
    o (WGraphics::java.awt.Rectangle getClipBounds ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   472
    o (WGraphics::void changeClip (int int int int boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   473
      (WGraphics::void removeClip ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   474
    X (WGraphics::void clearRect (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   475
    X (WGraphics::void fillRect (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   476
    X (WGraphics::void drawRect (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   477
      (WGraphics::void drawSFChars (char[] int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   478
    x (WGraphics::int drawMFCharsSegment (java.awt.Font sun.awt.FontDescriptor char[] int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   479
      (WGraphics::int drawMFCharsConvertedSegment (java.awt.Font sun.awt.FontDescriptor byte[] int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   480
      (WGraphics::void drawBytes (byte[] int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   481
    X (WGraphics::void drawLine (int int int int))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   482
    X (WGraphics::void copyArea (int int int int int int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   483
    o (WGraphics::void drawRoundRect (int int int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   484
    o (WGraphics::void fillRoundRect (int int int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   485
    X (WGraphics::void drawPolygon (int[] int[] int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   486
      (WGraphics::void drawPolyline (int[] int[] int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   487
    X (WGraphics::void fillPolygon (int[] int[] int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   488
    x (WGraphics::void drawOval (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   489
    x (WGraphics::void fillOval (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   490
    x (WGraphics::void drawArc (int int int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   491
    x (WGraphics::void fillArc (int int int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   492
      (WGraphics::void print (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   493
      (WGraphics::void close (sun.awt.windows.WPrintJob))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   494
      (JPEGImageDecoder::void readImage (java.io.InputStream byte[]))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   495
    o (OffScreenImageSource::void sendPixels ())
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   496
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   497
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   498
    additional native methods added by microsoft (sigh):
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   499
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   500
    X (java.lang.String::boolean equals (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   501
    X (java.lang.String::int length (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   502
    o (java.lang.Runtime::void setInputStreamLocalised (java.io.DataInputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   503
    o (java.lang.Runtime::void setOutputStreamLocalised (java.io.DataOutputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   504
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   505
      (java.lang.String::int compareTo (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   506
      (java.lang.String::boolean equalsIgnoreCase (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   507
      (java.lang.String::int indexOf (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   508
      (java.lang.String::boolean startsWith (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   509
      (java.lang.String::boolean regionMatches (int java.lang.String int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   510
      (java.lang.String::boolean regionMatches (boolean int java.lang.String int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   511
      (java.lang.String::int lastIndexOf (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   512
      (java.lang.ClassLoader::void resolveClass (java.lang.Class))
661
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
   513
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   514
      (java.lang.ClassLoader::java.lang.Class createArrayClass (java.lang.String java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   515
      (java.io.PrintStream::boolean isOutputStreamLocalised (java.io.DataOutputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   516
      (java.lang.Runtime::boolean isOutputStreamLocalised (java.io.DataOutputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   517
      (java.lang.Runtime::boolean isInputStreamLocalised (java.io.DataInputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   518
      (java.lang.ThreadGroup::void initMainThreadGroup0 (java.lang.ThreadGroup))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   519
      (java.lang.System::void validateSecurityManager (java.lang.SecurityManager))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   520
      (java.lang.Class::java.lang.reflect.Method getMethod2 (int java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   521
      (java.io.ObjectOutputStream::void invokeDefaultWriteObject (java.lang.Object java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   522
      (java.io.ObjectOutputStream::void invokeWriteObject (java.lang.Object java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   523
      (java.io.ObjectInputStream::void invokeDefaultReadObject (java.lang.Object java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   524
      (java.io.ObjectInputStream::void invokeReadObject (java.lang.Object java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   525
      (java.util.TimeZone::java.util.TimeZone getWin32TimeZone ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   526
      (java.net.InetAddress::java.lang.Object[] lookupHostByName (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   527
      (java.net.InetAddress::java.lang.Object[] lookupHostByAddr (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   528
      (java.io.ObjectStreamClass::void doMismatchedRead (java.io.ObjectInputStream java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   529
      (java.io.ObjectStreamClass::long getClassDefinedUID (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   530
      (java.io.ObjectStreamClass::boolean findObjectMethod0 (java.lang.Class int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   531
      (java.lang.reflect.Method::java.lang.String getDescriptor ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   532
      (java.lang.reflect.Array::void setShort (java.lang.Object int unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   533
      (java.lang.reflect.Array::char getChar (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   534
      (java.lang.reflect.Array::void setChar (java.lang.Object int char))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   535
      (java.lang.reflect.Array::void setDouble (java.lang.Object int double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   536
      (java.lang.reflect.Array::java.lang.Object get (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   537
      (java.lang.reflect.Array::void set (java.lang.Object int java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   538
      (java.lang.reflect.Array::int getInt (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   539
      (java.lang.reflect.Array::void setInt (java.lang.Object int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   540
      (java.lang.reflect.Array::java.lang.Object multiNewArray (java.lang.Class int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   541
      (java.lang.reflect.Array::boolean getBoolean (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   542
      (java.lang.reflect.Array::byte getByte (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   543
      (java.lang.reflect.Array::float getFloat (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   544
      (java.lang.reflect.Array::void setBoolean (java.lang.Object int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   545
      (java.lang.reflect.Array::long getLong (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   546
      (java.lang.reflect.Array::void setByte (java.lang.Object int byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   547
      (java.lang.reflect.Array::void setLong (java.lang.Object int long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   548
      (java.lang.reflect.Array::void setFloat (java.lang.Object int float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   549
      (java.lang.reflect.Array::java.lang.Object newArray (java.lang.Class int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   550
      (java.lang.reflect.Array::int getLength (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   551
      (java.lang.reflect.Array::unsigned short getShort (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   552
      (java.lang.reflect.Array::double getDouble (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   553
      (java.lang.reflect.Field::void setShort (java.lang.Object unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   554
      (java.lang.reflect.Field::char getChar (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   555
      (java.lang.reflect.Field::void setChar (java.lang.Object char))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   556
      (java.lang.reflect.Field::void setDouble (java.lang.Object double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   557
      (java.lang.reflect.Field::java.lang.Object get (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   558
      (java.lang.reflect.Field::void set (java.lang.Object java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   559
      (java.lang.reflect.Field::int getInt (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   560
      (java.lang.reflect.Field::void setInt (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   561
      (java.lang.reflect.Field::boolean getBoolean (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   562
      (java.lang.reflect.Field::byte getByte (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   563
      (java.lang.reflect.Field::float getFloat (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   564
      (java.lang.reflect.Field::long getLong (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   565
      (java.lang.reflect.Field::void setBoolean (java.lang.Object boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   566
      (java.lang.reflect.Field::void setByte (java.lang.Object byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   567
      (java.lang.reflect.Field::void setLong (java.lang.Object long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   568
      (java.lang.reflect.Field::void setFloat (java.lang.Object float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   569
      (java.lang.reflect.Field::int getModifiers ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   570
      (java.lang.reflect.Field::unsigned short getShort (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   571
      (java.lang.reflect.Field::double getDouble (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   572
      (java.lang.reflect.Constructor::java.lang.Object newInstance (java.lang.Object[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   573
      (java.lang.reflect.Constructor::int getModifiers ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   574
      (java.util.zip.Inflater::void setDictionary0 (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   575
      (java.util.zip.Inflater::int getTotalIn0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   576
      (java.util.zip.Inflater::void reset0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   577
      (java.util.zip.Inflater::void end0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   578
      (java.util.zip.Inflater::int inflate0 (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   579
      (java.util.zip.Inflater::int getTotalOut0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   580
      (java.util.zip.Inflater::int getAdler0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   581
      (java.util.zip.CRC32::void update1 (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   582
      (java.util.zip.CRC32::void update (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   583
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   584
      (com.ms.security.PolicyEngine::boolean isSystemClass (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   585
      (com.ms.security.PolicyEngine::void denyPermission (com.ms.security.PermissionID))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   586
      (com.ms.security.PolicyEngine::void revertPermission (com.ms.security.PermissionID))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   587
      (com.ms.security.PolicyEngine::void initPolicyEngine ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   588
      (com.ms.security.PolicyEngine::java.lang.Class _getClassOfCaller (java.lang.Class[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   589
      (com.ms.security.PolicyEngine::void internalCheckClass (java.lang.Class com.ms.security.PermissionID java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   590
      (com.ms.security.PolicyEngine::com.ms.security.PermissionDataSet getPermissionsOfClass (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   591
      (com.ms.security.PolicyEngine::void assertPermission (com.ms.security.PermissionID))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   592
      (com.ms.security.PolicyEngine::void deepCheck (com.ms.security.PermissionID java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   593
      (com.ms.security.PolicyEngine::void shallowCheck (com.ms.security.PermissionID java.lang.Object java.lang.Class[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   594
      (com.ms.security.PolicyEngine::java.security.Principal getPrincipalOfClass (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   595
      (com.ms.security.permissions.ThreadPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   596
      (com.ms.security.permissions.ThreadPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   597
      (com.ms.security.permissions.RegistryPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   598
      (com.ms.security.permissions.RegistryPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   599
      (com.ms.security.management.ZonePermissions::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   600
      (com.ms.security.management.ZonePermissions::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   601
      (com.ms.security.permissions.UIPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   602
      (com.ms.security.permissions.UIPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   603
      (com.ms.security.permissions.NetIOPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   604
      (com.ms.security.permissions.NetIOPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   605
      (com.ms.security.permissions.ReflectionPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   606
      (com.ms.security.permissions.ReflectionPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   607
      (com.ms.vm.WeakReference::void storeRef (int java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   608
      (com.ms.vm.WeakReference::int allocRef (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   609
      (com.ms.vm.WeakReference::void freeRef (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   610
      (com.ms.vm.WeakReference::java.lang.Object fetchRef (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   611
      (com.ms.dll.DllLib::void CoTaskMemFree (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   612
      (com.ms.dll.DllLib::void CopyWithDstOffset (int float[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   613
      (com.ms.dll.DllLib::void CopyWithDstOffset (int double[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   614
      (com.ms.dll.DllLib::int numParamBytes0 (java.lang.reflect.Method))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   615
      (com.ms.dll.DllLib::void CopyWithDstOffset (int java.lang.Object int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   616
      (com.ms.dll.DllLib::void write2 (java.lang.Object int unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   617
      (com.ms.dll.DllLib::void write2 (int int unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   618
      (com.ms.dll.DllLib::void write2 (java.lang.Object int char))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   619
      (com.ms.dll.DllLib::void write2 (int int char))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   620
      (com.ms.dll.DllLib::int GlobalAlloc (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   621
      (com.ms.dll.DllLib::void resize (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   622
      (com.ms.dll.DllLib::long read8 (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   623
      (com.ms.dll.DllLib::long read8 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   624
      (com.ms.dll.DllLib::int lstrcpy (java.lang.StringBuffer int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   625
      (com.ms.dll.DllLib::int lstrlenA (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   626
      (com.ms.dll.DllLib::int read4 (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   627
      (com.ms.dll.DllLib::int CoTaskMemAlloc (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   628
      (com.ms.dll.DllLib::void write8 (java.lang.Object int long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   629
      (com.ms.dll.DllLib::int sizeOf0 (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   630
      (com.ms.dll.DllLib::int getSystemDefaultCharSize ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   631
      (com.ms.dll.DllLib::void write8 (int int long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   632
      (com.ms.dll.DllLib::int read4 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   633
      (com.ms.dll.DllLib::byte read1 (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   634
      (com.ms.dll.DllLib::byte read1 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   635
      (com.ms.dll.DllLib::int lstrlen (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   636
      (com.ms.dll.DllLib::void CopyMemoryAnsi (int java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   637
      (com.ms.dll.DllLib::void CopyMemoryAnsi (java.lang.StringBuffer int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   638
      (com.ms.dll.DllLib::boolean isStruct (java.lang.reflect.Field))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   639
      (com.ms.dll.DllLib::boolean GlobalFree (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   640
      (com.ms.dll.DllLib::void internalAttemptCopyPtrToStruct (int java.lang.Object int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   641
      (com.ms.dll.DllLib::int getLastError ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   642
      (com.ms.dll.DllLib::void write4 (java.lang.Object int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   643
      (com.ms.dll.DllLib::void write4 (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   644
      (com.ms.dll.DllLib::unsigned short read2 (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   645
      (com.ms.dll.DllLib::unsigned short read2 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   646
      (com.ms.dll.DllLib::void release (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   647
      (com.ms.dll.DllLib::void write1 (java.lang.Object int byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   648
      (com.ms.dll.DllLib::void write1 (int int byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   649
      (com.ms.dll.DllLib::boolean isStructCls (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   650
      (com.ms.dll.DllLib::void prelink (java.lang.reflect.Method))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   651
      (com.ms.dll.DllLib::void CopyMemoryUni (int java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   652
      (com.ms.dll.DllLib::void CopyMemoryUni (java.lang.StringBuffer int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   653
      (com.ms.dll.DllLib::void internalAttemptCopyStructToPtr (java.lang.Object int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   654
      (com.ms.dll.DllLib::void CopyWithSrcOffset (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   655
      (com.ms.dll.DllLib::void CopyWithSrcOffset (byte[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   656
      (com.ms.dll.DllLib::void CopyWithSrcOffset (char[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   657
      (com.ms.dll.DllLib::void CopyWithSrcOffset (unsigned short[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   658
      (com.ms.dll.DllLib::void CopyWithSrcOffset (int[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   659
      (com.ms.dll.DllLib::void CopyWithSrcOffset (long[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   660
      (com.ms.dll.DllLib::void CopyWithSrcOffset (float[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   661
      (com.ms.dll.DllLib::void CopyWithSrcOffset (double[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   662
      (com.ms.dll.DllLib::void CopyWithSrcOffset (java.lang.Object int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   663
      (com.ms.dll.DllLib::void CopyWithDstOffset (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   664
      (com.ms.dll.DllLib::int lstrlenW (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   665
      (com.ms.dll.DllLib::void CopyWithDstOffset (int byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   666
      (com.ms.dll.DllLib::void CopyWithDstOffset (int char[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   667
      (com.ms.dll.DllLib::void CopyWithDstOffset (int unsigned short[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   668
      (com.ms.dll.DllLib::void CopyWithDstOffset (int int[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   669
      (com.ms.dll.DllLib::void CopyWithDstOffset (int long[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   670
      (com.ms.dll.DllLib::int internalGetStructAddr (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   671
      (com.ms.dll.DllLib::int offsetOf (java.lang.reflect.Field))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   672
      (com.ms.dll.DllLib::int lstrcpy (int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   673
      (com.ms.dll.DllLib::int sizeOf (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   674
      (com.ms.lang.RegKey::com.ms.lang.RegKeyEnumValue pRegEnumValue (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   675
      (com.ms.lang.RegKey::java.lang.String pRegQueryStringValue (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   676
      (com.ms.lang.RegKey::byte[] pRegQueryBinaryValue (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   677
      (com.ms.lang.RegKey::int pRegQueryIntValue (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   678
      (com.ms.lang.RegKey::void pRegSetStringValue (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   679
      (com.ms.lang.RegKey::void pRegSetIntValue (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   680
      (com.ms.lang.RegKey::void pRegSetBinaryValue (java.lang.String byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   681
      (com.ms.lang.RegKey::void pRegDeleteValue (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   682
      (com.ms.lang.RegKey::void pRegFlushKey ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   683
      (com.ms.lang.RegKey::void pRegDeleteKey (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   684
      (com.ms.lang.RegKey::void pRegOpenBaseKey (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   685
      (com.ms.lang.RegKey::void pRegOpenKey (com.ms.lang.RegKey java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   686
      (com.ms.lang.RegKey::int pRegQueryInfoKey (com.ms.lang.RegQueryInfo))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   687
      (com.ms.lang.RegKey::void pRegUnLoadKey (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   688
      (com.ms.lang.RegKey::void pRegCreateKey (com.ms.lang.RegKey java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   689
      (com.ms.lang.RegKey::void pRegRestoreKey (java.lang.String boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   690
      (com.ms.lang.RegKey::void pRegLoadKey (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   691
      (com.ms.lang.RegKey::void pRegCloseKey ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   692
      (com.ms.lang.RegKey::java.lang.String pRegEnumKey (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   693
      (com.ms.lang.RegKey::void pRegReplaceKey (java.lang.String java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   694
      (com.ms.awt.peer.NativeServices::int pGetKeyboardLayouts (int[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   695
      (com.ms.awt.peer.NativeServices::void jpegReadByte (com.ms.awt.peer.IjpegDecoderCallback byte[] int com.ms.awt.peer.jpegInfoHeader byte[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   696
      (com.ms.awt.peer.NativeServices::int getColourDataDepth ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   697
      (com.ms.awt.peer.NativeServices::java.lang.String pGetFontEnumeratedFamily (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   698
      (com.ms.awt.peer.NativeServices::int pNewFontEnumeration ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   699
      (com.ms.awt.peer.NativeServices::int getScreenClipRgn (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   700
      (com.ms.awt.peer.NativeServices::int pSetKeyboardLayout (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   701
      (com.ms.awt.peer.NativeServices::void ClipboardInit (com.ms.awt.peer.IToolkit))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   702
      (com.ms.awt.peer.NativeServices::void getDeviceCaps (int int[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   703
      (com.ms.awt.peer.NativeServices::void getAfcMetrics (int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   704
      (com.ms.awt.peer.NativeServices::void setUserLocale (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   705
      (com.ms.awt.peer.NativeServices::void getDCDI (com.ms.awt.peer.DirectColourDataInfo))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   706
      (com.ms.awt.peer.NativeServices::int pGetNumKeyboardLayouts ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   707
      (com.ms.awt.peer.NativeServices::void getIndexedColours (byte[] byte[] byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   708
      (com.ms.awt.peer.NativeServices::int getNativeFont (java.lang.String int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   709
      (com.ms.awt.peer.NativeServices::int pGetKeyboardLayout ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   710
      (com.ms.awt.peer.NativeServices::int getSystemLCID ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   711
      (com.ms.awt.peer.NativeServices::void caretSetPos (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   712
      (com.ms.awt.peer.NativeServices::java.lang.String getLogFontFromIUnknown (com.ms.com.IUnknown com.ms.awt.peer.LogFontX))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   713
      (com.ms.awt.peer.NativeServices::java.lang.String ClipboardGetText ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   714
      (com.ms.awt.peer.NativeServices::int systemMetric (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   715
      (com.ms.awt.peer.NativeServices::void jpegInit (com.ms.awt.peer.IjpegDecoderCallback byte[] int com.ms.awt.peer.jpegInfoHeader))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   716
      (com.ms.awt.peer.NativeServices::void caretHide (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   717
      (com.ms.awt.peer.NativeServices::int chooseColor (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   718
      (com.ms.awt.peer.NativeServices::java.lang.String pGetKeyboardLayoutName (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   719
      (com.ms.awt.peer.NativeServices::int matchFontAndLanguage (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   720
      (com.ms.awt.peer.NativeServices::java.lang.String chooseFont (com.ms.awt.peer.LogFontX java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   721
      (com.ms.awt.peer.NativeServices::java.lang.String getSystemFont (int com.ms.awt.peer.LogFontX))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   722
      (com.ms.awt.peer.NativeServices::com.ms.com.IUnknown getIUnknownFromLogFont (java.lang.String com.ms.awt.peer.LogFontX))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   723
      (com.ms.awt.peer.NativeServices::void caretDispose (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   724
      (com.ms.awt.peer.NativeServices::void caretShow (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   725
      (com.ms.awt.peer.NativeServices::void deleteObject (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   726
      (com.ms.awt.peer.NativeServices::void setDebugOutput (com.ms.awt.peer.COMPrintCallback))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   727
      (com.ms.awt.peer.NativeServices::void jpegReadInt (com.ms.awt.peer.IjpegDecoderCallback byte[] int com.ms.awt.peer.jpegInfoHeader int[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   728
      (com.ms.awt.peer.NativeServices::int getSystemColourValue (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   729
      (com.ms.awt.peer.NativeServices::void caretCreate (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   730
      (com.ms.awt.peer.NativeServices::void ClipboardSetText (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   731
      (com.ms.awt.peer.NativeServices::void println (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   732
      (com.ms.security.SecurityClassLoader::boolean getSecureState ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   733
      (com.ms.security.SecurityClassLoader::void setSecureState (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   734
      (com.ms.security.SecurityClassLoader::java.lang.Class internalDefineClass (java.lang.String byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   735
      (com.ms.security.SecurityClassLoader::void markClass (java.lang.Class com.ms.security.PermissionSet java.security.Principal))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   736
      (com.ms.security.SecurityClassLoader::java.util.Hashtable getHashTable ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   737
      (com.ms.security.auditing.SecurityAuditor::boolean isThreadAuditingEnabled ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   738
      (com.ms.security.auditing.SecurityAuditor::void disableThreadAuditing ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   739
      (com.ms.security.auditing.SecurityAuditor::void enableThreadAuditing ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   740
      (com.ms.security.auditing.SecurityAuditor::void initSecurityAuditor ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   741
      (com.ms.security.PermissionDataSet::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   742
      (com.ms.security.PermissionDataSet::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   743
      (com.ms.lang.SystemX::int pAnsiToUnicode (byte[] char[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   744
      (com.ms.lang.SystemX::int pQueryUnicodeToAnsi (char[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   745
      (com.ms.lang.SystemX::void gc ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   746
      (com.ms.lang.SystemX::boolean arrayCompare (java.lang.Object[] int java.lang.Object[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   747
      (com.ms.lang.SystemX::int pUnicodeToAnsi (char[] byte[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   748
      (com.ms.lang.SystemX::boolean isLocalCharDBCSLeadByte (byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   749
      (com.ms.lang.SystemX::int pQueryAnsiToUnicode (byte[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   750
      (com.ms.lang.SystemX::boolean isBaseDBCS ())
661
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
   751
      (com.ms.lang.SystemX::java.lang.reflect.Method getMethod2 (java.lang.Class int java.lang.String java.lang.String))
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   752
      (com.ms.packagemanager.JavaPackage::byte[] nativeGetSigner (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   753
      (com.ms.packagemanager.JavaPackage::byte[] nativeGetCapabilities (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   754
      (com.ms.com._Guid::void IIDFromString (java.lang.String com.ms.com._Guid))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   755
      (com.ms.com._Guid::java.lang.String StringFromIID (com.ms.com._Guid))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   756
      (com.ms.security.auditing.PrintStreamAuditor::int GetModuleHandle (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   757
      (com.ms.security.auditing.PrintStreamAuditor::int FormatMessage (int int int int java.lang.StringBuffer int int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   758
      (com.ms.security.permissions.CustomPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   759
      (com.ms.security.permissions.CustomPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   760
      (com.ms.security.permissions.X509Signer::boolean pLoad (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   761
      (com.ms.packagemanager.PackageManager::java.lang.Class nativeFindClassInNamespace (java.lang.String java.lang.String java.lang.ClassLoader))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   762
      (com.ms.packagemanager.PackageManager::java.lang.Object nativeGetPackage (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   763
      (com.ms.packagemanager.PackageManager::java.lang.String[] nativeGetBeansList ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   764
      (com.ms.packagemanager.PackageManager::com.ms.com.IStream nativeGetFileIStream (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   765
      (com.ms.packagemanager.PackageManager::java.lang.Class nativeFindClass (java.lang.String java.lang.String java.lang.ClassLoader))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   766
      (com.ms.security.permissions.UserFileIOPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   767
      (com.ms.security.permissions.UserFileIOPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   768
      (com.ms.security.permissions.PropertyPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   769
      (com.ms.security.permissions.PropertyPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   770
      (com.ms.security.permissions.ClientStoragePermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   771
      (com.ms.security.permissions.ClientStoragePermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   772
      (com.ms.security.permissions.ExecutionPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   773
      (com.ms.security.permissions.ExecutionPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   774
      (com.ms.util.EventLog::boolean DeregisterEventSource (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   775
      (com.ms.util.EventLog::void reportEvent0 (unsigned short unsigned short int java.lang.String[] byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   776
      (com.ms.util.EventLog::int RegisterEventSource (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   777
      (com.ms.applet.BrowserAppletFrame::void signalViewChange (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   778
      (com.ms.applet.BrowserAppletFrame::java.lang.Object newInstance (int java.lang.Class boolean com.ms.security.PermissionSet))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   779
      (com.ms.applet.BrowserAppletFrame::void showSystemStatus (int int boolean java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   780
      (com.ms.applet.BrowserAppletFrame::com.ms.security.management.SecurityPolicy getSecurityPolicy0 (int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   781
      (com.ms.applet.BrowserAppletFrame::void setDownloadState (int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   782
      (com.ms.applet.BrowserAppletFrame::int GetSystemDefaultLCID ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   783
      (com.ms.applet.BrowserAppletFrame::void requestResize (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   784
      (com.ms.applet.BrowserAppletFrame::void signalObjectLoadDone (int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   785
      (com.ms.applet.BrowserAppletFrame::com.ms.applet.BrowserAppletFrame findOfflineContext ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   786
      (com.ms.applet.BrowserAppletFrame::void showStatus0 (int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   787
      (com.ms.applet.BrowserAppletFrame::boolean checkGlobalOfflineMode0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   788
      (com.ms.applet.BrowserAppletFrame::void showDocument0 (int java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   789
      (com.ms.security.permissions.SystemStreamsPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   790
      (com.ms.security.permissions.SystemStreamsPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   791
      (com.ms.security.permissions.FileIOPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   792
      (com.ms.security.permissions.FileIOPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   793
      (com.ms.com.ComLib::int newGCHandle (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   794
      (com.ms.com.ComLib::java.lang.Object derefGCHandle (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   795
      (com.ms.com.ComLib::void dprinthelper (char[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   796
      (com.ms.com.ComLib::void release (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   797
      (com.ms.com.ComLib::int jcdwClassSizeOf (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   798
      (com.ms.com.ComLib::int jcdwOffsetOf (java.lang.Object java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   799
      (com.ms.com.ComLib::int jcdwClassOffsetOf (java.lang.Class java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   800
      (com.ms.com.ComLib::boolean isJavaOwned (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   801
      (com.ms.com.ComLib::void brk (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   802
      (com.ms.com.ComLib::void setDataWrapperSize (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   803
      (com.ms.com.ComLib::void brk (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   804
      (com.ms.com.ComLib::void setJCDWHomeThread (java.lang.Object java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   805
      (com.ms.com.ComLib::void propagateOwnership (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   806
      (com.ms.com.ComLib::void threadStartMTA (java.lang.Thread))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   807
      (com.ms.com.ComLib::void IENVNextMarshalerJ2C (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   808
      (com.ms.com.ComLib::boolean supportsInterface (java.lang.Object com.ms.com._Guid))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   809
      (com.ms.com.ComLib::java.lang.Object ptrToStruct (java.lang.Class int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   810
      (com.ms.com.ComLib::int jcdwSizeOf (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   811
      (com.ms.com.ComLib::void declareMessagePumpThread ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   812
      (com.ms.com.ComLib::void IENVNextMarshalerC2J (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   813
      (com.ms.com.ComLib::void freeGCHandle (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   814
      (com.ms.com.ComLib::boolean isEqualUnknown (java.lang.Object java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   815
      (com.ms.com.Dispatch::boolean NIsArray (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   816
      (com.ms.com.Dispatch::java.lang.String NInvokeReal (java.lang.Object com.ms.com._Guid java.lang.String int int int int com.ms.com.Variant[] com.ms.com.Variant[] int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   817
      (com.ms.com.Dispatch::void NGetIDsOfNamesReal (java.lang.Object com.ms.com._Guid int java.lang.String[] int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   818
      (com.ms.com.ComException::int FormatMessage (int int int int java.lang.StringBuffer int int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   819
      (com.ms.com.Variant::int toInt ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   820
      (com.ms.com.Variant::double toDate ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   821
      (com.ms.com.Variant::boolean toBoolean ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   822
      (com.ms.com.Variant::double toDouble ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   823
      (com.ms.com.Variant::long toCurrency ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   824
      (com.ms.com.Variant::void putVariantArray (com.ms.com.Variant[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   825
      (com.ms.com.Variant::com.ms.com.Variant[] getVariantArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   826
      (com.ms.com.Variant::void putByteArray (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   827
      (com.ms.com.Variant::void putShortRef (unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   828
      (com.ms.com.Variant::void putIntRef (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   829
      (com.ms.com.Variant::void putDoubleRef (double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   830
      (com.ms.com.Variant::void putDateRef (double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   831
      (com.ms.com.Variant::void putStringRef (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   832
      (com.ms.com.Variant::unsigned short getShortRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   833
      (com.ms.com.Variant::int getIntRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   834
      (com.ms.com.Variant::double getDoubleRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   835
      (com.ms.com.Variant::double getDateRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   836
      (com.ms.com.Variant::java.lang.String getStringRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   837
      (com.ms.com.Variant::java.lang.String internalToString ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   838
      (com.ms.com.Variant::void initSafeArrayByRef (com.ms.com.SafeArray int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   839
      (com.ms.com.Variant::java.lang.Object toCharArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   840
      (com.ms.com.Variant::java.lang.Object toDispatch ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   841
      (com.ms.com.Variant::byte toByte ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   842
      (com.ms.com.Variant::java.lang.Object getDispatch ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   843
      (com.ms.com.Variant::void putDispatch (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   844
      (com.ms.com.Variant::boolean getBoolean ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   845
      (com.ms.com.Variant::int toError ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   846
      (com.ms.com.Variant::java.lang.Object toObject ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   847
      (com.ms.com.Variant::void initSafeArrayByVal (com.ms.com.SafeArray int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   848
      (com.ms.com.Variant::java.lang.Object getObject ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   849
      (com.ms.com.Variant::void putObject (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   850
      (com.ms.com.Variant::com.ms.com.SafeArray toSafeArrayHelper (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   851
      (com.ms.com.Variant::void putFloatRef (float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   852
      (com.ms.com.Variant::void putCurrencyRef (long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   853
      (com.ms.com.Variant::void putErrorRef (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   854
      (com.ms.com.Variant::void putBooleanRef (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   855
      (com.ms.com.Variant::void putObjectRef (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   856
      (com.ms.com.Variant::void putByteRef (byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   857
      (com.ms.com.Variant::java.lang.String getString ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   858
      (com.ms.com.Variant::void putString (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   859
      (com.ms.com.Variant::float getFloatRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   860
      (com.ms.com.Variant::long getCurrencyRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   861
      (com.ms.com.Variant::int getErrorRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   862
      (com.ms.com.Variant::boolean getBooleanRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   863
      (com.ms.com.Variant::java.lang.Object getObjectRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   864
      (com.ms.com.Variant::byte getByteRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   865
      (com.ms.com.Variant::float toFloat ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   866
      (com.ms.com.Variant::void putCharArray (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   867
      (com.ms.com.Variant::void putDispatchRef (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   868
      (com.ms.com.Variant::java.lang.Object getDispatchRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   869
      (com.ms.com.Variant::void putVariantArrayRef (com.ms.com.Variant[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   870
      (com.ms.com.Variant::com.ms.com.Variant[] getVariantArrayRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   871
      (com.ms.com.Variant::void changeType (unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   872
      (com.ms.com.Variant::void ncloneIndirect (com.ms.com.Variant))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   873
      (com.ms.com.Variant::void nFinalize (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   874
      (com.ms.com.Variant::void nclone (com.ms.com.Variant))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   875
      (com.ms.com.Variant::unsigned short toShort ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   876
      (com.ms.com.Variant::void putSafeArrayRefHelper (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   877
      (com.ms.com.Variant::com.ms.com.Variant[] toVariantArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   878
      (com.ms.com.Variant::java.lang.Object toByteArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   879
      (com.ms.com.Variant::void TrueVariantClear ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   880
      (com.ms.awt.WToolkit::boolean MessageBeep (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   881
      (com.ms.applet.AppletPanel::boolean StartCodeDownload (int java.lang.String java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   882
      (com.ms.applet.AppletPanel::void securedCall0 (int java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   883
      (com.ms.applet.AppletPanel::com.ms.security.PermissionSet getDefaultPermissionsFromLoader (com.ms.vm.loader.URLClassLoader))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   884
      (com.ms.dll.Win32Exception::int FormatMessage (int int int int java.lang.StringBuffer int int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   885
      (com.ms.awt.WGuiCallback::boolean SetEvent (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   886
      (com.ms.awt.WGuiCallback::int CreateSemaphore (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   887
      (com.ms.awt.WGuiCallback::int ReleaseSemaphore (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   888
      (com.ms.awt.WGuiCallback::void userYield (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   889
      (com.ms.awt.WGuiCallback::int MsgWaitForMultipleObjects (int int[] boolean int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   890
      (com.ms.awt.WGuiCallback::int CreateEvent (int boolean boolean int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   891
      (com.ms.activeX.ActiveXToolkit::int GetSysColor (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   892
      (com.ms.awt.peer.NativeGraphics::void setPageDimension (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   893
      (com.ms.awt.peer.NativeGraphics::void setBkColour (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   894
      (com.ms.awt.peer.NativeGraphics::void getClipBounds (com.ms.awt.peer.NativeRect int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   895
      (com.ms.awt.peer.NativeGraphics::void pGetCharOutline (int byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   896
      (com.ms.awt.peer.NativeGraphics::void drawLine (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   897
      (com.ms.awt.peer.NativeGraphics::void setXORMode (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   898
      (com.ms.awt.peer.NativeGraphics::int drawString (java.lang.String int int int int int int int int[] int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   899
      (com.ms.awt.peer.NativeGraphics::int getCoClass ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   900
      (com.ms.awt.peer.NativeGraphics::void drawArc (int int int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   901
      (com.ms.awt.peer.NativeGraphics::void getInitialPageDimension (com.ms.awt.peer.NativeRect))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   902
      (com.ms.awt.peer.NativeGraphics::void setVisRgn (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   903
      (com.ms.awt.peer.NativeGraphics::void pSetForeground (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   904
      (com.ms.awt.peer.NativeGraphics::int pGetDC ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   905
      (com.ms.awt.peer.NativeGraphics::void drawPixels (int[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   906
      (com.ms.awt.peer.NativeGraphics::void drawPolygon (int[] int[] int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   907
      (com.ms.awt.peer.NativeGraphics::void createFromImage (com.ms.awt.peer.INativeImage))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   908
      (com.ms.awt.peer.NativeGraphics::void endPage ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   909
      (com.ms.awt.peer.NativeGraphics::int pGetCharOutlineSize (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   910
      (com.ms.awt.peer.NativeGraphics::void pDrawBezier (int int int[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   911
      (com.ms.awt.peer.NativeGraphics::int drawBytes (byte[] int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   912
      (com.ms.awt.peer.NativeGraphics::void changeClip (int int int int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   913
      (com.ms.awt.peer.NativeGraphics::int drawChars (char[] int int int int int int int int int int[] int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   914
      (com.ms.awt.peer.NativeGraphics::void drawT2Curve (float float float float float float int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   915
      (com.ms.awt.peer.NativeGraphics::void createFromPrintJob (java.lang.String com.ms.awt.peer.SPJData))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   916
      (com.ms.awt.peer.NativeGraphics::void endPrintJob ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   917
      (com.ms.awt.peer.NativeGraphics::void pSetOrigin (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   918
      (com.ms.awt.peer.NativeGraphics::void createFromHDC (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   919
      (com.ms.awt.peer.NativeGraphics::void drawOval (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   920
      (com.ms.awt.peer.NativeGraphics::int pSetFont (java.lang.String int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   921
      (com.ms.awt.peer.NativeGraphics::void setPaintMode (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   922
      (com.ms.awt.peer.NativeGraphics::void startPage ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   923
      (com.ms.awt.peer.NativeGraphics::void clearClip ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   924
      (com.ms.awt.peer.NativeGraphics::void createFromCopy (com.ms.awt.peer.INativeGraphics))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   925
      (com.ms.awt.peer.NativeGraphics::void scanLines (int int[] int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   926
      (com.ms.awt.peer.NativeGraphics::void drawRoundRect (int int int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   927
      (com.ms.awt.peer.NativeGraphics::void dispose ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   928
      (com.ms.awt.peer.NativeGraphics::void clearRect (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   929
      (com.ms.awt.peer.NativeGraphics::void copyArea (int int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   930
      (com.ms.awt.peer.NativeGraphics::void createFromWindow (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   931
      (com.ms.awt.peer.NativeGraphics::void drawPolyline (int[] int[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   932
      (com.ms.awt.peer.NativeGraphics::void drawRect (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   933
      (com.ms.awt.peer.CToolkit::void callbackEventLoop (com.ms.awt.peer.IToolkitCallback))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   934
      (com.ms.awt.peer.CToolkit::int getToolkitHwnd ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   935
      (com.ms.awt.peer.CToolkit::int createCompHwnd (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   936
      (com.ms.awt.peer.CNativeSystemIME::void setCompositionFont (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   937
      (com.ms.awt.peer.CNativeSystemIME::void setCompositionPos (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   938
      (com.ms.awt.peer.CNativeSystemIME::void setOpenStatus (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   939
      (com.ms.awt.peer.CNativeSystemIME::int getOpenStatus (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   940
      (com.ms.awt.peer.CNativeSystemIME::java.lang.String getCompositionString (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   941
      (com.ms.awt.peer.CNativeSystemIME::java.lang.String getCompositionResultString (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   942
      (com.ms.net.wininet.WininetStreamHandlerFactory::int initNative (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   943
      (com.ms.com.SafeArray::void rawGetVariantAs (int com.ms.com.Variant))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   944
      (com.ms.com.SafeArray::void NSafeArrayInit (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   945
      (com.ms.com.SafeArray::float rawGetDouble (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   946
      (com.ms.com.SafeArray::void NRawBoolCopyToJavaArray (int int boolean[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   947
      (com.ms.com.SafeArray::void validateArray (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   948
      (com.ms.com.SafeArray::void NSafeArrayCreateFromString (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   949
      (com.ms.com.SafeArray::void rawSetString (int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   950
      (com.ms.com.SafeArray::int getInt (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   951
      (com.ms.com.SafeArray::void setInt (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   952
      (com.ms.com.SafeArray::boolean getBoolean (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   953
      (com.ms.com.SafeArray::void setBoolean (int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   954
      (com.ms.com.SafeArray::int computeOffset (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   955
      (com.ms.com.SafeArray::void NSafeArrayNullInit ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   956
      (com.ms.com.SafeArray::void rawSetVariant (int com.ms.com.Variant))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   957
      (com.ms.com.SafeArray::float rawGetFloat (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   958
      (com.ms.com.SafeArray::float getFloat (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   959
      (com.ms.com.SafeArray::void setFloat (int float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   960
      (com.ms.com.SafeArray::int computeOffset2 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   961
      (com.ms.com.SafeArray::void rawSetDouble (int double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   962
      (com.ms.com.SafeArray::java.lang.String asString ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   963
      (com.ms.com.SafeArray::void NRawCopyToJavaArray (int int java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   964
      (com.ms.com.SafeArray::void NSafeArrayCreate (int int int[] int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   965
      (com.ms.com.SafeArray::void NRawBoolCopyFromJavaArray (boolean[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   966
      (com.ms.com.SafeArray::void NSafeArrayDestroy (boolean boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   967
      (com.ms.com.SafeArray::int NSafeArrayCopy ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   968
      (com.ms.com.SafeArray::int rawGetInt (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   969
      (com.ms.com.SafeArray::boolean rawGetBoolean (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   970
      (com.ms.com.SafeArray::void rawSetFloat (int float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   971
      (com.ms.com.SafeArray::java.lang.String rawGetString (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   972
      (com.ms.com.SafeArray::int NTotalNumElems ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   973
      (com.ms.com.SafeArray::double getDouble (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   974
      (com.ms.com.SafeArray::void setDouble (int double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   975
      (com.ms.com.SafeArray::void Nreinit (com.ms.com.SafeArray))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   976
      (com.ms.com.SafeArray::int getPhysicalSafeArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   977
      (com.ms.com.SafeArray::int NgetdwordAt (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   978
      (com.ms.com.SafeArray::void NRawCopyFromJavaArray (java.lang.Object int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   979
      (com.ms.com.SafeArray::void rawSetBoolean (int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   980
      (com.ms.com.SafeArray::void rawSetInt (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   981
      (com.ms.awt.peer.CNativeComponent::void invalidate (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   982
      (com.ms.awt.peer.CNativeComponent::void hideModal ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   983
      (com.ms.awt.peer.CNativeComponent::void hide ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   984
      (com.ms.awt.peer.CNativeComponent::void setOnTop (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   985
      (com.ms.awt.peer.CNativeComponent::void registerDragDrop ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   986
      (com.ms.awt.peer.CNativeComponent::void endValidate ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   987
      (com.ms.awt.peer.CNativeComponent::void enable ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   988
      (com.ms.awt.peer.CNativeComponent::void disable ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   989
      (com.ms.awt.peer.CNativeComponent::void setTitle (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   990
      (com.ms.awt.peer.CNativeComponent::void getBounds (com.ms.awt.peer.NativeRect))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   991
      (com.ms.awt.peer.CNativeComponent::int gethwnd ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   992
      (com.ms.awt.peer.CNativeComponent::void showModal ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   993
      (com.ms.awt.peer.CNativeComponent::void setCursor (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   994
      (com.ms.awt.peer.CNativeComponent::void reshape (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   995
      (com.ms.awt.peer.CNativeComponent::void requestFocus ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   996
      (com.ms.awt.peer.CNativeComponent::void callDefWindowProc (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   997
      (com.ms.awt.peer.CNativeComponent::void registerCustomDropTarget (com.ms.com.IUnknown))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   998
      (com.ms.awt.peer.CNativeComponent::void setNoActivate (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   999
      (com.ms.awt.peer.CNativeComponent::void getPlaceOnScreen (com.ms.awt.peer.NativeRect))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1000
      (com.ms.awt.peer.CNativeComponent::void beginValidate ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1001
      (com.ms.awt.peer.CNativeComponent::void clippedReshape (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1002
      (com.ms.awt.peer.CNativeComponent::void setResizable (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1003
      (com.ms.awt.peer.CNativeComponent::void setIcon (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1004
      (com.ms.awt.peer.CNativeComponent::void toBack ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1005
      (com.ms.awt.peer.CNativeComponent::void setFrameHost (com.ms.awt.peer.IBrowserAppletFrameCallback))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1006
      (com.ms.awt.peer.CNativeComponent::void toFront ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1007
      (com.ms.awt.peer.CNativeComponent::void show ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1008
      (com.ms.awt.peer.CNativeComponent::void updateInsets (com.ms.awt.peer.NativeInsets))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1009
      (com.ms.awt.peer.CNativeComponent::void dispose ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1010
      (com.ms.awt.peer.CNativeComponent::void initFromJavaWindow (int com.ms.awt.peer.IComponentCallback com.ms.awt.peer.INativeComponent com.ms.awt.peer.IToolkit int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1011
      (com.ms.awt.peer.CNativeComponent::void init (int com.ms.awt.peer.IComponentCallback com.ms.awt.peer.INativeComponent com.ms.awt.peer.IToolkit))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1012
      (com.ms.awt.peer.CNativeComponent::void beginDrag (com.ms.awt.peer.INativeDragCallback))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1013
      (com.ms.fx.RegionConverter::int computeNativeRegion (int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1014
      (com.ms.fx.RegionConverter::int[] computeJavaRegion (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1015
      (com.ms.net.wininet.URLUtils::java.lang.String canonicalizeURL (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1016
      (com.ms.net.wininet.URLUtils::java.lang.String combineURL (java.lang.String java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1017
      (com.ms.awt.peer.NativeFontMetrics::int bytesWidth (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1018
      (com.ms.awt.peer.NativeFontMetrics::int stringWidth (java.lang.String int int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1019
      (com.ms.awt.peer.NativeFontMetrics::int charsWidth (char[] int int int int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1020
      (com.ms.awt.peer.NativeFontMetrics::java.lang.String init (com.ms.awt.peer.INativeGraphics int[] java.lang.String int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1021
      (com.ms.io.console.Console::int MessageBox (int java.lang.String java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1022
      (com.ms.awt.peer.NativeFileDialog::void show (com.ms.awt.peer.IFileDialogCallback java.lang.String java.lang.String java.lang.String int com.ms.awt.peer.INativeComponent int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1023
      (com.ms.security.management.SecurityZone::byte[] pLoadCustomPermissions (int int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1024
      (com.ms.awt.peer.NativeImage::int setBytePixelsDirected (int int int int com.ms.awt.peer.DirectColourModelData byte[] int int com.ms.awt.peer.INativeImageBufferDone))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1025
      (com.ms.awt.peer.NativeImage::void create (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1026
      (com.ms.awt.peer.NativeImage::int setIntPixelsIndexed (int int int int int[] int int[] int int com.ms.awt.peer.INativeImageBufferDone))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1027
      (com.ms.awt.peer.NativeImage::int getCoClass ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1028
      (com.ms.awt.peer.NativeImage::int getIcon (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1029
      (com.ms.awt.peer.NativeImage::int setBytePixelsIndexed (int int int int int[] int byte[] int int com.ms.awt.peer.INativeImageBufferDone))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1030
      (com.ms.awt.peer.NativeImage::void sendPixels (com.ms.awt.peer.SPData))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1031
      (com.ms.awt.peer.NativeImage::void fillPixels (com.ms.awt.peer.SPData byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1032
      (com.ms.awt.peer.NativeImage::void dispose ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1033
      (com.ms.awt.peer.NativeImage::void init (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1034
      (com.ms.awt.peer.NativeImage::int setIntPixelsDirected (int int int int com.ms.awt.peer.DirectColourModelData int[] int int com.ms.awt.peer.INativeImageBufferDone))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1035
      (com.ms.awt.peer.NativeImage::void imageDrawStretched (com.ms.awt.peer.INativeGraphics int int int int int int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1036
      (com.ms.awt.peer.NativeImage::int finish (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1037
      (com.ms.awt.peer.NativeImage::void imageDraw (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1038
      (com.ms.awt.peer.NativeResource::java.lang.String loadString (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1039
      (com.ms.awt.peer.NativeResource::int openDialogFromID (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1040
      (com.ms.awt.peer.NativeResource::boolean attach (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1041
      (com.ms.awt.peer.NativeResource::void loadBytes (int int java.lang.String byte[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1042
      (com.ms.awt.peer.NativeResource::int getSize (int int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1043
      (com.ms.awt.peer.NativeResource::void detach ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1044
      (com.ms.awt.peer.NativeResource::int openDialogFromName (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1045
      (com.ms.net.wininet.WininetURLConnection::com.ms.applet.BrowserAppletFrame findOfflineContext ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1046
      (com.ms.com.DispatchProxy::void finalize ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1047
      (com.ms.com.DispatchProxy::void init (com.ms.com._Guid java.lang.reflect.Method[] int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1048
      (com.ms.net.wininet.WininetInputStream::void close ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1049
      (com.ms.net.wininet.WininetInputStream::int read (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1050
      (com.ms.net.wininet.WininetInputStream::int available ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1051
      (com.ms.net.wininet.WininetInputStream::long skip (long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1052
      (com.ms.net.wininet.WininetInputStream::void connect (java.lang.String boolean boolean java.lang.SecurityManager))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1053
      (com.ms.vm.loader.CabSignatureInfo::com.ms.vm.loader.CabSignatureInfo extractFromFile0 (java.lang.String com.ms.security.management.SecurityPolicy))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1054
      (com.ms.net.wininet.http.HttpInputStream::byte[] getResponseHeaders ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1055
      (com.ms.net.wininet.http.HttpInputStream::void close0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1056
      (com.ms.net.wininet.http.HttpInputStream::void connect (java.lang.String int java.lang.String boolean boolean boolean boolean byte[] byte[] java.lang.SecurityManager))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1057
      (com.ms.vm.loader.CabCracker::int GetTempFileName (java.lang.StringBuffer java.lang.String int java.lang.StringBuffer))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1058
      (com.ms.vm.loader.CabCracker::void getBytes0 (int int byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1059
      (com.ms.vm.loader.CabCracker::void cleanup ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1060
      (com.ms.vm.loader.CabCracker::int GetTempPath (int java.lang.StringBuffer))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1061
      (com.ms.vm.loader.CabCracker::void load0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1062
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1063
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1064
"
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1065
!
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1066
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1067
performance1
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1068
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1069
     JAVA::BenchMark new loopmark
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1070
     JAVA::BenchMark new logicmark
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1071
     JAVA::BenchMark new sievemark
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1072
     JAVA::BenchMark new methodmark
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1073
     JAVA::BenchMark new stringmark
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1074
     JAVA::BenchMark new newstringmark
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1075
     JAVA::BenchMark new neweststringmark
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1076
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1077
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1078
    "
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1079
"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1080
                    caffmark  loopmark  logicmark  sievemark  methodmark  stringmark  float  image  graphic dialog newstringmark  neweststringmark
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1081
 linux:
512
033a5cd5237a checkin from browser
cg
parents: 510
diff changeset
  1082
   P6/233 No JIT                 84         87        90          40          22                                       17              10
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1083
                      103       133        142       137          28          73       109    167     18    140
520
64e7e53cdfac checkin from browser
cg
parents: 519
diff changeset
  1084
512
033a5cd5237a checkin from browser
cg
parents: 510
diff changeset
  1085
   P6/233 JIT                   479       2459       393         649          28                                       21              12
033a5cd5237a checkin from browser
cg
parents: 510
diff changeset
  1086
   P6/233 JIT         473      1805       3046       439         986          28                                       21              12
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1087
                      533      1808       3382       613        1003          25       105    143      1
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1088
                      668      3330       3644       740
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1089
                      793      4116       3731      1243        1365         120       103     79      2
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1090
                      914      4480       4061                  2290          68       106    158     19     34
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1091
                      941      4607       4149      1238        2434          75       101    152     18     32
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1092
                                                                             591              164
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1093
                     1087                           1836                     800       110                   35
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1094
                     1102      4592       4270      1844        2381         841       109    169     21     35
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1095
                     1177      4608       4309      1810        2432         895       532    182     20     35
540
aed82cbbd8de checkin from browser
cg
parents: 539
diff changeset
  1096
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1097
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1098
 w95
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1099
   P5/200 JIT          90        95         90        95         686          18        60     54      7
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1100
                      428      1657       2385       684         957          21        61     62      9
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1101
                      541      2886       2589       823         976          18        62     55      7
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1102
                      583      3062       2635       842         861         223        65     57      8
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1103
                      616      3075       2438      1081        1324         218        64     54      8
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1104
                      718      3138       2755      1085        1200         816        63     48      9      7
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1105
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1106
                    caffmark  loopmark  logicmark  sievemark  methodmark  stringmark  float  image  graphic dialog newstringmark  neweststringmark
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1107
"
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1108
!
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1109
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1110
performance2
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1111
    "
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1112
     symantec benchmarks
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1113
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1114
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1115
    "
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1116
"
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1117
		BubbleSort    BidirBubbleSort  QuickSort  Sieve   Hanoi   Dhry   Fib   Array   Tree   Total
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1118
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1119
   ST/X+J Linux
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1120
   233Mhz P6
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1121
   No JIT          352767         354597         69585    43048  101638  28961 108839  48815
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1122
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1123
   ST/X+J Linux
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1124
   233Mhz P6
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1125
   JIT             128724         116810         20259    39733   83160  27613  52093  33166  43996  545554
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1126
		   124744         101428         17239    10052    8264  14004  38821  23252  33709  374660
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1127
   +IINC           120324                                  7265
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1128
   +IADD op2       100173          90737         18128     6996    7423  17093  48559  44209  57056  390374
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1129
   +ISUB op2                       90460         17547             5921                       57056  390461
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1130
   +ICMPEQ/NE       99785          90147                           5792                43482  56486  388255
460
6a2e97955261 checkin from browser
cg
parents: 459
diff changeset
  1131
   +ICMP            87398          78214         15784     7574    5628  12812  38481  24654  32252  302797
461
a9813035ef09 *** empty log message ***
cg
parents: 460
diff changeset
  1132
   +IFICMPLE        84198          74928         13814     5650          11674         23241         293118
a9813035ef09 *** empty log message ***
cg
parents: 460
diff changeset
  1133
   +IFICMPxx        76867          69738         12208                          37505  21973  32104  273569
a9813035ef09 *** empty log message ***
cg
parents: 460
diff changeset
  1134
   +IFICMPEQ/NE                                                    5580  11202         21723
a9813035ef09 *** empty log message ***
cg
parents: 460
diff changeset
  1135
   const IFICMPxx                                11856             5463  11032  37372                272726
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  1136
   +lea for add/sub
463
8c3de864c642 *** empty log message ***
cg
parents: 462
diff changeset
  1137
   +BALOAD                                       11700     4600    5015   9431
8c3de864c642 *** empty log message ***
cg
parents: 462
diff changeset
  1138
   +BASTORE                                                3279
8c3de864c642 *** empty log message ***
cg
parents: 462
diff changeset
  1139
   +CALOAD/CASTORE                                                        8907
466
38245acebed4 checkin from browser
cg
parents: 465
diff changeset
  1140
   regSave change   66119          60365          9997             4917  15386  37851  38202  50027  286497
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1141
		    64858          58360          9476             4889  15001  37211  36288  48313  278478
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1142
		    63146          55949          9302                   14899
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1143
		    62970          56085          9352     3226    4837   8779  37573  22815  33899  241297
471
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1144
   -O               43662          40292          7181     2530    4696   8170  34555  22116  32337  195539
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1145
471
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1146
   +IALOAD          39162          36347
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1147
   +IASTORE         32461          30663          4299             3667                19556  30563  166868
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1148
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1149
   -IALOAD/IASTORE
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1150
										34167  19347
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1151
										       19232  29726
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1152
										       18821
496
7771c4f4492c checkin from browser
cg
parents: 495
diff changeset
  1153
   +AALOAD/BALOAD
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1154
		    41490          39527          6776     3315    4077   8443  33895  19152  28018  184693
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1155
		    41291          37034          6593                          32682
497
0066a4a59d5b checkin from browser
cg
parents: 496
diff changeset
  1156
   +ATHROW                                                                6449                       180079
498
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1157
   +IASTORE         38848          35601          6219             3796   6122         17869  30085  175106
503
f43fe1be86bf checkin from browser
cg
parents: 502
diff changeset
  1158
   IINC delayed code
f43fe1be86bf checkin from browser
cg
parents: 502
diff changeset
  1159
   +ANEWARRAY                                              3263
f43fe1be86bf checkin from browser
cg
parents: 502
diff changeset
  1160
   +LADD/LSUB const 38719          35256                                  6062  27071                172859
512
033a5cd5237a checkin from browser
cg
parents: 510
diff changeset
  1161
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1162
							   2837                 22835
514
a1f3d99a4194 checkin from browser
cg
parents: 513
diff changeset
  1163
   +ISTORE into arg
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1164
									  3080
514
a1f3d99a4194 checkin from browser
cg
parents: 513
diff changeset
  1165
   quick L2I for ints                                                     2774  21184
a1f3d99a4194 checkin from browser
cg
parents: 513
diff changeset
  1166
   +*ASTORE / *ALOAD
a1f3d99a4194 checkin from browser
cg
parents: 513
diff changeset
  1167
    again                                                  1621    3654   1525
533
535e4dd386ef checkin from browser
cg
parents: 532
diff changeset
  1168
   +CHECKCAST                                                      3574                       25810
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1169
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1170
------------------------------------------------------------------------------------------------------------
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1171
		BubbleSort    BidirBubbleSort  QuickSort  Sieve   Hanoi   Dhry   Fib   Array   Tree   Total
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1172
   ST/X+J Win95
498
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1173
   200Mhz P5
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1174
   JIT              78490          77060         15220     4840    6370   9180  73160  36080         351700
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1175
				   76900         13560             5500   9010         35200         348600
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1176
										66080         69920  370750
507
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1177
   +IADD non consts 76620          73210         13180     3790                 63550         58880  356900
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1178
											      51740
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1179
		    77390          72450         12520     3900    6040   8950  62450  34330  57780  335810
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1180
		    77220          71950                           5270   8840                       338650
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1181
		    72390          70690                                                      48010  327370
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1182
		    74910          66740         11420                    8620  61730  33340  47350  313940
507
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1183
   +xALOAD/JMP_ZERO
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1184
		    71740                                  2800
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1185
		    71460          65250         11540     2750                 62180  33840  50750  311660
507
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1186
   +LCMP                                                                        59100
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1187
   better abs(I)
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1188
   +xALOAD/IF_ICMPx 66130          61520         12080     3300    5280   8190  56510  33830  50310  297150
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1189
   elim dummy static                                               5210                       48270
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1190
   methods                                                                                    44160
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1191
		   119020         112440         19330     3070    4560   2640  56960  37730  52790  408540
498
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1192
------------------------------------------------------------------------------------------------------------
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1193
		BubbleSort    BidirBubbleSort  QuickSort  Sieve   Hanoi   Dhry   Fib   Array   Tree   Total
498
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1194
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1195
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1196
   Sun JDK         274625         244461         52676    50653   65183  26668  78133  28572  61608  882583
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1197
   (90Mhz P5)
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1198
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1199
   Microsoft J++     9684           8452          2874     1733    3535   3665   3836   4746  25717   64242
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1200
   (90Mhz P5)
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1201
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1202
   Symantec Cafe    14541          12198          3686     1922    4527   3325   3425  12969  26829   83422
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1203
   JIT 1.02
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1204
   (90Mhz P5)
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1205
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1206
   Symantec Cafe     8292           6970          2714     1613    3345   3235   2013   4516  13180   45878
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1207
   JIT 1.2
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1208
   (90Mhz P5)
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1209
"
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1210
471
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1211
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1212
   |b|
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1213
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1214
   b := JAVA::BubbleSortAlgorithm new.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1215
   b perform:#'setData(JJ)V' with:10000 with:0 with:0 with:0.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1216
   Time millisecondsToRun:[
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1217
       b performTest.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1218
   ]
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1219
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1220
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1221
   |b|
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1222
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1223
   b := JAVA::QSortAlgorithm new.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1224
   b perform:#'setData(JJ)V' with:500000 with:0 with:0 with:0.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1225
   Time millisecondsToRun:[
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1226
       b performTest.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1227
   ]
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1228
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1229
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1230
   |t|
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1231
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1232
   t := JAVA::Tree new.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1233
   t perform:#'setData(JJ)V' with:1000000 with:0 with:0 with:0.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1234
   Time millisecondsToRun:[
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1235
       t performTest.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1236
   ]
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1237
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1238
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1239
   |t|
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1240
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1241
   t := JAVA::Array new.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1242
   t perform:#'setData(JJ)V' with:1000000 with:0 with:0 with:0.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1243
   Time millisecondsToRun:[
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1244
       t performTest.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1245
   ]
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1246
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1247
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1248
! !
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1249
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1250
!JavaVM class methodsFor:'initialization'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1251
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1252
boot
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1253
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1254
    Java initialize.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1255
    self initializeVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1256
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1257
    "Created: / 21-02-2012 / 18:09:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1258
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1259
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1260
compile:source selector:smalltalkSelector asJavaMethod:javaSelector fakedSource:fakedSource in:aClass
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1261
    "install additional java protocol in smalltalk classes, req'd for java programs"
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1262
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1263
    |cloneCode|
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1264
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1265
    (aClass implements:javaSelector) ifFalse:[
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1266
        Class packageQuerySignal answer:'__temporary__'
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1267
        do:[
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1268
            aClass
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1269
                compile:source
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1270
                classified:'java support'
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1271
                logged:false.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1272
        ].
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1273
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1274
        cloneCode := aClass compiledMethodAt:smalltalkSelector.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1275
        cloneCode source:fakedSource.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1276
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1277
        Class withoutUpdatingChangesDo:[
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1278
            aClass removeSelector:smalltalkSelector.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1279
            aClass addSelector:javaSelector withMethod:cloneCode.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1280
        ]
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1281
    ].
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1282
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1283
    "Created: / 5.11.1998 / 19:30:22 / cg"
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1284
    "Modified: / 5.11.1998 / 19:37:57 / cg"
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1285
!
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1286
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1287
deinitialize
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1288
    StandardThreadGroup := nil.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1289
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1290
    KnownWindows notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1291
        KnownWindows do: [:v | v isTopView ifTrue: [ v destroy ] ]
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1292
    ].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1293
    JavaWindowGroup := nil.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1294
    KnownWindows := nil.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1295
    OpenFileTable := nil.
380
4bc7f45e2994 some more native support for NS4.0 java classes.
cg
parents: 374
diff changeset
  1296
    JavaMethods := nil.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1297
    SystemClassLoader := nil.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1298
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1299
    "
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1300
     JavaVM deinitialize"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1301
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1302
    "Created: / 03-01-1998 / 21:28:14 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1303
    "Modified: / 03-12-1998 / 20:33:21 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1304
    "Modified: / 28-01-2011 / 14:11:35 / Marcel Hlopko <hlopik@gmail.com>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1305
    "Modified: / 16-11-2011 / 09:46:49 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1306
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1307
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1308
deinitializeAdditionalJavaProtocol
2149
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1309
    "deinstall additional java protocol in smalltalk classes, req'd for java programs"
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1310
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  1311
    #(
2149
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1312
        #'clone()Ljava/lang/Object;'
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1313
        #'equals(Ljava/lang/Object;)Z'
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1314
        #'toString()Ljava/lang/String;'
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1315
        #'getClass()Ljava/lang/Class;'
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  1316
     ) do:[:sel |
2149
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1317
        (Object implements:sel) ifTrue:[
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1318
            Class withoutUpdatingChangesDo:[
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1319
                Object removeSelector:sel.
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1320
            ]
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1321
        ].
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1322
    ].
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1323
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1324
    "
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1325
     self deinitializeAdditionalJavaProtocol
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1326
    "
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1327
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1328
    "Created: / 4.2.1998 / 21:37:10 / cg"
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1329
    "Modified: / 5.12.1998 / 15:27:39 / cg"
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1330
!
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1331
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1332
flushClasses
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1333
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1334
    ClassRegistry notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1335
        ClassRegistry flush
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1336
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1337
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1338
    "Created: / 30-10-2011 / 16:09:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1339
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1340
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1341
initialize
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1342
    DUMMY_LONG_HIGHWORD := 1.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1343
    DUMMY_DOUBLE_HIGHWORD := 2.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1344
    StandardThreadGroup := nil.
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1345
    NoAudio := true.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1346
262
8edf97e626c8 offscreen images & better exception handling
cg
parents: 261
diff changeset
  1347
    "/ NoAudio := false.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1348
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1349
    JavaConsoleStream := "Transcript"Stdout.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1350
    FullExceptionTrace := StackTrace := false.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1351
    WindowOPTrace := DrawOPTrace := EventTrace := ThreadTrace := false.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1352
    MonitorTrace := ExceptionTrace := FileOpenTrace := FileIOTrace := false.
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1353
    ExceptionDebug := ExitDebug := false.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1354
    ExceptionDebugPatterns := Set new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1355
    WindowCreationTrace := false.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1356
    FileOpenConfirmation := false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1357
    SocketConnectConfirmation := false.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1358
    WindowOPTrace := false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1359
    MonitorTrace := false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1360
    ThreadTrace := false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1361
    UnhandledJavaExceptionSignal := (Signal new) mayProceed: true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1362
    UnhandledJavaExceptionSignal nameClass: self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1363
        message: #unhandledJavaExceptionSignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1364
    UnhandledJavaExceptionSignal notifierString: 'unhandled java exception'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1365
    JavaExceptionSignal := (Signal new) mayProceed: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1366
    JavaExceptionSignal nameClass: self message: #javaExceptionSignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1367
    JavaExceptionSignal notifierString: 'java exception'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1368
    UnimplementedInstructionSignal := (Signal new) mayProceed: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1369
    UnimplementedInstructionSignal nameClass: self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1370
        message: #unimplementedInstructionSignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1371
    UnimplementedInstructionSignal notifierString: 'unimplemented instruction'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1372
    UnimplementedNativeMethodSignal := (Signal new) mayProceed: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1373
    UnimplementedNativeMethodSignal nameClass: self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1374
        message: #unimplementedNativeMethodSignal.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1375
    UnimplementedNativeMethodSignal
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1376
        notifierString: 'unimplemented native method'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1377
    BadMessageSignal := (Signal new) mayProceed: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1378
    BadMessageSignal nameClass: self message: #badMessageSignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1379
    BadMessageSignal notifierString: 'invalid message to JAVA object'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1380
    InternalErrorSignal := (Signal new) mayProceed: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1381
    InternalErrorSignal nameClass: self message: #internalErrorSignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1382
    InternalErrorSignal notifierString: 'internal error'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1383
    CallHandlerSignal := (Signal new) mayProceed: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1384
    CallHandlerSignal nameClass: self message: #callHandlerSignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1385
    CallHandlerSignal notifierString: 'internal signal'.
576
0214e973001d added rint native;
cg
parents: 575
diff changeset
  1386
    StdinReplacementFileQuerySignal := QuerySignal new.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1387
    StdinReplacementFileQuerySignal nameClass: self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1388
        message: #stdinReplacementFileQuerySignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1389
    StdinReplacementFileQuerySignal notifierString: 'asking for stdin stream'.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1390
    JavaPrivilegedAccessQuery := QuerySignal new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1391
    JavaPrivilegedAccessQuery defaultAnswer: false.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1392
    AssertionsEnabled := true.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1393
    ClassRegistry := JavaClassRegistry new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1394
    FinalizationEnabled := true.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1395
    EagerResolvingEnabled := false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1396
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1397
    ObjectMemory addDependent: self.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1398
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1399
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1400
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1401
     JavaVM initialize"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1402
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1403
    "Created: / 02-01-1998 / 18:02:34 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1404
    "Modified: / 02-12-1998 / 23:02:22 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1405
    "Modified: / 09-10-2011 / 20:29:10 / Marcel Hlopko <hlopik@gmail.com>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1406
    "Modified: / 08-12-2011 / 21:06:35 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1407
    "Modified: / 17-08-2012 / 11:16:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1408
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1409
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1410
initializeAdditionalJavaProtocol
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1411
    "install additional java protocol in smalltalk classes, req'd for java programs"
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1412
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1413
    "/ since we use smalltalk Arrays for JavaArray, some
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1414
    "/ additional (java-) protocol is required.
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1415
    "/ This is also useful, when Smalltalk objects are passed to
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1416
    "/ java ...
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1417
    "/ We should implement all of the java.lang.Object protocol in
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1418
    "/ Object, to be on the bright side of life; more of this later ...
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1419
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1420
    self
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1421
        compile:'__clone
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1422
    "this is smalltalk code with a java selector ...
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1423
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1424
      since it has a funny selector.)
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1425
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1426
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1427
    ^ self shallowCopy'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1428
        selector:#'__clone'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1429
        asJavaMethod:#'clone()Ljava/lang/Object;'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1430
        fakedSource:'#''clone()Ljava/lang/Object;''
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1431
    "this is smalltalk code with a java selector ...
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1432
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1433
      since it has a funny selector.)
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1434
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1435
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1436
    ^ self shallowCopy'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1437
        in:Object.
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1438
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1439
    "/ ------------------------------------------------------------
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1440
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1441
    self
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1442
        compile:'__equals:arg
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1443
    "this is smalltalk code with a java selector ...
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1444
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1445
      since it has a funny selector.)
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1446
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1447
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1448
    ^ (arg = self) ifTrue:[1] ifFalse:[0]'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1449
        selector:#'__equals:'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1450
        asJavaMethod:#'equals(Ljava/lang/Object;)Z'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1451
        fakedSource:'#''equals(Ljava/lang/Object;)Z''
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1452
    "this is smalltalk code with a java selector ...
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1453
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1454
      since it has a funny selector.)
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1455
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1456
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1457
    ^ (arg = self) ifTrue:[1] ifFalse:[0]'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1458
        in:Object.
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1459
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1460
    "/ ------------------------------------------------------------
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1461
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1462
    self
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1463
        compile:'__toString
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1464
    "this is smalltalk code with a java selector ...
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1465
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1466
      since it has a funny selector.)
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1467
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1468
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1469
    ^ Java as_String:(self displayString)'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1470
        selector:#'__toString'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1471
        asJavaMethod:#'toString()Ljava/lang/String;'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1472
        fakedSource:'#''toString()Ljava/lang/String;''
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1473
    "this is smalltalk code with a java selector ...
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1474
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1475
      since it has a funny selector.)
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1476
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1477
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1478
    ^ Java as_String:(self displayString)'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1479
        in:Object.
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1480
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1481
    "/ ------------------------------------------------------------
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1482
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1483
    self
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1484
        compile:'__getClass
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1485
    "this is smalltalk code with a java selector ...
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1486
     (This source cannot be accepted in the browser,
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1487
      since it has a funny selector.)
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1488
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1489
508
21d8af9a9b41 checkin from browser
cg
parents: 507
diff changeset
  1490
    ^ JavaVM javaClassObjectForClass:self class'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1491
        selector:#'__getClass'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1492
        asJavaMethod:#'getClass()Ljava/lang/Class;'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1493
        fakedSource:'#''getClass()Ljava/lang/Class;''
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1494
    "this is smalltalk code with a java selector ...
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1495
     (This source cannot be accepted in the browser,
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1496
      since it has a funny selector.)
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1497
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1498
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1499
    ^ JavaVM javaClassObjectForClass:self class'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1500
        in:Object.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1501
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1502
    "/ ------------------------------------------------------------
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1503
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1504
    self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1505
        compile:'__hashCode
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1506
    "this is smalltalk code with a java selector ...
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1507
     (This source cannot be accepted in the browser,
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1508
      since it has a funny selector.)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1509
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1510
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1511
    ^ self identityHash'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1512
        selector:#'__hashCode'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1513
        asJavaMethod:#'hashCode()I'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1514
        fakedSource:'#''hashCode()I''
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1515
    "this is smalltalk code with a java selector ...
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1516
     (This source cannot be accepted in the browser,
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1517
      since it has a funny selector.)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1518
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1519
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1520
    ^ self identityHash'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1521
        in:Object.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1522
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1523
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1524
    "
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1525
     self initializeAdditionalJavaProtocol
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1526
    "
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1527
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1528
    "Modified: / 28-01-1997 / 19:38:58 / stefan"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1529
    "Modified: / 22-01-1998 / 21:23:40 / av"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1530
    "Created: / 04-02-1998 / 21:35:46 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1531
    "Modified: / 30-12-1998 / 21:07:55 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1532
    "Modified: / 25-10-2010 / 16:26:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1533
!
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1534
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1535
initializeBaseClasses
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1536
    "load req'd base classes"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1537
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1538
    #( 'java.lang.Object' 'java.lang.Class' 'java.lang.String' 'java.lang.System' ) do: [:cName |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1539
        (self classForName: cName) isNil ifTrue: [
646
9f99cd5951a9 checkin from browser
cg
parents: 640
diff changeset
  1540
            AbortSignal raise.
9f99cd5951a9 checkin from browser
cg
parents: 640
diff changeset
  1541
            ^ self
9f99cd5951a9 checkin from browser
cg
parents: 640
diff changeset
  1542
        ]
326
d1a591aac993 checkin from browser
cg
parents: 325
diff changeset
  1543
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1544
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1545
     self initializeBaseClasses"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1546
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1547
    "Created: / 03-01-1998 / 21:13:28 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1548
    "Modified: / 23-12-1999 / 19:27:42 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1549
    "Modified: / 08-02-2013 / 00:54:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1550
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1551
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1552
initializeClassReader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1553
    "/Nothing to do"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1554
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1555
    JavaClassReader initialize.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1556
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1557
    "Created: / 06-09-2012 / 11:18:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1558
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1559
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1560
initializeJavaResources
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1561
    self initializeMonitorTable.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1562
    self initializePrimitiveClasses.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1563
    self initializeOpenFileTable.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1564
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1565
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1566
     JavaVM releaseAllMonitors"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1567
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1568
    "Created: / 02-01-1998 / 18:04:05 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1569
    "Modified: / 07-01-1998 / 22:58:10 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1570
    "Created: / 16-11-2011 / 14:23:24 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1571
    "Modified: / 17-08-2012 / 11:30:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1572
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1573
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1574
initializeMonitorTable
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1575
    LockTable := WeakIdentityDictionary new:32000.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1576
    LockTableAccess := Semaphore "RecursionLock" forMutualExclusion.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1577
    LockTableAccess name: 'JavaVM lock table access mutex'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1578
    Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1579
        log: 'Initializing EnteredMonitorsPerProcess'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1580
        severity: #debug
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1581
        facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1582
    EnteredMonitorsPerProcess := IdentityDictionary new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1583
    Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1584
        log: 'Initializing AcquiredMonitorsPerProcess'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1585
        severity: #debug
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1586
        facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1587
    AcquiredMonitorsPerProcess := IdentityDictionary new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1588
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1589
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1590
     JavaVM initializeMonitorTable"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1591
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1592
    "Created: / 17-08-2012 / 11:30:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1593
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1594
2372
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1595
initializeNatives
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1596
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1597
    NativeMethodsImplementation := Java release javaNativeMethodsImplementation.
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1598
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1599
    "Created: / 18-02-2013 / 14:54:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1600
!
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1601
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1602
initializeOpenFileTable
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1603
    OpenFileTable := OrderedCollection
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1604
                        with:Stdin
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1605
                        with:("JavaConsoleStream ?" Stdout)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1606
                        with:("JavaConsoleStream ?" Stderr).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1607
    OpenFileTableLock := RecursionLock new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1608
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1609
    "
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1610
     JavaVM initializeOpenFileTable
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1611
    "
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1612
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1613
    "Modified: / 06-08-1997 / 00:40:19 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1614
    "Created: / 02-01-1998 / 18:04:32 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1615
    "Modified: / 30-07-2012 / 18:12:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1616
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1617
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1618
initializePrimitiveClasses
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1619
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1620
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1621
    "/    #(
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1622
    "/        (#byte    'B' 1)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1623
    "/        (#short   'S' 2)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1624
    "/        (#int     'I' 4)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1625
    "/        (#long    'J' 8)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1626
    "/        (#boolean 'Z' 1)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1627
    "/        (#char    'C' 2)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1628
    "/        (#float   'F' 4)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1629
    "/        (#double  'D' 8)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1630
    "/        (#void    'V' 0)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1631
    "/    ) triplesDo:[:nm :sig :len |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1632
    "/        |jClass classInst|
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1633
    "/
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1634
    "/        "/
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1635
    "/        "/ create a javaClass for it.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1636
    "/        "/
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1637
    "/        jClass := Java at:'java.lang.Class'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1638
    "/        jClass notNil ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1639
    "/            classInst := jClass new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1640
    "/            JavaClasses at:nm put:classInst.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1641
    "/            JavaClasses at:classInst put:nm.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1642
    "/        ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1643
    "/    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1644
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1645
     self initializePrimitiveClasses"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1646
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1647
    "Modified: / 22-10-1998 / 01:56:02 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1648
    "Modified: / 20-12-2010 / 23:39:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1649
    "Modified: / 28-01-2011 / 14:57:38 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1650
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1651
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1652
initializeReflection
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1653
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1654
    Reflection := ReflectionRegistry for: self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1655
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1656
    "Created: / 21-12-2010 / 19:48:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1657
    "Modified: / 16-01-2013 / 20:55:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1658
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1659
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1660
initializeSimulatedLibs
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1661
    "return a collection of native libs which are considered
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1662
     being already loaded. (used with jdk < 1.2)"
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1663
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1664
    LibPath := #(
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1665
                        '__builtIn__'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1666
                        '/usr/local/lib'
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1667
                        '/usr/local/lib/java'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1668
                ).
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1669
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1670
    SimulatedLibs := #(
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1671
                        '__builtIn__/net'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1672
                        '__builtIn__/awt'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1673
                        '__builtIn__/tawt'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1674
                        '__builtIn__/winawt'
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1675
                        '__builtIn__/jpeg'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1676
                        '__builtIn__/mmedia'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1677
                        '__builtIn__/zip'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1678
                        '__builtIn__/math'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1679
                        '__builtIn__/sysresource'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1680
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1681
                        "/ KAVA ...
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1682
                        '__builtIn__/agent'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1683
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1684
                        "/ MS-java ...
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1685
                        '__builtIn__/msawt'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1686
                        '__builtIn__/javart'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1687
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1688
                        "/ 1.1.8
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1689
                        '__builtIn__/jpeg_sun'
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1690
                      ).
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1691
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1692
    "
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1693
     self initializeSimulatedLibs
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1694
    "
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1695
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1696
    "Created: / 4.1.1998 / 19:05:03 / cg"
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1697
    "Modified: / 17.11.1998 / 23:53:02 / cg"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1698
!
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1699
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1700
initializeSimulatedNativeLibs
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1701
    "return a collection of native libs which are considered
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1702
     being already loaded (used with jdk >= 1.2)"
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1703
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1704
    OperatingSystem isUNIXlike ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1705
        SimulatedNativeLibs := #( 'libawt.so' 'libnet.so' 'libcmm.so' 'libzip.so' 'libnio.so'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1706
                                  'libmanagement.so'        "/ Management Beans - req'd by Tomcat
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1707
                                  'libjpeg.so' 'liblcms.so' "/ Some UI stuff - req'd by Tomcat !!?!!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1708
                                  'libfontmanager.so'       "/ req'd by java.text.Bidi
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1709
                                    ).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1710
        ^ self.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1711
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1712
    OperatingSystem isMSWINDOWSlike ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1713
        SimulatedNativeLibs := #( 'awt.dll' 'net.dll' 'cmm.dll' 'zip.dll' 'nio.so'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1714
                                  'management.dll'          "/ Management Beans - req'd by Tomcat
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1715
                                  'fontmanager.dll'          "/ req'd by java.text.Bidi
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1716
                                ).
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1717
        ^ self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1718
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1719
    SimulatedNativeLibs := #().
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1720
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1721
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1722
     self initializeSimulatedNativeLibs"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1723
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1724
    "Modified: / 27-01-1998 / 18:43:10 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1725
    "Modified: / 03-11-2011 / 19:00:39 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1726
    "Modified: / 21-12-2011 / 23:03:35 / jv"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1727
    "Modified: / 12-05-2012 / 12:52:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1728
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1729
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1730
initializeSimulatedNativeMemory
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1731
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1732
    SimulatedNativeMemory := JavaNativeMemory new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1733
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1734
    "Created: / 07-12-2010 / 21:07:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1735
    "Modified: / 07-12-2010 / 23:45:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1736
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1737
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1738
initializeSystemClassLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1739
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1740
    | java_lang_ClassLoader stx_libjava_ClassLoader |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1741
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1742
    java_lang_ClassLoader := JavaVM classForName: 'java.lang.ClassLoader'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1743
    (SystemClassLoader := java_lang_ClassLoader instVarNamed:#scl) isNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1744
        SystemClassLoader := java_lang_ClassLoader perform: #'getSystemClassLoader()Ljava/lang/ClassLoader;'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1745
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1746
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1747
    stx_libjava_ClassLoader := JavaVM classForName: 'stx.libjava.ClassLoader'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1748
    (SmalltalkClassLoader := stx_libjava_ClassLoader instVarNamed:#scl) isNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1749
        SmalltalkClassLoader := stx_libjava_ClassLoader perform: #'getSmalltalkClassLoader()Ljava/lang/ClassLoader;'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1750
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1751
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1752
    "Created: / 30-10-2011 / 12:04:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1753
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1754
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1755
initializeSystemPropertiesInto: props
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1756
    | cpu  cpu2  os |
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1757
    "/ use JAVA compatible cpu-name
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1758
    cpu := OperatingSystem getCPUType.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1759
    cpu2 := cpu.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1760
    cpu = 'i386' ifTrue: [ cpu := 'ix86' ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1761
    (OperatingSystem getSystemInfo at: #machine) = 'x86_64' ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1762
        cpu2 := 'amd64'
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1763
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1764
    SimulatedOS notNil ifTrue: [ os := SimulatedOS ] ifFalse: [
661
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
  1765
        os := OperatingSystem getOSType.
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
  1766
        os := os asUppercaseFirst.
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1767
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1768
    props addPairsFrom: {
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1769
                'java.runtime.name'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1770
                'OpenJDK Runtime Environment'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1771
                'sun.boot.library.path'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1772
                OperatingSystem isMSWINDOWSlike ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1773
                    (Java release jreHome / 'bin') asString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1774
                ] ifFalse: [ (Java release jreHome / 'lib' / cpu2) asString ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1775
                'java.vm.version'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1776
                Smalltalk versionString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1777
                'java.vm.vendor'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1778
                'eXept Software AG & SWING Research Group'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1779
                'java.vendor.url'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1780
                'http://www.exept.de & http://swing.fit.cvut.cz'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1781
                'path.separator'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1782
                OperatingSystem pathSeparator asString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1783
                'java.vm.name'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1784
                'Smalltalk/X'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1785
                'file.encoding.pkg'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1786
                'sun.io'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1787
                'sun.java.launcher'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1788
                'SUN_STANDARD'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1789
                'user.country'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1790
                'US'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1791
                'sun.os.patch.level'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1792
                'unknown'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1793
                'java.vm.specification.name'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1794
                'Java Virtual Machine Specification'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1795
                'user.dir'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1796
                Filename currentDirectory pathName.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1797
                'java.awt.graphicsenv'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1798
                'sun.awt.X11GraphicsEnvironment'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1799
                'java.endorsed.dirs'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1800
                (Java release jreHome / 'lib' / 'endorsed') asString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1801
                'os.arch'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1802
                cpu.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1803
                'java.io.tmpdir'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1804
                Filename tempDirectory pathName.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1805
                'line.separator'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1806
                Character cr asString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1807
                'java.vm.specification.vendor'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1808
                'Sun Microsystems Inc.'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1809
                'os.name'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1810
                os.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1811
                'sun.jnu.encoding'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1812
                'UTF-8'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1813
                'java.library.path'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1814
                self defaultJavaLibraryPath.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1815
                'java.specification.name'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1816
                'Java Platform API Specification'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1817
                'java.class.version'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1818
                '50.0'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1819
                'sun.management.compiler'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1820
                'Smalltalk/X jinterpreter'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1821
                'os.version'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1822
                OperatingSystem isMSWINDOWSlike ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1823
                    OperatingSystem getSystemInfo at: #release
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1824
                ] ifFalse: [ OperatingSystem getSystemInfo at: #version ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1825
                'user.home'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1826
                Filename homeDirectory pathName.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1827
                'user.timezone'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1828
                ''.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1829
                'java.awt.printerjob'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1830
                'sun.print.PSPrinterJob'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1831
                'file.encoding'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1832
                'UTF-8'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1833
                'java.specification.version'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1834
                '1.6'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1835
                'java.class.path'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1836
                self defaultCLASSPATH.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1837
                'user.name'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1838
                OperatingSystem getLoginName.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1839
                'java.vm.specification.version'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1840
                '1.0'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1841
                 "'sun.java.command'            . 'SystemProperties' ."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1842
                'java.home'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1843
                Java release jreHome pathName.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1844
                'sun.arch.data.model'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1845
                '32'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1846
                'user.language'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1847
                Smalltalk language.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1848
                'java.specification.vendor'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1849
                'Sun Microsystems Inc.'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1850
                'java.vm.info'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1851
                'Smalltalk/X 6.2.1'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1852
                'java.version'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1853
                '1.6'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1854
                'java.ext.dirs'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1855
                self defaultExtDirs.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1856
                'sun.boot.class.path'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1857
                self defaultSunBootLibraryPath.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1858
                'java.vendor'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1859
                'Sun Microsystems Inc.'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1860
                'file.separator'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1861
                Filename separatorString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1862
                'java.vendor.url.bug'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1863
                'https://swing.fit.cvut.cz/projects/stx-libjava/newticket'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1864
                'sun.io.unicode.encoding'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1865
                'UnicodeLittle'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1866
                'sun.cpu.endian'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1867
                'little'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1868
                'sun.desktop'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1869
                'gnome'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1870
                'sun.cpu.isalist'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1871
                ''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1872
            }.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1873
495
0ec68ea85f2b checkin from browser
cg
parents: 494
diff changeset
  1874
    "/ props at:'user.dir'           put:(Filename currentDirectory pathName).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1875
    "/props at:'awt.toolkit'        put:(self defaultWindowingToolKit).
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1876
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1877
    props at: 'user.country' put: 'US'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1878
    props at: 'hotjava.home' put: (self defaultHotJavaHome).
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1879
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1880
    "/ new with jdk 1.1.8
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1881
    "/ undocumented ?
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1882
    "/ suppress copyright view in appletViewer ...
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1883
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1884
    props at: 'appletviewer.version' put: '1.1'.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1885
280
274951f1502c checkin from browser
cg
parents: 277
diff changeset
  1886
    "/ new with jdk 1.2
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1887
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1888
    props at: 'java.awt.graphicsenv' put: 'sun.awt.X11GraphicsEnvironment'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1889
    props at: 'java.awt.fonts' put: '/usr/lib/X11/fonts'.
280
274951f1502c checkin from browser
cg
parents: 277
diff changeset
  1890
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1891
    "/ jws
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1892
    "/props at:'jws.home'             put:(self defaultJWSHome).
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1893
    "/ new with jws 2.0 ...
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1894
    "/props at:'jws.startcmd'         put:'jws.showwin.mainide'.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1895
"/    props at: 'sun.misc.URLClassPath.debug' put: 'true'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1896
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1897
    "/ Java tests, sigh..."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1898
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1899
    props at: 'libjava.tests.dir' put: ((Smalltalk getPackageDirectoryForPackage: self package) / 'tests') pathName.
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1900
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1901
    ^ props
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1902
388
eb6bcedef274 checkin from browser
cg
parents: 380
diff changeset
  1903
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1904
     self initializeSystemPropertiesInto:(Dictionary new)"
388
eb6bcedef274 checkin from browser
cg
parents: 380
diff changeset
  1905
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1906
    "Created: / 03-01-1998 / 14:26:39 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1907
    "Modified: / 27-01-2000 / 02:20:18 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1908
    "Modified (format): / 03-11-2011 / 12:40:56 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1909
    "Modified: / 21-12-2011 / 23:05:11 / jv"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1910
    "Modified: / 13-09-2012 / 20:33:56 / m"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1911
    "Modified: / 09-01-2013 / 17:11:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1912
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1913
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1914
initializeVM
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1915
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1916
    OperatingSystem initResources.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1917
2372
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1918
    Java initializeRelease.
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1919
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1920
    "Java requires a huge stack. Change default to 16 MB.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1921
     Observations:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1922
     - Groovy 'rnd = new java.security.SecureRandom()' requires > 4MB
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1923
     - ant run on Groovy 1.8.7 source requires > 8MB
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1924
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1925
    "/Process defaultMaximumStackSize: ((1024 * 1024 * 16) max: Process defaultMaximumStackSize).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1926
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1927
    "Java Classes are huge and there is a (unfixed) bug in 2-phase oldspace
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1928
     compress, so try to avoid it by pre-allocating more oldspace."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1929
    OldspaceIncreased ~~ true ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1930
        ObjectMemory moreOldSpace: 64"MB"*(1024*1024).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1931
        OldspaceIncreased := true.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1932
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1933
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1934
    ClassRegistry := JavaClassRegistry for: self.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1935
    ClassLoaderQuerySignal := Query new.
640
6cf4e5aa3573 *** empty log message ***
cg
parents: 631
diff changeset
  1936
    JavaObject autoload.
6cf4e5aa3573 *** empty log message ***
cg
parents: 631
diff changeset
  1937
    JavaContext autoload.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1938
    MonitorTrace isNil ifTrue: [ self initialize ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1939
    MonitorTraceId := 0.
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1940
    self initializeAdditionalJavaProtocol.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1941
    self initializeJavaResources.
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1942
    JavaConsoleStream := Transcript.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  1943
    Java initAllStaticFields.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  1944
    Java markAllClassesUninitialized.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1945
    ZipCache := OrderedCollection new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1946
    ZipEntryCache := OrderedCollection new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1947
    ZipInflaters := OrderedCollection new.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1948
    FinalizationLobby := JavaFinalizationRegistry new.
2372
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1949
    self initializeNatives.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1950
429
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  1951
    "/ force re-resolving;
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  1952
    "/ otherwise, class-inits would not be called
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  1953
    "/ by resolver ... (sigh)
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1954
2100
4989419ae5c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2098
diff changeset
  1955
    JavaNativeMethod flushAllCachedNativeMethods.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1956
    JavaMethod
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1957
        allSubInstancesDo: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1958
            :m |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1959
            m checked: false.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1960
            m code: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1961
        ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1962
    ObjectMemory flushCaches.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1963
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1964
    "/ sigh - must flush inline caches.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1965
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  1966
    JavaClass startRememberingOrderOfClassInits.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1967
    self initializeSimulatedLibs.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1968
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1969
    "/ < jdk 1.2
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1970
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1971
    self initializeSimulatedNativeLibs.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1972
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1973
    "/ >= jdk 1.2
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1974
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1975
    self initializeSimulatedNativeMemory.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1976
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1977
    "/>  jdk 6
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1978
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1979
    ThreadInterrupts := Dictionary new.
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  1980
    PerfCounters := Performance for: self.
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  1981
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1982
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1983
    self initializeClassReader.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1984
    self initializeOpenFileTable.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1985
    self initializeReflection.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1986
    self initializeBaseClasses.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1987
    self initializePrimitiveClasses.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1988
    Java initSystemClass.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1989
    Java initializeCurrentThread.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1990
    self initializeSystemClassLoader.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1991
    ObjectMemory addDependent: self.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1992
    StartupTime := OperatingSystem getOSTime.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1993
    FinalizationLobby startFinalizationProcessAt: 5.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1994
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1995
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1996
    JavaNativeMethod allInstancesDo:[:e|e nCallsReset ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  1997
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1998
    "
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  1999
     JavaVM initialize.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2000
     JavaVM initializeVM."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2001
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2002
    "Created: / 03-01-1998 / 21:29:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2003
    "Modified: / 14-12-1999 / 18:58:56 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2004
    "Modified: / 15-10-2010 / 15:27:45 / Jan Kurs <kurs.jan@post.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2005
    "Modified: / 24-02-2012 / 13:59:29 / Marcel Hlopko <hlopik@gmail.com>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2006
    "Modified: / 24-02-2012 / 14:37:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  2007
    "Modified: / 20-02-2013 / 00:13:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2008
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2009
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2010
initializeVMIfNoEventThreadRunning
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2011
    |uClass updater p|
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2012
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2013
    uClass := JAVA::sun::awt::ScreenUpdater.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2014
    uClass notNil ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2015
        updater := uClass instVarNamed:'updater'.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2016
        updater notNil ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2017
            p := self stProcessForJavaThread:updater
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2018
        ].
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2019
        (updater isNil or:[p isNil or:[p isDead]]) isNil ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2020
            self initializeVM.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2021
            ^ self.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2022
        ]
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2023
    ].
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2024
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2025
    (JavaEventThread isNil or:[JavaEventThread isDead]) ifTrue:[
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2026
        self initializeVM
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2027
    ].
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2028
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2029
    "
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2030
     JavaVM initializeVMIfNoEventThreadRunning
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2031
    "
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2032
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2033
    "Created: / 15.1.1998 / 17:32:27 / cg"
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2034
    "Modified: / 24.12.1999 / 02:18:25 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2035
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2036
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2037
reboot
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2038
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2039
    Java flushAllJavaResources.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2040
    self boot
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2041
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2042
    "Created: / 21-02-2012 / 18:10:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2043
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2044
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2045
reinitializeSockets
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2046
    "Reopens all server-sockets (i.e., listening sockets bound to a port).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2047
     Called upon restarting from image"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2048
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2049
    OpenFileTable notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2050
        OpenFileTable do:[:each|each isSocket ifTrue:[each reOpenIfPossible]]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2051
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2052
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2053
    "Created: / 17-08-2012 / 15:33:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2054
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2055
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2056
reinitializeVM
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2057
    |classesToInit|
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2058
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2059
    self releaseAllJavaResources.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2060
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2061
    JavaConsoleStream := Transcript.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2062
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2063
    Java initAllStaticFields.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2064
    Java markAllClassesUninitialized.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2065
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2066
    self initializeOpenFileTable.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2067
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2068
    classesToInit := JavaClass orderOfClassInits.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2069
    JavaClass startRememberingOrderOfClassInits.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2070
451
50d24dc93f8b checkin from browser
cg
parents: 448
diff changeset
  2071
    self initializePrimitiveClasses.
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  2072
"/    Java initSystemClass.
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2073
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2074
    classesToInit do:[:jClass |
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2075
        jClass classInit
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2076
    ].
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  2077
    Java initSystemClass.
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2078
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2079
    "Created: / 12-11-1998 / 15:37:52 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2080
    "Modified: / 17-11-1998 / 16:10:11 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2081
    "Modified: / 14-09-2011 / 22:06:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2082
!
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2083
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2084
reinitializeVMIfNoEventThreadRunning
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2085
    (JavaEventThread isNil or:[JavaEventThread isDead]) ifTrue:[
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2086
        ^ self reinitializeVM
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2087
    ].
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2088
    (JavaEventQueueThread isNil or:[JavaEventQueueThread isDead]) ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2089
        ^ self reinitializeVM
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2090
    ].
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2091
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2092
    "
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2093
     JavaVM reinitializeVMIfNoEventThreadRunning
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2094
    "
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2095
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2096
    "Created: / 24.11.1998 / 15:45:49 / cg"
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2097
    "Modified: / 24.12.1999 / 02:36:41 / cg"
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2098
!
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2099
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2100
releaseAllJavaResources
380
4bc7f45e2994 some more native support for NS4.0 java classes.
cg
parents: 374
diff changeset
  2101
    self deinitialize.
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2102
    FirstWindowCreationSemaphore := Semaphore new.
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2103
    JavaScreenUpdaterThread := JavaEventQueueThread := nil.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2104
    LoadedLibs := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2105
    LoadedNativeLibs := nil.
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2106
    ImageStretchCache := nil.
504
e22c50026869 checkin from browser
cg
parents: 503
diff changeset
  2107
    LastGraphics := LastGC := nil.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2108
    SimulatedNativeMemory := nil.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2109
    self initializePrimitiveClasses.
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2110
    self terminateAllThreads.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2111
    "/self releaseAllMonitors.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2112
    self releaseAllWindows.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2113
    self releaseAllStreams.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2114
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2115
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2116
     JavaVM releaseAllJavaResources"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2117
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2118
    "Created: / 07-01-1998 / 22:49:42 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2119
    "Modified: / 24-12-1999 / 02:33:11 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2120
    "Modified: / 17-12-2010 / 17:51:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2121
    "Modified: / 16-11-2011 / 20:27:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2122
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2123
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2124
releaseAllMonitors
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2125
    LockTable := WeakIdentityDictionary new.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2126
    LockTableAccess := Semaphore "RecursionLock" forMutualExclusion.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2127
    LockTableAccess name: 'JavaVM lock table access mutex'.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2128
    EnteredMonitorsPerProcess notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2129
        EnteredMonitorsPerProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2130
            keysAndValuesDo: [:p :value | value size > 0 ifTrue: [ self breakPoint: #mh ] ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2131
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2132
    self releaseLeftOverMonitors.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2133
    Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2134
        log: 'Clearing EnteredMonitorsPerProcess'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2135
        severity: #debug
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2136
        facility: #JVM.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2137
    EnteredMonitorsPerProcess := IdentityDictionary new.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2138
    Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2139
    log: 'Clearing AcquiredMonitorsPerProcess'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2140
    severity: #debug
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2141
    facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2142
        EnteredMonitorsPerProcess := IdentityDictionary new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2143
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2144
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2145
     JavaVM releaseAllMonitors"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2146
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2147
    "Created: / 02-01-1998 / 18:04:05 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2148
    "Modified: / 07-01-1998 / 22:58:10 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2149
    "Modified: / 17-11-2011 / 17:00:12 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2150
    "Modified: / 13-04-2012 / 00:34:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2151
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2152
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2153
releaseAllStreams
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  2154
    OpenFileTable notNil ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2155
	OpenFileTable do:[:aStream |
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2156
	    aStream notNil ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2157
		aStream ~~ Stdin ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2158
		    aStream ~~ Stdout ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2159
			aStream ~~ Stderr ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2160
			    aStream ~~ JavaConsoleStream ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2161
				aStream isExternalStream ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2162
				    aStream shutDown
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2163
				]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2164
			    ]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2165
			]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2166
		    ]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2167
		]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2168
	    ]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2169
	]
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  2170
    ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2171
    self initializeOpenFileTable.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2172
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2173
    "
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2174
     JavaVM releaseAllStreams
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2175
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2176
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2177
    "Created: / 7.1.1998 / 22:57:04 / cg"
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  2178
    "Modified: / 4.2.1998 / 19:53:11 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2179
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2180
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2181
releaseAllWindows
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2182
    KnownWindows notNil ifTrue:[
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2183
	KnownWindows do:[:aView |
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2184
	    aView destroy
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2185
	].
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2186
	KnownWindows := nil.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2187
    ]
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2188
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2189
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2190
     self releaseAllWindows
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2191
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2192
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2193
    "Created: / 7.1.1998 / 22:58:32 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2194
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2195
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2196
releaseLeftOverMonitors
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2197
    "release monitors held by dead processes"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2198
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2199
    | deadProcesses |
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2200
    deadProcesses := IdentitySet new.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2201
    EnteredMonitorsPerProcess notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2202
        EnteredMonitorsPerProcess keysAndValuesDo: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2203
            :p :monitors |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2204
            p isDead ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2205
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2206
                monitors do: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2207
                    :mon |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2208
                    Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2209
                        log: 'release leftover monitor ...'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2210
                        severity: #info
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2211
                        facility: 'JVM'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2212
                    mon release
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2213
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2214
                deadProcesses add: p.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2215
            ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2216
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2217
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2218
    deadProcesses do: [:p | EnteredMonitorsPerProcess removeKey: p ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2219
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2220
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2221
     JavaVM releaseLeftOverMonitors"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2222
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2223
    "Created: / 08-01-1998 / 17:29:26 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2224
    "Modified: / 14-09-2011 / 22:06:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2225
    "Modified: / 29-11-2011 / 14:26:25 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2226
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2227
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2228
releasehSmalltalkClassLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2229
    SmalltalkClassLoader := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2230
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2231
    "Created: / 09-01-2013 / 15:58:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2232
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2233
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2234
releasehSystemClassLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2235
    SystemClassLoader := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2236
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2237
    "Created: / 30-07-2012 / 17:13:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2238
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2239
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2240
systemProperties
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2241
    |props|
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2242
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2243
    props := Dictionary new.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2244
    self initializeSystemPropertiesInto:props.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2245
    ^ props
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2246
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2247
    "Created: / 3.1.1998 / 14:25:58 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2248
    "Modified: / 3.1.1998 / 14:32:38 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2249
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2250
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2251
update:what with:aParameter from:changedObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2252
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2253
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2254
    #earlyRestart is send first, nothing has been setup yet.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2255
    (should be used to flush all device dependent entries)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2256
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2257
    what == #earlyRestart ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2258
        self initializeMonitorTable.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2259
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2260
        ^self.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2261
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2262
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2263
    "#returnFromSnapshot is sent last (should be used to restart processes, reOpen
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2264
    Streams which cannot be automatically be reopened (i.e. Sockets, Pipes) and so on.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2265
    (Notice that positionable fileStreams are already reopened and repositioned)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2266
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2267
    what == #returnFromSnapshot ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2268
        self reinitializeSockets.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2269
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2270
        ^self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2271
    ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2272
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2273
     JavaVM initializeVM
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2274
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2275
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2276
    ObjectMemory dependents
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2277
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2278
    "Created: / 09-01-1998 / 10:30:13 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2279
    "Modified: / 06-11-1998 / 00:40:53 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2280
    "Modified: / 17-08-2012 / 15:35:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2281
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2282
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2283
!JavaVM class methodsFor:'Signal constants'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2284
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2285
badMessageSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2286
    ^ BadMessageSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2287
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2288
    "Created: / 2.1.1998 / 18:06:52 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2289
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2290
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2291
callHandlerSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2292
    ^ CallHandlerSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2293
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2294
    "Created: / 2.1.1998 / 18:07:16 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2295
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2296
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2297
classLoaderQuerySignal
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2298
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2299
    <resource: #obsolete>
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2300
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2301
    self breakPoint: #jv.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2302
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2303
    ^JavaClassReader classLoaderQuerySignal
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2304
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2305
    "Modified: / 28-10-2011 / 22:11:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2306
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2307
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2308
internalErrorSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2309
    ^ InternalErrorSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2310
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2311
    "Created: / 2.1.1998 / 18:07:05 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2312
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2313
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2314
javaExceptionSignal
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2315
    "^ JavaExceptionSignal"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2316
    ^JavaError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2317
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2318
    "Created: / 02-01-1998 / 18:05:58 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2319
    "Modified: / 01-03-2011 / 21:50:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2320
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2321
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2322
privilegedAccessQuery
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2323
    ^ JavaPrivilegedAccessQuery.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2324
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2325
    "Created: / 09-10-2011 / 20:24:49 / Marcel Hlopko <hlopik@gmail.com>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2326
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2327
576
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2328
stdinReplacementFileQuerySignal
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2329
    ^ StdinReplacementFileQuerySignal
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2330
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2331
    "Created: / 2.1.1998 / 18:06:52 / cg"
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2332
!
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2333
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2334
unhandledJavaExceptionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2335
    ^ UnhandledJavaExceptionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2336
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2337
    "Created: / 2.1.1998 / 18:05:19 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2338
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2339
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2340
unimplementedInstructionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2341
    ^ UnimplementedInstructionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2342
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2343
    "Created: / 2.1.1998 / 18:06:15 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2344
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2345
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2346
unimplementedNativeMethodSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2347
    ^ UnimplementedNativeMethodSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2348
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2349
    "Created: / 02-01-1998 / 18:06:40 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2350
    "Modified: / 15-01-2013 / 22:30:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2351
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2352
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2353
!JavaVM class methodsFor:'accessing'!
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2354
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2355
addClass:aJavaClass definedBy:aJavaClassLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2356
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2357
    self assert: aJavaClass classLoader == aJavaClassLoader.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2358
    ^ ClassRegistry registerClass:aJavaClass
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2359
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2360
    "Modified: / 23-10-2011 / 11:58:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2361
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2362
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2363
addSelector:newSelector withMethod:newMethod
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2364
    super addSelector:newSelector withMethod:newMethod.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2365
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2366
    "/JavaNativeMethod may not be loaded..."
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2367
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2368
    (Smalltalk at:#JavaNativeMethod)
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2369
        ifNotNil:[JavaNativeMethod flushAllCachedNativeMethods].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2370
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2371
    "Created: / 24-12-1999 / 03:12:05 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2372
    "Modified: / 02-02-2011 / 04:38:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2373
    "Modified: / 02-02-2011 / 23:38:08 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2374
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2375
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2376
assertionsEnabled: aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2377
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2378
    AssertionsEnabled := aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2379
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2380
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2381
        JavaVM assertionsEnabled: true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2382
        JavaVM assertionsEnabled: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2383
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2384
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2385
    "Created: / 24-11-2010 / 09:02:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2386
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2387
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2388
classRegistry
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2389
    ^ ClassRegistry.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2390
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2391
    "Created: / 21-10-2011 / 11:12:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2392
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2393
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2394
extClassLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2395
    ^ self systemClassLoader instVarNamed:#'parent'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2396
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2397
    "Created: / 30-10-2011 / 12:08:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2398
    "Created: / 02-11-2011 / 13:20:28 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2399
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2400
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2401
finalizationEnabled
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2402
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2403
    ^FinalizationEnabled
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2404
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2405
    "Created: / 14-11-2011 / 21:14:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2406
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2407
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2408
finalizationLobby
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2409
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2410
    ^FinalizationLobby
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2411
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2412
    "Created: / 14-11-2011 / 12:29:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2413
!
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2414
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2415
javaEventQueueThread
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2416
     ^ JavaEventQueueThread
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2417
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2418
    "Created: / 24.12.1999 / 02:34:35 / cg"
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2419
!
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2420
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2421
javaEventThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2422
     ^ JavaEventThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2423
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2424
    "Created: / 8.1.1999 / 17:05:02 / cg"
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2425
!
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2426
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2427
javaScreenUpdaterThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2428
     ^ JavaScreenUpdaterThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2429
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2430
    "Created: / 8.1.1999 / 17:06:52 / cg"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2431
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2432
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2433
natives
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2434
    ^ NativeMethodsImplementation
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2435
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2436
    "Created: / 16-01-2013 / 20:02:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2437
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2438
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2439
performance
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2440
    "Return an object keeping Java performance counters"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2441
    ^ PerfCounters
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2442
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2443
    "Modified: / 14-08-2012 / 00:39:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2444
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2445
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2446
reflection
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2447
    ^ Reflection
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2448
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2449
    "Created: / 28-01-2011 / 15:09:19 / Marcel Hlopko <hlopik@gmail.com>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2450
    "Modified: / 16-01-2013 / 20:55:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2451
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2452
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2453
registry
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2454
    ^ ClassRegistry.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2455
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2456
    "Modified (format): / 21-10-2011 / 11:12:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2457
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2458
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2459
smalltalkClassLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2460
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2461
    ^SmalltalkClassLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2462
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2463
    "Created: / 22-08-2012 / 13:00:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2464
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2465
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2466
systemClassLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2467
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2468
    ^SystemClassLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2469
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2470
    "Created: / 30-10-2011 / 12:08:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2471
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2472
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2473
useSmalltalkInterpreter
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2474
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2475
    JavaMethod makeMetaMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2476
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2477
    "Created: / 23-02-2011 / 12:59:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2478
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2479
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2480
useVMInterpreter
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2481
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2482
    JavaMethod makeJavaMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2483
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2484
    "Created: / 23-02-2011 / 12:59:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2485
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2486
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2487
!JavaVM class methodsFor:'cache management'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2488
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2489
flushCachesFor: aClass
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2490
    "Flush all caches for given class, including JIT-compiled code.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2491
     Called for allow for dynamic recompilation when a reference
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2492
     is resolved"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2493
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2494
    aClass methodDictionary do:[:mthd|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2495
        (mthd isJavaMethod and:[mthd isResolved not]) ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2496
            "Stdout nextPutAll:'Flushing code for ' , mthd printString; cr."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2497
            mthd code: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2498
            mthd checked: false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2499
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2500
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2501
    ObjectMemory flushCachesFor: aClass.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2502
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2503
    "Created: / 17-10-2012 / 20:22:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2504
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2505
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2506
!JavaVM class methodsFor:'class access'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2507
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2508
arrayClassFor: javaClass ifAbsentPut: block
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2509
    ^self reflection arrayClassFor: javaClass ifAbsentPut: block
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2510
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2511
    "Created: / 05-07-2012 / 23:20:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2512
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2513
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2514
at: aString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2515
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2516
    ^ ClassRegistry classNamed: aString asSlashedJavaClassName.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2517
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2518
    "Modified (comment): / 21-10-2011 / 12:14:29 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2519
    "Modified: / 07-02-2013 / 14:17:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2520
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2521
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2522
at: aString put: aJavaClass
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2523
    self breakPoint: #mh.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2524
    self breakPoint: #jv.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2525
    "dont use me anymore"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2526
    ^ ClassRegistry registerClass: aJavaClass
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2527
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2528
    "Modified (comment): / 21-10-2011 / 12:14:36 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2529
    "Modified: / 23-10-2011 / 11:58:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2530
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2531
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2532
classForName: className
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2533
    "load class from registry - load using classLoader from query or JavaClassReader if absent"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2534
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2535
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2536
    ^ self classForName: className asSlashedJavaClassName
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2537
        definedBy: (JavaClassReader classLoaderQuerySignal query) "? SystemClassLoader."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2538
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2539
    "Modified: / 02-11-2011 / 16:33:36 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2540
    "Modified: / 23-01-2013 / 16:13:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2541
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2542
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2543
classForName: className definedBy: classLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2544
    "load class from registry - load using given classLoader if not nil"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2545
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2546
    | result |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2547
    result := self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2548
                classForName: className asSlashedJavaClassName
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2549
                definedBy: classLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2550
                ifAbsentPut: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2551
                    | class  classLoaderEnsured |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2552
                    self assert: (className includes: $.) not.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2553
                    self booted ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2554
                        "class loaders allowed after vm boot, until then, only primordial"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2555
                        class := self usePrimordialCLToLoadClassNamed: className.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2556
                        self assert:(class notNil)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2557
    message:'Couldnt load class ' , className , ' while booting Java VM'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2558
                        class.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2559
                    ] ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2560
                        self assert:(self booted)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2561
    message:'Java VM is not booted and we are not using primordial class loader to load: ' 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2562
            , className.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2563
                        (Java release bootClassPathIncludesClassNamed: className) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2564
                            "we will use primordial class loader for classes in rt.jar etc"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2565
                            class := self usePrimordialCLToLoadClassNamed: className.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2566
                            self assert:(class notNil)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2567
    message:'Class ' , className 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2568
            , ' is supposed to be in boot classpath, but we couldnt load it'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2569
                            class.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2570
                        ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2571
                            (Java release extDirsIncludesClassNamed: className) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2572
                                class := self useExtCLToLoadClassNamed: className.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2573
                                self assert:(class notNil)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2574
    message:'Class ' , className 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2575
            , ' is supposed to be in java.ext,dirs, but we couldnt load it'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2576
                                class.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2577
                            ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2578
                                "at this point, nil classLoader means use system class loader,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2579
                                 in other words, at this point, we shouldnt use primordial cl at all"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2580
                                classLoader isNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2581
                                    self assert:(self systemClassLoader notNil)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2582
    message:'We needed system class loader, but its not loaded yet'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2583
                                    classLoaderEnsured := self systemClassLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2584
                                ] ifFalse: [ classLoaderEnsured := classLoader ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2585
                                class := self useUserDefinedCL: classLoaderEnsured
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2586
                                            toLoadClassNamed: className.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2587
                                class isNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2588
                                    Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2589
                                        log: 'Even ' , classLoader printString , ' was not able to load class '
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2590
                                                , className
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2591
                                        severity: #warn
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2592
                                        facility: 'JVM'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2593
                                    nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2594
                                ] ifFalse: [ class ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2595
                            ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2596
                        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2597
                    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2598
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2599
    result isNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2600
        Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2601
            log: 'Class ' , className , ' couldnt be loaded'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2602
            severity: #warn
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2603
            facility: 'JVM'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2604
    ] ifFalse: [ result := self makeArrayOf: result asDescribedBy: className. ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2605
    ^ result.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2606
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2607
    "Created: / 21-10-2011 / 12:01:16 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2608
    "Modified: / 30-10-2011 / 13:54:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2609
    "Modified: / 02-11-2011 / 16:49:45 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2610
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2611
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2612
classForName: className definedBy: classLoader ifAbsentPut: aBlock
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2613
    "load class from registry - if absent evaluate given block to get loaded class"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2614
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2615
    | result |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2616
    className asJavaComponentClassName isJavaPrimitiveTypeDescriptor ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2617
        ^ (JavaDescriptor fromString: className) javaClass.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2618
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2619
    result := ClassRegistry
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2620
                classForName: className asSlashedJavaClassName
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2621
                loader: classLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2622
                ifAbsentPut: aBlock.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2623
    result notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2624
        result := self makeArrayOf: result asDescribedBy: className.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2625
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2626
    ^ result.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2627
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2628
    "Created: / 21-10-2011 / 12:13:08 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2629
    "Modified: / 30-10-2011 / 22:04:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2630
    "Modified (format): / 02-11-2011 / 16:09:48 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2631
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2632
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2633
classNamed: className
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2634
    "Return class with given name loaded by current classloader or nil if class is not yet loaded"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2635
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2636
    ^ self classNamed: className definedBy: JavaClassReader classLoaderQuerySignal query.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2637
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2638
    "Modified: / 21-10-2011 / 12:09:13 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2639
    "Modified (comment): / 21-10-2011 / 13:34:46 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2640
    "Modified: / 28-10-2011 / 22:12:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2641
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2642
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2643
classNamed: className definedBy: classLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2644
    "Return class with given name loaded by given classloader or nil if class is not yet loaded"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2645
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2646
    | result |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2647
    className asJavaComponentClassName isJavaPrimitiveTypeDescriptor ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2648
        ^ (JavaDescriptor fromString: className) javaClass.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2649
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2650
    result := ClassRegistry
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2651
                classForName: className asSlashedJavaClassName
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2652
                loader: classLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2653
                ifAbsent: [ ^ nil ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2654
    ^ self makeArrayOf: result asDescribedBy: className.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2655
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2656
    "Created: / 21-10-2011 / 11:58:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2657
    "Modified: / 23-10-2011 / 12:01:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2658
    "Modified: / 01-11-2011 / 15:36:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2659
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2660
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2661
loadClassesIn: directory
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2662
"load all classes (.class files, strictly speaking) found in given directory.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2663
The argument is string containing the name of the directory.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2664
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2665
Returns a set of loaded classes."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2666
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2667
^ self loadClassesIn: directory matching: '*'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2668
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2669
    "Modified: / 11-06-2011 / 13:35:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2670
    "Created: / 21-10-2011 / 12:40:34 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2671
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2672
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2673
loadClassesIn: directory matching: pattern
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2674
    "load all classes (.class files, strictly speaking) found in given directory.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2675
     The arguments are a string containing the name of the directory
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2676
     and a class name pattern. Only classes matching the pattern are loaded.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2677
     class names are matched using String>>matches:.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2678
     ALL CLASSES ARE INSTALLED!!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2679
     Returns a set of loaded classes."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2680
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2681
    | dir  dirString  className  loadedClasses |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2682
    dir := directory asFilename asAbsoluteFilename.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2683
    loadedClasses := Set new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2684
    Java addToClassPath: dir pathName.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2685
    JavaClassReader classLoaderQuerySignal answer: SystemClassLoader do:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2686
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2687
    dir
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2688
        recursiveDirectoryContentsAsFilenamesDo: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2689
            :filename |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2690
            (filename isRegularFile and: [ filename suffix = #class ]) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2691
                dirString := dir pathName.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2692
                className := filename withoutSuffix pathName.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2693
                className := className subString: dirString size + 2 to: className size.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2694
                className := className copyReplaceAll: (Filename separator) with: $..
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2695
                (className matches: pattern) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2696
                    (self classNamed: className) isNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2697
                        loadedClasses add: (self classForName:className).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2698
                    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2699
                ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2700
            ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2701
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2702
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2703
    ^ loadedClasses.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2704
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2705
    "Modified: / 21-10-2011 / 12:52:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2706
    "Modified: / 30-10-2011 / 14:02:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2707
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2708
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2709
!JavaVM class methodsFor:'class loading'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2710
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2711
useExtCLToLoadClassNamed: className
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2712
    | ecl  class |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2713
    ecl := self extClassLoader.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2714
    self assert:(ecl notNil)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2715
    message:'we want to use ExtClassLoader, but its not loaded yet'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2716
    class := ecl
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2717
                perform: #'loadClassInternal(Ljava/lang/String;)Ljava/lang/Class;'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2718
                with: (Java as_String: (className asDottedJavaClassName)).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2719
    self assert:(class notNil)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2720
    message:'we tried to load class ' , className 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2721
            , ' using ExtClassLoader and we failed:)'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2722
                class := JavaVM classForJavaClassObject: class.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2723
                class classLoader: ecl.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2724
    ^ class.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2725
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2726
    "Created: / 02-11-2011 / 13:48:02 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2727
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2728
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2729
usePrimordialCLToLoadClassNamed: className
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2730
    | class |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2731
    JavaClassReader classLoaderQuerySignal answer: nil do: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2732
        class := JavaClassReader readClass: className classPath: Java release bootClassPath  
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2733
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2734
    ^ class
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2735
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2736
    "Modified: / 02-11-2011 / 17:28:08 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2737
    "Modified: / 23-01-2013 / 15:18:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2738
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2739
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2740
useUserDefinedCL: classLoader toLoadClassNamed: className
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2741
    | classObject  class |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2742
    classObject := classLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2743
                perform: #'loadClassInternal(Ljava/lang/String;)Ljava/lang/Class;'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2744
                with: (Java as_String: (className asDottedJavaClassName)).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2745
    class := self classForJavaClassObject: classObject.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2746
    class javaMirror getClassLoader isNil ifTrue: [self breakPoint:#mh].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2747
    ^ class.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2748
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2749
    "Created: / 02-11-2011 / 16:20:35 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2750
    "Modified: / 22-08-2012 / 12:57:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2751
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2752
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2753
!JavaVM class methodsFor:'debugging support'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2754
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2755
disableMonitorTrace
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2756
    MonitorTrace := false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2757
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2758
    "Created: / 22-11-2011 / 10:29:53 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2759
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2760
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2761
enableMonitorTrace
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2762
    MonitorTrace := true.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2763
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2764
    "Created: / 22-11-2011 / 10:29:46 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2765
    "Modified (format): / 07-04-2012 / 08:47:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2766
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2767
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2768
exceptionDebug
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2769
    ^ ExceptionDebug
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2770
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2771
    "Created: / 27.1.1999 / 20:14:51 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2772
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2773
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2774
exceptionDebug:aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2775
    ExceptionDebug := aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2776
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2777
    "Created: / 27.1.1999 / 20:15:00 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2778
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2779
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2780
exceptionDebugPatterns
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2781
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2782
    ^ ExceptionDebugPatterns
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2783
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2784
    ExceptionDebug must be set in order to ExceptionDebugPatterns work
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2785
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2786
    ExceptionDebug := true.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2787
    ExceptionDebug := false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2788
    ExceptionDebugPatterns removeAll.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2789
    ExceptionDebugPatterns add: 'java/lang/SecurityException*'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2790
    ExceptionDebugPatterns add: 'java/net/ConnectException*'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2791
    ExceptionDebugPatterns add: 'java/lang/IllegalArgumentException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2792
    ExceptionDebugPatterns add: 'java/lang/IllegalAccessException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2793
    ExceptionDebugPatterns add: 'java/lang/ClassNotFoundException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2794
    ExceptionDebugPatterns add: 'java/io/IOException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2795
    ExceptionDebugPatterns add: 'java/io/FileNotFoundException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2796
    ExceptionDebugPatterns add: 'java/io/EOFException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2797
    ExceptionDebugPatterns add: 'java/lang/NoSuchMethodException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2798
    ExceptionDebugPatterns add: 'java/lang/ArrayIndexOutOfBoundsException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2799
    ExceptionDebugPatterns add: 'java/lang/IllegalMonitorStateException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2800
    ExceptionDebugPatterns add: 'org/xml/sax/SAXParseException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2801
    ExceptionDebugPatterns add: 'org/apache/xerces/xni/parser/XMLParseException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2802
    ExceptionDebugPatterns add: 'java/lang/InstantiationException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2803
    ExceptionDebugPatterns add: 'java/lang/RuntimeException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2804
    ExceptionDebugPatterns add: 'java/lang/ClassCastException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2805
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2806
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2807
    ExceptionDebug := true.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2808
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2809
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2810
    "Created: / 25-02-2011 / 08:08:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2811
! !
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2812
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2813
!JavaVM class methodsFor:'debugging-dumping'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2814
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2815
dumpOpenExternalStream: stream on: output
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2816
    output nextPutAll: stream class printString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2817
    output space.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2818
    OpenFileTable notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2819
        | idx |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2820
        idx := OpenFileTable identityIndexOf: stream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2821
        idx ~~ 0 ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2822
            output nextPutAll:'JavaVM:OpenFileTable['; nextPutAll: idx printString; nextPut:$]; space.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2823
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2824
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2825
    ZipCache notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2826
        | idx |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2827
        idx := ZipCache identityIndexOf: stream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2828
        idx ~~ 0 ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2829
            output nextPutAll:'JavaVM:ZipCache['; nextPutAll: idx printString; nextPut:$]; space.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2830
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2831
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2832
    stream isFileStream ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2833
        output nextPutAll: stream pathName ? '?'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2834
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2835
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2836
    "Created: / 23-07-2012 / 16:40:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2837
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2838
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2839
dumpOpenExternalStreams
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2840
    ^self dumpOpenExternalStreamsOn: Stdout.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2841
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2842
    "Created: / 23-07-2012 / 16:32:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2843
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2844
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2845
dumpOpenExternalStreamsOn: aStream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2846
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2847
    | nOpenStreams |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2848
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2849
    nOpenStreams := 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2850
    ExternalStream allSubInstancesDo:[:each|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2851
        each isOpen ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2852
            nOpenStreams := nOpenStreams + 1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2853
            self dumpOpenExternalStream: each on: aStream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2854
            aStream cr.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2855
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2856
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2857
    aStream nextPutLine:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2858
        ('SUMMARY: open=%1, java.io=%2, java.util.zip=%3'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2859
            bindWith: nOpenStreams
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2860
                with: ((OpenFileTable ? #()) inject:0 into:[:a :s|a + (s notNil ifTrue:[1] ifFalse:[0])])
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2861
                with: ((ZipCache ? #())      inject:0 into:[:a :s|a + (s notNil ifTrue:[1] ifFalse:[0])])
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2862
        )
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2863
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2864
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2865
        JavaVM dumpOpenExternalStreamsOn: Stdout
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2866
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2867
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2868
    "Created: / 23-07-2012 / 16:34:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2869
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2870
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2871
!JavaVM class methodsFor:'defaults'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2872
359
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2873
audioEnabled
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2874
    ^ NoAudio not
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2875
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2876
    "Created: / 18.7.1998 / 22:31:36 / cg"
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2877
!
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2878
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2879
audioEnabled:aBoolean
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2880
    NoAudio := aBoolean not
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2881
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2882
    "Created: / 18.7.1998 / 22:31:20 / cg"
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2883
!
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2884
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2885
defaultCLASSPATH
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2886
    |s|
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2887
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2888
    s := '' writeStream.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2889
    Java effectiveClassPath
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2890
        do:[:p | s nextPutAll:p asString ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2891
        separatedBy: [s nextPut: OperatingSystem pathSeparator].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2892
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2893
    ^ s contents
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2894
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2895
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2896
     self defaultCLASSPATH
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2897
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2898
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2899
    "Created: / 03-01-1998 / 14:27:21 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2900
    "Modified: / 16-01-2013 / 13:15:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2901
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2902
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2903
defaultExtDirs
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2904
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2905
    ^String streamContents:[:s|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2906
        Java javaExtDirs do:[:dir|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2907
            s nextPutAll: dir pathName.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2908
        ] separatedBy:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2909
            s nextPut: OperatingSystem pathSeparator.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2910
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2911
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2912
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2913
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2914
    JavaVM defaultExtDirs
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2915
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2916
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2917
    "Created: / 31-08-2011 / 20:03:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2918
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2919
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2920
defaultHotJavaHome
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2921
    ^ '/usr/local/java/hotjava'.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2922
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2923
    "Modified: / 5.8.1997 / 04:13:36 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2924
    "Created: / 3.1.1998 / 14:27:34 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2925
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2926
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2927
defaultJAVAHome
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2928
    ^ Java javaHome
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2929
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2930
    "Modified: / 6.8.1997 / 00:54:44 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2931
    "Created: / 3.1.1998 / 14:27:01 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2932
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2933
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2934
defaultJWSHome
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  2935
    '/phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS' asFilename exists ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2936
	^ '/phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS'
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  2937
    ].
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  2938
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2939
    ^ '/usr/local/java/JWS'.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2940
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2941
    "Created: / 3.1.1998 / 14:27:42 / cg"
479
0ae3179779eb checkin from browser
cg
parents: 477
diff changeset
  2942
    "Modified: / 3.12.1998 / 14:54:08 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2943
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2944
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2945
defaultJavaLibraryPath
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2946
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2947
    | dirs |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2948
    dirs := OrderedCollection new
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2949
            add: Java release javaHome asFilename / 'lib';
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2950
            add: Java release javaHome asFilename / 'lib' / 'amd64';
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2951
            add: Java release javaHome asFilename / 'lib' / 'i386';
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2952
            add: Java release javaHome asFilename / 'jre' / 'lib' ;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2953
            add: Java release javaHome asFilename / 'jre' / 'lib' / 'amd64'  ;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2954
            add: Java release javaHome asFilename / 'jre' / 'lib' / 'i386' ;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2955
            add: Java release javaHome asFilename / 'jre' / 'bin' ;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2956
            yourself.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2957
    OperatingSystem isMSWINDOWSlike ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2958
        dirs
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2959
            add: Java release javaHome asFilename / 'bin'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2960
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2961
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2962
    ^String streamContents:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2963
        [:path|
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2964
        (dirs select:[:d|d exists])
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2965
            do:[:d|path nextPutAll:d pathName]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2966
            separatedBy:[path nextPut: OperatingSystem pathSeparator]]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2967
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2968
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2969
        JavaVM defaultJavaLibraryPath
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2970
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2971
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2972
    "Created: / 10-12-2010 / 14:09:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2973
    "Modified: / 01-04-2011 / 18:21:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2974
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2975
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2976
defaultSunBootLibraryPath
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2977
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2978
    |s|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2979
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2980
    s := '' writeStream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2981
    Java release bootClassPath
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2982
        do:[:p | s nextPutAll:p asString]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2983
        separatedBy: [s nextPut: OperatingSystem pathSeparator].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2984
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2985
    ^ s contents
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2986
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2987
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2988
        JavaVM defaultSunBootLibraryPath
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2989
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2990
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2991
    "Created: / 10-12-2010 / 14:37:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2992
    "Modified: / 23-01-2013 / 15:19:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2993
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2994
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2995
defaultWindowingToolKit
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2996
    "/ prefer the windows toolkit ...
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2997
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2998
    (self classForName: 'sun.awt.windows.WToolkit') notNil ifTrue: [
2092
7da11fcd701b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2085
diff changeset
  2999
        ^ 'sun.awt.windows.WToolkit'.
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  3000
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3001
    (Java classForName: 'sun.awt.motif.MToolkit') notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3002
        self halt: 'MotifToolKit: this is untested code'.
2092
7da11fcd701b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2085
diff changeset
  3003
        ^ 'sun.awt.motif.MToolkit'.
7da11fcd701b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2085
diff changeset
  3004
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3005
    self halt: 'TinyToolKit: this is untested code'.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3006
    ^ 'sun.awt.tiny.TinyToolkit'.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3007
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3008
    "/    ^ 'sun.awt.win32.MToolkit'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3009
    "/    ^ 'sun.awt.motif.MToolkit'.
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  3010
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3011
     self defaultWindowingToolKit"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3012
    "Created: / 3.1.1998 / 14:27:49 / cg"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  3013
    "Modified: / 27.1.1998 / 21:52:52 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3014
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3015
546
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3016
fileAccessTrace
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3017
    ^ FileAccessTrace
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3018
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3019
    "Created: / 27.1.1999 / 18:55:40 / cg"
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3020
!
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3021
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3022
fileAccessTrace:aBoolean
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3023
    FileAccessTrace := aBoolean
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3024
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3025
    "Created: / 19.10.1998 / 16:01:44 / cg"
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3026
    "Modified: / 27.1.1999 / 18:55:52 / cg"
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3027
!
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3028
390
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3029
fileOpenConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3030
    ^ FileOpenConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3031
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3032
    "Created: / 19.10.1998 / 16:01:44 / cg"
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3033
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3034
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3035
fileOpenConfirmation:aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3036
    FileOpenConfirmation := aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3037
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3038
    "Created: / 19.10.1998 / 16:01:56 / cg"
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3039
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3040
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3041
javaConsole:aStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3042
    JavaConsoleStream := aStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3043
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3044
    "
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3045
     JavaVM javaConsole:Transcript
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3046
    "
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3047
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3048
    "Modified: / 6.8.1997 / 00:34:13 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3049
    "Created: / 3.1.1998 / 14:27:58 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3050
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3051
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3052
javaConsoleStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3053
    ^ JavaConsoleStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3054
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3055
    "Created: / 3.1.1998 / 14:32:16 / cg"
390
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3056
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3057
572
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3058
nullPointerExceptionDebug
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3059
    ^ NullPointerExceptionDebug
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3060
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3061
    "Created: / 27.1.1999 / 20:14:51 / cg"
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3062
!
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3063
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3064
nullPointerExceptionDebug:aBoolean
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3065
    NullPointerExceptionDebug := aBoolean
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3066
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3067
    "Created: / 27.1.1999 / 20:15:00 / cg"
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3068
!
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3069
390
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3070
socketConnectConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3071
    ^ SocketConnectConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3072
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3073
    "Created: / 19.10.1998 / 16:02:15 / cg"
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3074
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3075
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3076
socketConnectConfirmation:aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3077
    SocketConnectConfirmation := aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3078
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3079
    "Created: / 19.10.1998 / 16:02:06 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3080
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3081
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3082
!JavaVM class methodsFor:'eager resolving'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3083
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3084
disableEagerResolving
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3085
    EagerResolvingEnabled := false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3086
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3087
    "Created: / 08-12-2011 / 21:06:11 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3088
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3089
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3090
eagerResolvingEnabled
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3091
    ^ EagerResolvingEnabled.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3092
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3093
    "Created: / 08-12-2011 / 21:05:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3094
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3095
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3096
enableEagerResolving
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3097
     EagerResolvingEnabled := true.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3098
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3099
    "Created: / 08-12-2011 / 21:06:03 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3100
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3101
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3102
!JavaVM class methodsFor:'helpers'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3103
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3104
canCast: s to: t
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3105
    "Helper for _CHECKCAST:_:"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3106
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3107
    | sc  tc |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3108
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3109
    "Not specified in JVM spec, sigh"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3110
    s isJavaPrimitiveType ifTrue: [
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3111
        "FIXME"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3112
        ^ s == t or:[(s isSubclassOf: t) or:[t isSubclassOf: s]]
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3113
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3114
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3115
     Java VM Spec, 3rd edition, p 280:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3116
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3117
     The following rules are used to determine whether an objectref that is not
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3118
     null can be cast to the resolved type: if S is the class of the object
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3119
     referred to by objectref and T is the resolved class, array, or interface type,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3120
     checkcast determines whether objectref can be cast to type T as follows:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3121
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3122
     - If S is an ordinary (nonarray) class, then:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3123
     - If T is a class type, then S must be the same class as T, or a subclass
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3124
     of T.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3125
     - If T is an interface type, then S must implement interface T.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3126
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3127
    (s isJavaArrayClass not and: [ s isInterface not ]) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3128
        ^ (s includesBehavior: t).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3129
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3130
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3131
     - If S is an interface type, then:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3132
     - If T is a class type, then T must be Object.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3133
     - If T is an interface type, then T must be the same interface as S or a
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3134
     superinterface of S.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3135
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3136
    s isInterface ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3137
        ^ t isInterface not
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3138
            ifTrue: [ t == (self classForName: 'java.lang.Object') ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3139
            ifFalse: [ s includesBehavior: t ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3140
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3141
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3142
     - If S is a class representing the array type SC[], that is, an array of com-
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3143
     ponents of type SC , then:
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3144
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3145
    self assert:s isJavaArrayClass message:'S should be array type'.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3146
    sc := s javaComponentClass.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3147
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3148
     - If T is a class type, then T must be Object.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3149
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3150
    t isJavaClassType ifTrue: [ ^ t == (self classForName: 'java.lang.Object') ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3151
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3152
     - If T is an array type TC[], that is, an array of components of type TC ,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3153
     then one of the following must be true:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3154
     - TC and SC are the same primitive type.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3155
     - TC and SC are reference types, and type SC can be cast to TC by
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3156
     recursive application of these rules.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3157
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3158
    t isJavaArrayClass ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3159
        tc := t javaComponentClass.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3160
        ^ tc isJavaPrimitiveType
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3161
            ifTrue: [ tc == sc ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3162
            ifFalse: [ self canCast: sc to: tc ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3163
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3164
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3165
     - If T is an interface type, T must be one of the interfaces implemented
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3166
     by arrays (JLS3 4.10.3).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3167
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3168
    ((t name == #'java/lang/Cloneable')
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3169
        or: [ t name == #'java/lang/Serializable' ]) ifTrue: [ ^ true ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3170
    ^ false
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3171
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3172
    "Modified: / 09-01-1999 / 00:45:21 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3173
    "Created: / 11-02-2011 / 08:21:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3174
    "Modified: / 21-10-2011 / 13:50:36 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3175
    "Modified: / 24-02-2012 / 16:34:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3176
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3177
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3178
javaStringObjectForString:string
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3179
    self breakPoint:#mh info:'refactor my sender to use reflection directly'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3180
    ^ self reflection javaStringObjectForString:string interned:false
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3181
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3182
    "Created: / 22-11-2010 / 16:31:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3183
    "Modified: / 09-02-2011 / 00:47:49 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3184
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3185
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3186
javaStringObjectForString:string interned:intern
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3187
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3188
    ^self reflection javaStringObjectForString:string interned:intern.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3189
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3190
    "Created: / 22-11-2010 / 16:28:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3191
    "Modified: / 22-11-2010 / 17:57:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3192
    "Modified: / 09-02-2011 / 01:04:21 / Marcel Hlopko <hlopik@gmail.com>"
321
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 319
diff changeset
  3193
!
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 319
diff changeset
  3194
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3195
javaThreadForSTProcess: stProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3196
    | result |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3197
    result := Java threadForStProcess: stProcess ifAbsent: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3198
    result == 0 ifTrue: [ self breakPoint: #mh. ^ nil].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3199
    ^ result.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3200
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3201
    "Modified: / 26-08-1997 / 19:56:31 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3202
    "Created: / 03-01-1998 / 01:53:41 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3203
    "Modified: / 09-12-2011 / 13:12:28 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3204
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3205
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3206
makeArrayOf: loadedJavaClass asDescribedBy: className
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3207
    | arrayClass  dimensions |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3208
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3209
    arrayClass := loadedJavaClass.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3210
    dimensions := className occurrencesOf: $[.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3211
        arrayClass isJavaArrayClass ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3212
        "is already array (primitive arrays case, like ByteArray etc)"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3213
        dimensions := dimensions - 1.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3214
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3215
    dimensions timesRepeat: [ arrayClass := arrayClass javaArrayClass. ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3216
        ^ arrayClass.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3217
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3218
    "Created: / 21-10-2011 / 12:18:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3219
    "Modified (format): / 23-10-2011 / 22:30:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3220
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3221
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3222
newThread: name
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3223
    | thread  threadClass  i |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3224
    threadClass := JavaVM classForName: 'java.lang.Thread'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3225
    thread := threadClass basicNew.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3226
    thread instVarNamed: '_lockWord_' put: 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3227
    thread instVarNamed: 'name' put: name. "/NOT a Java string, name instvar is char[]!!!!!!"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3228
    thread instVarNamed: 'priority'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3229
        put: (threadClass instVarNamed: 'NORM_PRIORITY').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3230
    thread instVarNamed: 'single_step' put: 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3231
    thread instVarNamed: 'daemon' put: 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3232
    thread instVarNamed: 'stillborn' put: 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3233
    thread instVarNamed: 'threadStatus' put: 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3234
    thread instVarNamed: 'target' put: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3235
    thread instVarNamed: 'blockerLock' put:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3236
        ((JavaVM classForName: 'java.lang.Object') basicNew
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3237
            instVarAt: 1 put: 0;
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3238
            yourself).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3239
274
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3240
    "/
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3241
    "/ that on was only temporarily present in JDK1.1.3 (sigh)
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3242
    "/
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3243
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3244
    (i := thread class instVarOffsetOf: 'initial_stack_memory') notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3245
        thread instVarAt: i put: 0.
274
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3246
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3247
    thread instVarNamed: 'group' put: (self standardThreadGroup).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3248
    threadClass classLoader isNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3249
        thread instVarNamed: 'contextClassLoader' put: self systemClassLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3250
    ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3251
        thread instVarNamed: 'contextClassLoader' put: threadClass classLoader
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3252
    ].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3253
    ^ thread
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3254
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3255
    "Created: / 03-01-1998 / 01:47:30 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3256
    "Modified: / 27-01-1998 / 00:54:33 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3257
    "Modified: / 01-12-2011 / 17:43:38 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3258
    "Modified: / 19-09-2012 / 16:06:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3259
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3260
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3261
stProcessForJavaThread: jThread
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3262
    | result |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3263
    result := Java threadsAt: jThread ifAbsent: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3264
    result == 0 ifTrue: [ self breakPoint: #mh. ^ nil ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3265
    ^ result.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3266
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3267
    "Created: / 02-01-1998 / 21:48:27 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3268
    "Modified: / 03-01-1998 / 01:53:55 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3269
    "Modified: / 09-12-2011 / 13:12:39 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3270
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3271
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3272
standardThreadGroup
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3273
    | standardGroup  threadClass |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3274
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3275
    StandardThreadGroup isNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3276
        threadClass := JavaVM classForName: 'java.lang.Thread'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3277
        standardGroup := (self classForName: 'java.lang.ThreadGroup') new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3278
        standardGroup instVarNamed: 'parent' put: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3279
        standardGroup instVarNamed: 'name' put: (Java as_String: 'main').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3280
        standardGroup instVarNamed: 'maxPriority'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3281
            put: (threadClass instVarNamed: 'MAX_PRIORITY').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3282
        standardGroup instVarNamed: 'destroyed' put: 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3283
        standardGroup instVarNamed: 'daemon' put: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3284
        (standardGroup class instVarOffsetOf: 'vmAllowSuspension') notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3285
            standardGroup instVarNamed: 'vmAllowSuspension' put: 0.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3286
        ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3287
        standardGroup instVarNamed: 'nthreads' put: 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3288
        standardGroup instVarNamed: 'ngroups' put: 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3289
        standardGroup instVarNamed: 'groups' put: nil.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3290
        StandardThreadGroup := standardGroup.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3291
    ].
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3292
    ^ StandardThreadGroup
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3293
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3294
    "Created: / 03-01-1998 / 01:41:54 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3295
    "Modified: / 17-11-1998 / 22:55:30 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3296
    "Modified: / 25-04-2011 / 20:27:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3297
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3298
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3299
!JavaVM class methodsFor:'helpers - exceptions'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3300
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3301
throwAbstractMethodError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3302
    ^ self throwExceptionClassName: 'java.lang.AbstractMethodError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3303
        withMessage: 'resolving a method ref failed'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3304
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3305
    "Created: / 11-04-2011 / 20:32:53 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3306
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3307
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3308
throwArrayIndexOutOfBoundsException: badIndex
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3309
    | exClass  ex |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3310
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3311
    exClass := self classForName: 'java.lang.ArrayIndexOutOfBoundsException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3312
    ex := exClass newWith_int: badIndex.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3313
    ^ self throwException: ex
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3314
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3315
    "Created: / 14.1.1998 / 21:36:05 / cg"
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3316
    "Modified: / 20.11.1998 / 13:27:14 / cg"
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3317
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3318
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3319
throwArrayIndexOutOfBoundsException: theArray _: badIndex
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3320
    | exClass  ex |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3321
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3322
    exClass := self classForName: 'java.lang.ArrayIndexOutOfBoundsException'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3323
    ex := exClass newWith_int: badIndex.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3324
    ^ self throwException: ex
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3325
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3326
    "Modified: / 20.11.1998 / 13:27:14 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3327
    "Created: / 8.1.1999 / 15:03:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3328
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3329
581
124338be273b checkin from browser
cg
parents: 579
diff changeset
  3330
throwArrayStoreException:badArray
582
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3331
    ^ self
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3332
        throwExceptionClassName:'java.lang.ArrayStoreException'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3333
         withMessage:('bad array store: ' , badArray class printString)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3334
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3335
    "Modified: / 23-06-2011 / 09:19:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
581
124338be273b checkin from browser
cg
parents: 579
diff changeset
  3336
!
124338be273b checkin from browser
cg
parents: 579
diff changeset
  3337
530
3ad16c28ff2b checkin from browser
cg
parents: 529
diff changeset
  3338
throwClassCastException
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3339
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3340
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3341
    ^ self throwExceptionClassName: 'java.lang.ClassCastException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3342
        withMessage: 'cast failed'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3343
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3344
    "Modified: / 07-01-1998 / 15:25:35 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3345
    "Created: / 08-01-1999 / 18:55:31 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3346
    "Modified (format): / 23-10-2011 / 22:33:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
530
3ad16c28ff2b checkin from browser
cg
parents: 529
diff changeset
  3347
!
3ad16c28ff2b checkin from browser
cg
parents: 529
diff changeset
  3348
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3349
throwClassFormatError
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3350
    ^ self throwClassFormatError: 'Invalid class format'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3351
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3352
    "Created: / 04-01-1998 / 22:26:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3353
    "Modified: / 10-11-1998 / 13:20:31 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3354
    "Created: / 08-08-2011 / 17:57:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3355
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3356
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3357
throwClassFormatError: message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3358
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3359
        throwExceptionClassName:'java.lang.ClassFormatError'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3360
        withMessage: message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3361
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3362
    "Created: / 04-01-1998 / 22:26:09 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3363
    "Modified: / 10-11-1998 / 13:20:31 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3364
    "Created: / 27-10-2011 / 16:20:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3365
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3366
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3367
throwClassNotFoundException
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3368
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3369
	throwExceptionClassName:'java.lang.ClassNotFoundException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3370
	withMessage:'no such class'
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3371
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3372
    "Created: / 4.1.1998 / 22:25:26 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3373
    "Modified: / 7.1.1998 / 15:25:35 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3374
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3375
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3376
throwClassNotFoundException: className
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3377
    ^ self throwExceptionClassName: 'java.lang.ClassNotFoundException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3378
        withMessage: 'no such class: ' , className
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3379
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3380
    "Created: / 4.1.1998 / 22:26:09 / cg"
429
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  3381
    "Modified: / 10.11.1998 / 13:20:31 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3382
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3383
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3384
throwDataFormatException: message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3385
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3386
        throwExceptionClassName:'java.util.zip.DataFormatException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3387
        withMessage: message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3388
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3389
    "Created: / 16-08-2012 / 17:55:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3390
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3391
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3392
throwDivisionByZeroException
582
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3393
    DivisionByZeroExceptionDebug == true ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3394
	self halt:'division by zero'.
582
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3395
    ].
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3396
    ^ self
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3397
	throwExceptionClassName:'java.lang.ArithmeticException'
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3398
	withMessage:'division by zero'
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3399
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3400
    "Created: / 8.1.1999 / 14:28:15 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3401
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3402
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3403
throwException: aJavaException
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3404
    <resource: #skipInDebuggersWalkBack>
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3405
    | con  jMsg  msg  exClass  srchCon  handlerContext  handlerPC  method  pc  hPC handler |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3406
    ExceptionTrace ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3407
        | tmpMessage |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3408
        tmpMessage := aJavaException instVarNamed: 'detailMessage'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3409
        tmpMessage isNil ifTrue: [ tmpMessage := '' ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3410
            tmpMessage := Java as_ST_String: tmpMessage
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3411
        ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3412
        Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3413
            log: 'JAVA: exception: ' , aJavaException class fullName , ' ('
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3414
                    , tmpMessage , ')'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3415
            severity: #debug
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3416
            facility: 'JVM'
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3417
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3418
    ExceptionDebug ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3419
        "/        self internalError:('JAVA: exception: ' , aJavaException class fullName).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3420
        (ExceptionDebugPatterns isNilOrEmptyCollection
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3421
            or: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3422
                ExceptionDebugPatterns
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3423
                    anySatisfy: [:pattern | pattern match: aJavaException class fullName ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3424
            ])
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3425
                ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3426
                    self halt: ('JAVA: exceptionDebug: ' , aJavaException class fullName)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3427
                ]
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3428
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3429
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3430
    "/
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3431
    "/ search stack for a javaContext which handles that exception
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3432
    "/
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3433
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3434
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3435
    srchCon := thisContext sender.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3436
    [ handlerContext isNil and: [ srchCon notNil ] ] whileTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3437
        (srchCon isJavaContext) ifTrue: [
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3438
            method := srchCon method.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3439
            pc := srchCon pc.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3440
            (hPC := method handlerFor: aJavaException at: pc) notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3441
                handlerPC := hPC.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3442
                handlerContext := srchCon
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3443
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3444
        ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3445
            srchCon isHandleContext ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3446
                handler := srchCon receiver
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3447
                    handlerForSignal: aJavaException class context: srchCon originator:thisContext sender.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3448
                handler notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3449
                    "We have found a Smalltalk handler for Java exception here"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3450
                    handlerContext := srchCon.
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3451
                ]
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3452
            ].
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3453
        ].
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3454
        srchCon := srchCon sender.
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3455
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3456
    handlerContext isNil ifTrue: [
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3457
        "/
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3458
        "/ no JavaHandler ... let smalltalk handle it
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3459
        "/
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3460
        exClass := aJavaException class.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3461
        exClass == (self classNamed: 'java/lang/ThreadDeath') ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3462
            "/mh 1.12.11 uncaught threadDeaths are not delegated out.. Thread.stop javadoc
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3463
            ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3464
        ].
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3465
        msg := 'Java ' , exClass name.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3466
        jMsg := aJavaException instVarNamed: 'detailMessage'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3467
        jMsg notNil ifTrue: [ msg := msg , ': ' , (Java as_ST_String: jMsg). ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3468
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3469
        "/ for our convenience: skip ST contexts
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3470
        "/ (i.e. the handler or debugger will see the javaContext first )
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3471
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3472
        con := thisContext sender.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3473
        [ con isNil or: [ con isJavaContext ] ] whileFalse: [ con := con sender ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3474
        con isNil ifTrue: [ con := thisContext sender ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3475
        JavaUnhandledExceptionError
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3476
            raiseWith: aJavaException
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3477
            errorString: msg
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3478
            in: con.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3479
    ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3480
        handlerContext isJavaContext ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3481
            "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3482
            "/ found a Java exception handler
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3483
            "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3484
            handlerContext setPC: handlerPC.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3485
            handlerContext exceptionArg: aJavaException pc: handlerPC.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3486
            handlerContext markForException.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3487
            handlerContext unwindAndRestartForJavaException.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3488
            self halt: 'should not be reached'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3489
        ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3490
            | val |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3491
            "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3492
            "/ found a Smalltalk exception handler
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3493
            "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3494
            "/ First, call evaluate the handler (see GenericException>>doCallHandler:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3495
            val := handler valueWithOptionalArgument: aJavaException.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3496
            "handler fall through - is just like a #return:(aHandlerBlock value)"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3497
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3498
            "Java exceptions cannot be proceed (by design)  but they might be
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3499
            rejected (rethrown) - this is not supported yet - we need
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3500
            to somehow indicate that (kind of reject token object returned
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3501
            from handler?)"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3502
            thisContext evaluateUnwindActionsUpTo:handlerContext.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3503
            handlerContext return: val.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3504
        ].
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  3505
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3506
    Processor activeProcess == JavaScreenUpdaterThread ifTrue: [ self halt ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3507
    Processor activeProcess == JavaEventQueueThread ifTrue: [ self halt ].
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  3508
    Processor activeProcess terminate.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3509
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3510
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3511
     ExceptionTrace := true"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3512
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3513
    "Created: / 07-01-1998 / 15:28:22 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3514
    "Modified: / 24-12-1999 / 02:33:25 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3515
    "Modified: / 01-12-2011 / 18:32:58 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3516
    "Modified: / 18-03-2012 / 21:47:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3517
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3518
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3519
throwExceptionClassName: aJavaExceptionClassName withMessage: someMessage
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3520
    | exClass  ex |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3521
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3522
    exClass := self classForName: aJavaExceptionClassName asSlashedJavaClassName definedBy: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3523
    ex := exClass newWith_String: someMessage.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3524
    ^ self throwException: ex
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3525
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3526
    "Created: / 07-01-1998 / 15:25:09 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3527
    "Modified: / 14-01-1998 / 23:38:30 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3528
    "Modified: / 30-10-2011 / 17:44:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3529
    "Modified: / 02-11-2011 / 16:54:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3530
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3531
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3532
throwExceptionClassName: aJavaExceptionClassName withMessage: someMessage cause: cause
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3533
    | exClass  ex |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3534
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3535
    exClass := self classForName: aJavaExceptionClassName asSlashedJavaClassName definedBy: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3536
    ex := exClass newWith_String: someMessage.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3537
    ex instVarNamed: #cause put: cause.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3538
    ^ self throwException: ex
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3539
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3540
    "Created: / 05-07-2012 / 09:01:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3541
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3542
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3543
throwExceptionForFinallyIn: context
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3544
    "Evaluates a single finally block by fake-throwing
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3545
     FinallyToken - only evaluates a finally handler in
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3546
     given method, senders are not searched"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3547
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3548
    |method pc handlerPC token returnContext |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3549
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3550
    self assert: context isJavaContext.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3551
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3552
    method := context method.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3553
    pc := context pc.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3554
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3555
    token := JavaContext::FinallyToken new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3556
    returnContext := thisContext sender sender sender.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3557
    returnContext selector == #return: ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3558
        token
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3559
            context: context;
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3560
            selector: #return:;
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3561
            exception: returnContext receiver;
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3562
            value: (returnContext argAt:1).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3563
    ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3564
        returnContext selector == #return ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3565
            token
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3566
                context: context;
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3567
                selector: #return;
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3568
                exception: returnContext receiver;
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3569
                value: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3570
        ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3571
            self error:'Unhandled case, inform libjava developers (JV in particular)' .
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3572
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3573
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3574
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3575
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3576
    handlerPC := method handlerFor: nil at: pc.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3577
    handlerPC isNil ifTrue:[ ^ self ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3578
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3579
    context setPC: handlerPC.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3580
    context exceptionArg: token pc: handlerPC.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3581
    context markForException.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3582
    context restart.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3583
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3584
    self halt: 'should not be reached'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3585
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3586
    "Created: / 03-04-2012 / 16:56:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3587
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3588
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3589
throwExceptionInInitializerError:className
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3590
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3591
        throwExceptionClassName:'java.lang.ExceptionInInitializerError'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3592
        withMessage:'error when initializing class: ' , className
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3593
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3594
    "Created: / 24-11-2010 / 09:23:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3595
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3596
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3597
throwFileNotFoundException: message
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3598
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3599
        throwExceptionClassName:'java.io.FileNotFoundException'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3600
        withMessage: message
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3601
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3602
    "Created: / 04-01-1998 / 22:26:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3603
    "Modified: / 10-11-1998 / 13:20:31 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3604
    "Created: / 10-08-2011 / 14:19:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3605
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3606
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3607
throwIOExceptionWithMessage:message
584
9e346fcad5d9 oops - kept interrupts blocked sometimes
cg
parents: 582
diff changeset
  3608
    IOExceptionDebug == true ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3609
	self halt:'IO Exception'.
584
9e346fcad5d9 oops - kept interrupts blocked sometimes
cg
parents: 582
diff changeset
  3610
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3611
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3612
	throwExceptionClassName:'java.io.IOException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3613
	withMessage:message
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3614
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3615
    "Created: / 7.1.1998 / 10:34:24 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3616
    "Modified: / 7.1.1998 / 15:26:25 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3617
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3618
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3619
throwIllegalAccessError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3620
    ^ self throwExceptionClassName: 'java.lang.IllegalAccessError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3621
        withMessage: 'illegal access'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3622
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3623
    "Created: / 13-04-2011 / 23:07:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3624
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3625
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3626
throwIllegalAccessException
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3627
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3628
	throwExceptionClassName:'java.lang.IllegalAccessException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3629
	withMessage:'illegal access'
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3630
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3631
    "Modified: / 7.1.1998 / 15:25:35 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3632
    "Created: / 14.1.1998 / 23:13:44 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3633
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3634
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3635
throwIllegalArgumentException: message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3636
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3637
        throwExceptionClassName:'java.lang.IllegalArgumentException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3638
        withMessage: 'illegal argument: ', message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3639
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3640
    "Modified: / 07-01-1998 / 15:25:35 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3641
    "Created: / 14-01-1998 / 23:13:44 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3642
    "Created: / 07-09-2011 / 14:18:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3643
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3644
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3645
throwIllegalMonitorStateException: message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3646
    self throwExceptionClassName: 'java.lang.IllegalMonitorStateException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3647
            withMessage: message.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3648
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3649
    "Created: / 29-11-2011 / 14:21:31 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3650
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3651
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3652
throwIncompatibleClassChangeError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3653
        ^ self throwExceptionClassName: 'java.lang.IncompatibleClassChangeError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3654
                withMessage: 'illegal change'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3655
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3656
    "Created: / 11-04-2011 / 20:03:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3657
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3658
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3659
throwInstantiationException
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3660
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3661
	throwExceptionClassName:'java.lang.InstantiationException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3662
	withMessage:'cannot instantiate'
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3663
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3664
    "Modified: / 7.1.1998 / 15:25:35 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3665
    "Created: / 14.1.1998 / 23:15:01 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3666
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3667
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3668
throwInstantiationExceptionFor:aJavaClass
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3669
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3670
        throwExceptionClassName:'java.lang.InstantiationException'
691
8dcc24aeaa95 *** empty log message ***
cg
parents: 682
diff changeset
  3671
        withMessage:('cannot instantiate: ' , aJavaClass javaName)
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3672
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3673
    "Modified: / 7.1.1998 / 15:25:35 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3674
    "Created: / 14.1.1998 / 23:17:02 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3675
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3676
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3677
throwInterruptedException: message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3678
    ^ self throwExceptionClassName: 'java.lang.InterruptedException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3679
        withMessage:message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3680
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3681
    "Created: / 30-11-2011 / 12:23:44 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3682
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3683
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3684
throwInvocationTargetException: message target: target
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3685
    | exClass  ex |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3686
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3687
    exClass := self classForName: #'java/lang/reflect/InvocationTargetException' definedBy: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3688
    ex := exClass newWith_String: message.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3689
    ex instVarNamed: #target put: target.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3690
    ^ self throwException: ex
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3691
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3692
    "Created: / 05-07-2012 / 17:48:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3693
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3694
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3695
throwLinkageError: message
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3696
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3697
        throwExceptionClassName:'java.lang.LinkageError'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3698
        withMessage: message
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3699
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3700
    "Modified: / 10-11-1998 / 13:20:31 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3701
    "Created: / 26-11-2010 / 11:26:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3702
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3703
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3704
throwNegativeArraySizeException: size
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3705
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3706
        throwExceptionClassName: 'java.lang.NegativeArraySizeException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3707
        withMessage: 'negative array size: ' , size printString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3708
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3709
    "Created: / 13-05-2012 / 14:46:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3710
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3711
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3712
throwNoSuchFieldException
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3713
  ^ self throwExceptionClassName: 'java.lang.NoSuchFieldError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3714
        withMessage: 'looking up a field failed'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3715
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3716
    "Created: / 13-04-2011 / 12:16:36 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3717
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3718
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3719
throwNoSuchMethodError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3720
      ^ self throwExceptionClassName: 'java.lang.NoSuchMethodError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3721
              withMessage: 'looking up a method failed'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3722
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3723
    "Created: / 11-04-2011 / 20:33:19 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3724
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3725
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3726
throwNullPointerException
581
124338be273b checkin from browser
cg
parents: 579
diff changeset
  3727
    NullPointerExceptionDebug == true ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3728
        self halt:'Null Pointer exception'.
572
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3729
    ].
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3730
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3731
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3732
        throwExceptionClassName:'java.lang.NullPointerException'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3733
        withMessage:'null pointer'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3734
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3735
    "Created: / 09-01-1998 / 02:26:08 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3736
    "Modified: / 28-01-1998 / 02:30:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3737
    "Modified: / 13-08-2011 / 01:10:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3738
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3739
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3740
throwNullPointerException:message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3741
    NullPointerExceptionDebug == true ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3742
        self halt: 'Null Pointer exception'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3743
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3744
    ^ self throwExceptionClassName: 'java.lang.NullPointerException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3745
        withMessage: message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3746
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3747
    "Created: / 09-01-1998 / 02:26:08 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3748
    "Modified: / 28-01-1998 / 02:30:09 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3749
    "Modified: / 13-08-2011 / 01:10:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3750
    "Created: / 09-12-2011 / 11:13:40 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3751
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3752
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3753
throwNumberFormatException
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3754
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3755
	throwExceptionClassName:'java.lang.NumberFormatException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3756
	withMessage:'bad number format'
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3757
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3758
    "Modified: / 7.1.1998 / 15:25:35 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3759
    "Created: / 11.1.1998 / 16:08:22 / cg"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3760
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3761
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3762
throwOutOfMemoryError
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3763
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3764
        throwExceptionClassName:'java.lang.OutOfMemoryError'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3765
        withMessage:'Oops, out of memory!!'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3766
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3767
    "Created: / 04-01-1998 / 22:26:09 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3768
    "Modified: / 10-11-1998 / 13:20:31 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3769
    "Created: / 30-08-2011 / 09:23:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3770
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3771
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3772
throwSecurityException
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3773
    JavaClassReader classLoaderQuerySignal
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3774
        answer:  nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3775
        do: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3776
            ^ self throwExceptionClassName: 'java.lang.SecurityException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3777
                withMessage: 'trying to load class from java.lang using different class loader?'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3778
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3779
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3780
    "Created: / 01-11-2011 / 15:55:45 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3781
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3782
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3783
throwSecurityExceptionWith: message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3784
    JavaClassReader classLoaderQuerySignal answer: nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3785
        do: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3786
            ^ self throwExceptionClassName: 'java.lang.SecurityException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3787
                withMessage: 'trying to load class from java.lang: ' , message.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3788
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3789
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3790
    "Created: / 01-11-2011 / 16:28:51 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3791
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3792
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3793
throwSocketException: message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3794
    JavaClassReader classLoaderQuerySignal answer: nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3795
        do: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3796
            ^ self throwExceptionClassName: 'java.net.SocketException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3797
                withMessage: message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3798
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3799
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3800
    "Created: / 01-11-2011 / 16:28:51 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3801
    "Created: / 03-11-2011 / 23:31:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3802
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3803
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3804
throwZipException
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3805
    ^ self throwZipException:'error in opening zip file'.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3806
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3807
    "Created: / 27-03-2011 / 16:25:43 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3808
    "Modified: / 20-07-2012 / 19:15:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3809
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3810
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3811
throwZipException: message
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3812
    ^ self throwExceptionClassName: 'java.util.zip.ZipException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3813
           withMessage: 'error in opening zip file'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3814
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3815
    "Created: / 20-07-2012 / 19:15:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3816
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3817
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3818
!JavaVM class methodsFor:'helpers - io'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3819
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3820
commonOpenStreamUsing: aBlock
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3821
    "Helper for opening a stream. Catches 'too many files' open error
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3822
     and tries to GC to cleanup if necessary"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3823
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3824
    | stream retry |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3825
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3826
    retry := false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3827
    [ stream := aBlock value ] on:OpenError do:[:ex|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3828
        (ex errorCode) == (OperatingSystem errorNumberFor:#EMFILE) ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3829
            "Worst case, try to cleanup"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3830
            Logger log: 'maximum number of open files reached, forcing finalization...' severity: #warn facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3831
            [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3832
                FinalizationLobby finalizeNow.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3833
                Delay waitForSeconds: 5. "/Give Java finalization thread a chance to clean up
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3834
                ObjectMemory garbageCollect.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3835
                retry := true.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3836
                JavaVM performance printOpenExternalStreamsOn: Stderr.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3837
            ] on: Error do:[:ex|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3838
                Logger log: 'failed to force finalization: ', ex description severity: #error facility: #JVM
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3839
            ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3840
        ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3841
            ex pass.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3842
        ].
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  3843
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3844
    retry ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3845
        stream := aBlock value.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3846
        Logger log: 'good, forced finalization solved the problem' severity: #info facility: #JVM
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3847
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3848
    ^stream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3849
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3850
    "Created: / 23-07-2012 / 19:33:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3851
    "Modified: / 14-08-2012 / 02:25:06 / jv"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3852
    "Modified: / 16-01-2013 / 20:56:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3853
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3854
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3855
!JavaVM class methodsFor:'helpers - reflection'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3856
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3857
classForJavaClassObject:aJavaClassObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3858
    "given java.lang.class instance, return the real class for it."
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3859
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3860
    ^ self reflection classForJavaClassObject:aJavaClassObject
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3861
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3862
    "Created: / 23-01-1998 / 17:44:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3863
    "Modified: / 03-02-2011 / 21:33:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3864
    "Modified: / 09-02-2011 / 01:02:17 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3865
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3866
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3867
javaClassObjectForClass: aClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3868
    "given a real class, return the corresponding java.lang.class
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3869
     instance for it."
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3870
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3871
"/    | class |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3872
"/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3873
"/    "find reflection of StClass in the Java World"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3874
"/    (JavaObjectDictionary new hasReflection: aClass name) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3875
"/        class := JavaObjectDictionary new reflectionOf: aClass name
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3876
"/    ] ifFalse: [ class := aClass. ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3877
    ^ self reflection javaClassObjectForClass: aClass.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3878
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3879
    "Created: / 23-01-1998 / 17:43:38 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3880
    "Modified: / 05-12-1998 / 15:29:32 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3881
    "Modified: / 17-01-2011 / 19:24:22 / kursjan <kursjan@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3882
    "Modified: / 28-01-2011 / 14:31:25 / Marcel Hlopko <hlopik@gmail.com>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3883
    "Modified: / 31-07-2012 / 00:49:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3884
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3885
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3886
javaConstructorObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3887
    "given a real method, return the corresponding java.lang.reflect.Constructor
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3888
     instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3889
    self breakPoint:#mh info:'refactor my sender to call reflection directly'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3890
    ^ self reflection javaConstructorObjectForMethod: method.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3891
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3892
    "Modified: / 09-02-2011 / 00:58:09 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3893
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3894
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3895
javaFieldObjectForField: aJavaField in: aJavaLangClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3896
    "given a java field, return the corresponding java.lang.Field
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3897
     instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3898
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3899
        See OpenJDK7 source:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3900
        jdk7/hotspot/src/share/vm/runtime/reflection.cpp,
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3901
        oop Reflection::new_field"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3902
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3903
    | field  clazz  name  slot  type  modifiers |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3904
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3905
    clazz := aJavaLangClass.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3906
    name := self reflection javaStringObjectForString: aJavaField name
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3907
                interned: true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3908
    slot := aJavaField index.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3909
    type := self javaClassObjectForClass: aJavaField typeClass.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3910
    modifiers := aJavaField accessFlags.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3911
    field := (self classForName: 'java.lang.reflect.Field') new.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3912
    field
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3913
        instVarNamed: #clazz put: clazz;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3914
        instVarNamed: #name put: name;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3915
        instVarNamed: #slot put: slot;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3916
        instVarNamed: #type put: type;
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3917
        instVarNamed: #modifiers put: modifiers;
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3918
        yourself.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3919
    aJavaField annotations
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3920
        ifNotNil: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3921
            field instVarNamed: #annotations
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3922
                put: aJavaField annotations runtimeVisible rawAnnotations
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3923
        ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3924
    ^ field.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3925
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3926
    "Modified: / 05-12-1998 / 15:29:32 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3927
    "Created: / 22-11-2010 / 17:01:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3928
    "Modified: / 09-02-2011 / 01:06:20 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3929
    "Modified: / 01-04-2011 / 12:11:11 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3930
    "Modified: / 25-04-2011 / 20:23:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3931
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3932
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3933
javaMethodObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3934
    "given a real method, return the corresponding java.lang.reflect.Constructor
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3935
     instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3936
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3937
    ^ self reflection javaMethodObjectForMethod:method.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3938
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3939
    "Modified: / 28-02-2011 / 17:08:36 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3940
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3941
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3942
methodForJavaConstructorObject:constructor
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3943
    "given a java.lang.reflect.Constructor, return the corresponding method
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3944
     it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3945
    self breakPoint:#mh info: 'refactor my sender to call reflection directly'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3946
    ^ self reflection methodForJavaConstructorObject: constructor.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3947
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3948
    "Modified: / 09-02-2011 / 00:59:43 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3949
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3950
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3951
methodForJavaMethodObject:aJavaMethodObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3952
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3953
        Given an instance of java.lang.reflect.Method, answers
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3954
        real method associated with it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3955
   ^ self reflection methodForJavaMethodObject:aJavaMethodObject.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3956
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3957
    "Modified: / 07-02-2011 / 09:50:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3958
    "Modified: / 28-02-2011 / 16:58:05 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3959
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3960
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3961
!JavaVM class methodsFor:'monitors'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3962
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3963
getJavaMonitorFor:someObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3964
    | mon |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3965
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3966
    "/    JV@2012-04-13: Removed the critical section - this method should be called
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3967
    "/                   only when interrupts are blocked
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3968
    "/    LockTableAccess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3969
    "/        critical: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3970
    mon := LockTable at:someObject ifAbsent:nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3971
    mon isNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3972
        LockTable at:someObject put:(mon := JavaMonitor for:someObject)
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3973
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3974
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3975
"/        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3976
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3977
    ^ mon
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3978
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3979
    "Created: / 02-01-1998 / 19:01:52 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3980
    "Modified: / 30-11-2011 / 20:40:26 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3981
    "Modified: / 13-04-2012 / 00:44:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3982
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3983
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3984
monitorEnter:someObject in:aJavaContext
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3985
    | thisProcess  wasBlocked  lockWordOrJavaMonitor |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3986
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  3987
    "/ Following assesrtion no longer holds as native methods are not
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  3988
    "/ JavaMethods (they are smalltalk trampolines) and thus their
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  3989
    "/ activation does not create Java context
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  3990
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  3991
    "/ self assert:(aJavaContext isNil or:[ aJavaContext isJavaContext ]).
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3992
    someObject isNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3993
        self throwNullPointerException.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3994
        self breakPoint:#mh.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3995
        ^ self
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3996
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3997
    thisProcess := Processor activeProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3998
    MonitorTrace ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3999
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4000
            log:('MONENTER: entering monitor for %1 in %2 thread %3'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4001
                    bindWith:(self monitorFriendlyPrintStringOf:someObject)
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4002
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4003
                    with: thisProcess id)
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4004
            severity:#debug
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4005
            facility:#JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4006
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4007
    wasBlocked := OperatingSystem blockInterrupts.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4008
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4009
    "/ Fetch the lockword. If it is thinlock, iflate it
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4010
    lockWordOrJavaMonitor := someObject getJavaLockWord.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4011
    lockWordOrJavaMonitor class == SmallInteger ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4012
        self inflateLockFor: someObject lockword: lockWordOrJavaMonitor
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4013
    ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4014
        lockWordOrJavaMonitor class ~~ JavaMonitor ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4015
            self internalError: 'lockWord does not contain SmallIntefer nor JavaMonitor!!'.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4016
        ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4017
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4018
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4019
    "/ Now, we're sure that the lock is fat JavaMonitor, enter it
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4020
    self enterMonitor:someObject ofProcess:thisProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4021
"/    aJavaContext notNil ifTrue:[aJavaContext addMonitor:someObject].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4022
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4023
    wasBlocked ifFalse:[ OperatingSystem unblockInterrupts ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4024
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4025
    MonitorTrace ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4026
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4027
            log:('MONENTER: monitor entered for %1 in %2 thread %3'
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4028
                    bindWith:(self monitorFriendlyPrintStringOf:someObject)
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4029
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4030
                    with: thisProcess id)
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4031
            severity:#debug
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4032
            facility:#JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4033
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4034
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4035
    "Created: / 08-11-2011 / 15:15:43 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4036
    "Modified: / 10-03-2013 / 01:49:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4037
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4038
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4039
monitorExit: someObject in: aJavaContext
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4040
    | thisProcess  wasBlocked|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4041
"/    self assert: (aJavaContext isJavaContext).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4042
    someObject isNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4043
        self throwNullPointerException.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4044
        self breakPoint: #mh.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4045
        ^ self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4046
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4047
    thisProcess := Processor activeProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4048
    MonitorTrace ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4049
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4050
            log: ('MONEXIT: leaving monitor for %1 in %2 thread %3'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4051
                    bindWith: (self monitorFriendlyPrintStringOf: someObject)
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4052
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4053
                    with: thisProcess id)
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4054
            severity: #info
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4055
            facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4056
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4057
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4058
    wasBlocked := OperatingSystem blockInterrupts.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4059
    self leaveMonitor: someObject ofProcess: thisProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4060
"/    aJavaContext notNil ifTrue:[aJavaContext removeMonitor: someObject].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4061
    wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4062
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4063
    MonitorTrace ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4064
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4065
            log: ('MONEXIT: monitor left for %1 in %2 thread %3'
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4066
                    bindWith: (self monitorFriendlyPrintStringOf: someObject)
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4067
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4068
                    with: thisProcess id)
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4069
            severity: #info
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4070
            facility: #JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4071
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4072
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4073
    "Created: / 08-11-2011 / 15:17:03 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4074
    "Modified: / 27-08-2012 / 11:49:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4075
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4076
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4077
notify: obj
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4078
    | mon  thisProcess  wasBlocked|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4079
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4080
    wasBlocked := OperatingSystem blockInterrupts.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4081
    thisProcess := Processor activeProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4082
    mon := obj getJavaMonitor.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4083
    (mon isOwnedBy: thisProcess) ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4084
        wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4085
        self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4086
            throwIllegalMonitorStateException: 'monitor was not owned when called notify'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4087
        ^self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4088
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4089
    mon notify.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4090
    wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4091
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4092
    "Created: / 22-11-2011 / 13:26:24 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4093
    "Modified: / 26-08-2012 / 18:39:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4094
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4095
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4096
notifyAll: obj
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4097
    | mon  thisProcess  wasBlocked|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4098
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4099
    wasBlocked := OperatingSystem blockInterrupts.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4100
    thisProcess := Processor activeProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4101
    mon := obj getJavaMonitor.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4102
    (mon isOwnedBy: thisProcess) ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4103
        wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4104
        self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4105
            throwIllegalMonitorStateException: 'monitor was not owned when called notify'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4106
        ^self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4107
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4108
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4109
    mon notifyAll.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4110
    wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4111
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4112
    "Created: / 22-11-2011 / 13:26:30 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4113
    "Modified: / 26-08-2012 / 18:39:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4114
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4115
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4116
releaseMonitorsOfUnwindingContext: aJavaContext
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4117
    "Forcibly releases all monitors acquired by given context.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4118
     Use by unwind handlers"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4119
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4120
    | thisProcess  wasBlocked receiver lockWord |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4121
    MonitorTrace ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4122
        Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4123
            log: ('UNWIND HANDLER: force-leaving ',aJavaContext acquiredMonitors size printString,'monitors acquired by: ' , aJavaContext printString )
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4124
            severity: #info
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4125
            facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4126
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4127
    thisProcess := Processor activeProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4128
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4129
    wasBlocked := OperatingSystem blockInterrupts.
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4130
    "/self assert: aJavaContext method isSynchronized.
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4131
    receiver := aJavaContext receiver.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4132
    receiver notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4133
        lockWord := receiver getJavaLockWord.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4134
    ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4135
        lockWord := 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4136
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4137
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4138
    if (lockWord != __MKINT(0)) {
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4139
      __monitorExit(receiver);
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4140
    }
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4141
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4142
    wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4143
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4144
    MonitorTrace ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4145
        Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4146
            log: ('UNWIND HANDLER: leftover monitors left for ' , aJavaContext printString )
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4147
            severity: #info
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4148
            facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4149
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4150
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4151
    "Created: / 05-04-2012 / 11:35:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4152
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4153
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4154
sleepForTimeout: tmo state: state
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4155
    "wait"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4156
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4157
    | thisProcess |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4158
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4159
    thisProcess := Processor activeProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4160
    thisProcess isInterrupted ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4161
        thisProcess clearInterrupted.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4162
        self throwInterruptedException: 'process was interrupted before/during sleep !!?'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4163
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4164
    thisProcess state: state.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4165
    (Delay forMilliseconds: tmo) waitWithState: state.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4166
    thisProcess isInterrupted ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4167
        thisProcess clearInterrupted.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4168
        self throwInterruptedException: 'process was interrupted before/during sleep !!?'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4169
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4170
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4171
    "Created: / 30-12-1998 / 19:19:35 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4172
    "Modified: / 08-01-1999 / 17:29:24 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4173
    "Created: / 30-11-2011 / 11:04:27 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4174
    "Modified (format): / 26-08-2012 / 18:40:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4175
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4176
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4177
waitOn: obj forTimeout: tmo state: state
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4178
    "wait"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4179
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4180
    | wasBlocked  thisProcess  mon |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4181
    thisProcess := Processor activeProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4182
    thisProcess isInterrupted ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4183
        thisProcess clearInterrupted.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4184
        self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4185
            throwInterruptedException: 'process was interrupted before/during wait !!?'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4186
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4187
    wasBlocked := OperatingSystem blockInterrupts.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4188
    mon := obj getJavaMonitor.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4189
    (mon isOwnedBy: thisProcess) ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4190
        wasBlocked ifFalse: [ OperatingSystem unblockInterrupts ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4191
        self throwIllegalMonitorStateException: 'monitor was not owned on wait by ' , thisProcess printString.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4192
        ^self.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4193
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4194
    state notNil ifTrue: [ thisProcess state: state ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4195
    wasBlocked ifFalse: [ OperatingSystem unblockInterrupts ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4196
    mon waitForMilliseconds: tmo.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4197
    thisProcess isInterrupted ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4198
        thisProcess clearInterrupted.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4199
        self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4200
            throwInterruptedException: 'process was interrupted before/during wait !!?'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4201
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4202
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4203
    "Created: / 30-12-1998 / 19:19:35 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4204
    "Modified: / 08-01-1999 / 17:29:24 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4205
    "Created: / 22-11-2011 / 13:20:42 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4206
    "Modified: / 26-08-2012 / 18:40:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4207
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4208
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4209
!JavaVM class methodsFor:'monitors-internal'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4210
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4211
acquireMonitor: obj ofProcess: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4212
    "Acquire* (stay in the queue and get it) monitor.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4213
     *leave is the word used by jvm spec"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4214
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4215
    | mon |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4216
    mon := obj getJavaMonitor.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4217
    self assert: mon notNil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4218
    MonitorTrace ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4219
        Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4220
            log: ('acquiring monitor %1 owned by thread: %2'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4221
                    bindWith: (self monitorFriendlyPrintStringOf: obj)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4222
                    with: aProcess name)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4223
            severity: #debug
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4224
            facility: #JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4225
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4226
    mon acquire.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4227
    self assert:(mon isOwnedBy: aProcess).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4228
"/    self acquiredMonitorsOf: aProcess add: obj.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4229
"/    self assert: ((self enteredMonitorsOfProcessAt: aProcess) includes: obj).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4230
"/    self assert: ((self acquiredMonitorsOfProcessAt: aProcess) includes: obj).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4231
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4232
    "Created: / 17-11-2011 / 19:01:58 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4233
    "Modified: / 27-08-2012 / 23:24:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4234
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4235
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4236
acquireMonitorAndNotifyAll: handle
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4237
    | mon |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4238
    mon := handle getJavaMonitor.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4239
    mon enter.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4240
    self notifyAll: handle.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4241
    mon exit.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4242
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4243
    "Created: / 29-11-2011 / 14:24:04 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4244
    "Modified: / 27-08-2012 / 01:06:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4245
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4246
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4247
acquireMonitorsOfProcess: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4248
    "will try to acquire all entered monitors of process"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4249
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4250
    | enteredMonitors |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4251
    (self hasEnteredMonitorsOfProcess: aProcess) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4252
        enteredMonitors := self copyEnteredMonitorsOfProcessAt: aProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4253
        self assert: enteredMonitors notNil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4254
        enteredMonitors do: [:each | self acquireMonitor: each ofProcess: aProcess. ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4255
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4256
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4257
    "Created: / 17-11-2011 / 17:16:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4258
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4259
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4260
acquiredMonitorsOf: aProcess add: anyObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4261
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4262
    ^ (self acquiredMonitorsOfProcess: aProcess) add: anyObject.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4263
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4264
    "Modified: / 08-01-1999 / 14:02:15 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4265
    "Created: / 17-11-2011 / 18:29:16 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4266
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4267
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4268
acquiredMonitorsOf: aProcess remove: anyObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4269
"/    self assert: ((self acquiredMonitorsOfProcess: aProcess) includes: anyObject).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4270
    MonitorTrace ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4271
        self assert: ((self acquiredMonitorsOfProcess: aProcess) last first == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4272
    ] ifFalse:[
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4273
        self assert: ((self acquiredMonitorsOfProcess: aProcess) last == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4274
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4275
    (self acquiredMonitorsOfProcess: aProcess) removeLast.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4276
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4277
    "Modified: / 08-01-1999 / 14:02:15 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4278
    "Created: / 17-11-2011 / 18:40:29 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4279
    "Modified: / 11-04-2012 / 23:37:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4280
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4281
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4282
acquiredMonitorsOfProcess: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4283
    ^ AcquiredMonitorsPerProcess at: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4284
        ifAbsent: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4285
            | monitors |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4286
            monitors := OrderedCollection new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4287
            AcquiredMonitorsPerProcess at: aProcess put: monitors.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4288
            monitors
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4289
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4290
            .
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4291
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4292
    "Created: / 17-11-2011 / 18:29:09 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4293
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4294
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4295
acquiredMonitorsOfProcessAt: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4296
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4297
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4298
    ^ AcquiredMonitorsPerProcess at: aProcess ifAbsent: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4299
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4300
    "Created: / 08-01-1999 / 14:02:02 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4301
    "Created: / 17-11-2011 / 17:03:22 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4302
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4303
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4304
copyAcquiredMonitorsOfProcessAt: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4305
    "does not create empty collection like enteredMonitorsOfProcess"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4306
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4307
    ^ (AcquiredMonitorsPerProcess at: aProcess ifAbsent: nil) copy.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4308
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4309
    "Created: / 08-01-1999 / 14:02:02 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4310
    "Created: / 17-11-2011 / 19:23:42 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4311
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4312
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4313
copyEnteredMonitorsOfProcessAt: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4314
    "does not create empty collection like enteredMonitorsOfProcess"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4315
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4316
    ^ (EnteredMonitorsPerProcess at: aProcess ifAbsent: nil) copy.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4317
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4318
    "Created: / 08-01-1999 / 14:02:02 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4319
    "Created: / 17-11-2011 / 19:22:43 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4320
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4321
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4322
countAcquiredMonitorsOfProcess: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4323
    | acquiredMonitors |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4324
    acquiredMonitors := self acquiredMonitorsOfProcessAt: aProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4325
    ^ acquiredMonitors isNil ifTrue: [ 0 ] ifFalse: [ acquiredMonitors size ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4326
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4327
    "Created: / 17-11-2011 / 18:23:49 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4328
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4329
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4330
countEnteredMonitorsOfProcess: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4331
    | enteredMonitors |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4332
    enteredMonitors := self enteredMonitorsOfProcessAt: aProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4333
    ^ enteredMonitors isNil ifTrue: [ 0 ] ifFalse: [ enteredMonitors size ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4334
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4335
    "Created: / 17-11-2011 / 17:14:14 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4336
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4337
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4338
enterMonitor: obj ofProcess: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4339
    "registers itself as one of processes wanting monitor and then tries to acquire it."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4340
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4341
    | mon objInLists |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4342
    MonitorTrace ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4343
        MonitorTraceId := MonitorTraceId + 1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4344
        objInLists := { obj . MonitorTraceId }
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4345
    ] ifFalse:[
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4346
        objInLists := obj
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4347
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4348
"/    self enteredMonitorsOf: aProcess add: objInLists.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4349
    mon := obj  getJavaMonitor.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4350
    self assert: mon notNil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4351
    MonitorTrace ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4352
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4353
        Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4354
            log: ('[trace id %3] Entering monitor %1 owned by thread: %2'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4355
                    bindWith: (self monitorFriendlyPrintStringOf: obj)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4356
                    with: aProcess id
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4357
                    with: '???' "MonitorTraceId")
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4358
            severity: #trace
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4359
            facility: #JVM
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4360
            originator: self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4361
            "/attachment: thisContext fullPrintAllString
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4362
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4363
    mon enter.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4364
    self assert: (mon isOwnedBy: aProcess).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4365
"/    self acquiredMonitorsOf: aProcess add: objInLists.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4366
"/    self assert: ((self enteredMonitorsOfProcessAt: aProcess) includes: objInLists).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4367
"/    self assert: ((self acquiredMonitorsOfProcessAt: aProcess) includes: objInLists).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4368
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4369
    "Created: / 17-11-2011 / 19:03:43 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4370
    "Modified: / 27-08-2012 / 23:21:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4371
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4372
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4373
enteredMonitorsOf: aProcess add: anyObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4374
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4375
    ^ (self enteredMonitorsOfProcess: aProcess) addLast: anyObject.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4376
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4377
    "Modified: / 08-01-1999 / 14:02:15 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4378
    "Created: / 17-11-2011 / 16:25:04 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4379
    "Modified: / 13-04-2012 / 01:05:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4380
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4381
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4382
enteredMonitorsOf: aProcess remove: anyObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4383
"/    self assert: ((self enteredMonitorsOfProcess: aProcess) includes: anyObject).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4384
"/    self assert: ((self enteredMonitorsOfProcess: aProcess) last == anyObject).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4385
    MonitorTrace ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4386
        self assert: ((self enteredMonitorsOfProcess: aProcess) last first == anyObject).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4387
    ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4388
        self assert: ((self enteredMonitorsOfProcess: aProcess) last == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4389
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4390
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4391
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4392
    (self enteredMonitorsOfProcess: aProcess) removeLast.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4393
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4394
    "Modified: / 08-01-1999 / 14:02:15 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4395
    "Created: / 17-11-2011 / 18:40:45 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4396
    "Modified: / 11-04-2012 / 23:37:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4397
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4398
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4399
enteredMonitorsOfProcess: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4400
    ^ EnteredMonitorsPerProcess at: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4401
        ifAbsent: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4402
            | monitors |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4403
            monitors := OrderedCollection new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4404
            EnteredMonitorsPerProcess at: aProcess put: monitors.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4405
            monitors
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4406
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4407
            .
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4408
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4409
    "Created: / 08-01-1999 / 14:02:02 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4410
    "Modified: / 17-11-2011 / 19:22:26 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4411
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4412
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4413
enteredMonitorsOfProcessAt: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4414
    "does not create empty collection like enteredMonitorsOfProcess"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4415
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4416
    ^ EnteredMonitorsPerProcess at: aProcess ifAbsent: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4417
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4418
    "Created: / 08-01-1999 / 14:02:02 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4419
    "Created: / 16-11-2011 / 15:37:58 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4420
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4421
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4422
exitOwnedMonitorsOfProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4423
   |thisProcess monitors|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4424
   thisProcess := Processor activeProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4425
   monitors := self acquiredMonitorsOfProcess: thisProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4426
   monitors do: [:each | self assert: (each isOwnedBy:thisProcess).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4427
    each exit.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4428
    ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4429
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4430
    "Created: / 05-12-2011 / 21:15:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4431
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4432
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4433
has: aProcess enteredMonitorFor: anyObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4434
    ^ (self enteredMonitorsOfProcess: aProcess) includes: anyObject.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4435
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4436
    "Created: / 17-11-2011 / 16:28:44 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4437
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4438
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4439
hasAcquiredMonitorsOfProcess: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4440
   | acquiredMonitors |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4441
   acquiredMonitors := self acquiredMonitorsOfProcessAt: aProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4442
   ^ acquiredMonitors isNil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4443
   ifTrue: [ false ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4444
           ifFalse: [ acquiredMonitors size > 0 ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4445
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4446
    "Created: / 17-11-2011 / 17:07:01 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4447
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4448
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4449
hasEnteredMonitorsOfProcess: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4450
   | enteredMonitors |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4451
   enteredMonitors := self enteredMonitorsOfProcessAt: aProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4452
   ^ enteredMonitors isNil ifTrue: [ false ] ifFalse: [ enteredMonitors size > 0].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4453
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4454
    "Created: / 17-11-2011 / 17:09:57 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4455
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4456
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4457
inflateLockFor: obj lockword: lw
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4458
     | threadId count mon |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4459
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4460
    threadId = __MKINT(__LOCKWORD_TID_GET(lw));
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4461
    count =    __MKINT(__LOCKWORD_CNT_GET(lw));
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4462
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4463
    ^ JavaMonitor for: obj thread: threadId nestedLockCount: count.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4464
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4465
    "Modified (format): / 27-08-2012 / 15:34:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4466
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4467
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4468
leaveMonitor: obj ofProcess: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4469
    "Leave* (release and never come back, exit) monitor owned by given project.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4470
     *leave is the word used by jvm spec"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4471
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4472
    | mon |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4473
    mon := obj getJavaMonitor.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4474
    self assert: mon notNil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4475
    "/self assert: (mon isOwnedBy: aProcess).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4476
    MonitorTrace ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4477
        Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4478
        log: ('[trace id %3] leaving monitor %1 owned by thread: %2 '
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4479
                bindWith: (self monitorFriendlyPrintStringOf: obj)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4480
                with: aProcess name
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4481
                with: '???' "(self enteredMonitorsOfProcess: aProcess) last second")
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4482
        severity: #trace
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4483
        facility: #JVM
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4484
        originator: self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4485
        "/attachment: thisContext fullPrintAllString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4486
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4487
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4488
    mon exit.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4489
"/    self acquiredMonitorsOf: aProcess remove: obj.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4490
"/    self enteredMonitorsOf: aProcess remove: obj.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4491
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4492
    "Created: / 17-11-2011 / 18:46:33 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4493
    "Modified: / 27-08-2012 / 23:22:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4494
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4495
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4496
leaveMonitorsOfProcess: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4497
    "Leave* (release and never come back, exit) all monitors owned by given project.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4498
     Called when cleaning up after process death or when handling smalltalk (non-java) exceptions
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4499
     (such an exception in native method)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4500
     *leave is the word used by jvm spec"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4501
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4502
    | monitors |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4503
    monitors := EnteredMonitorsPerProcess at: aProcess ifAbsent: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4504
    monitors notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4505
        monitors do: [:obj |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4506
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4507
            | mon |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4508
            mon := obj getJavaMonitor.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4509
            mon notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4510
                (mon isOwnedBy: aProcess) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4511
                    Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4512
                        log: ('leaving monitor owned by dying thread: ' , aProcess name)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4513
                        severity: #info
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4514
                        facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4515
                    self breakPoint: #jv.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4516
                    mon exit
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4517
                ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4518
            ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4519
        ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4520
        EnteredMonitorsPerProcess removeKey: aProcess.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4521
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4522
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4523
    "Created: / 17-11-2011 / 16:51:28 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4524
    "Modified (format): / 27-08-2012 / 11:37:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4525
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4526
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4527
monitorExit: someObject in: aJavaContext ifOwnedBy: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4528
    | monitor |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4529
    monitor := someObject getJavaMonitor.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4530
    (monitor isOwnedBy: aProcess) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4531
        self monitorExit: someObject in: aJavaContext
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4532
    ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4533
        MonitorTrace ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4534
            Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4535
                log: ('%1 trying to exit monitor for %2, but it does not own it. Ignoring'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4536
                        bindWith: aProcess name
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4537
                        with: (self monitorFriendlyPrintStringOf: someObject))
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4538
                severity: #debug
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4539
                facility: #JVM
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4540
        ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4541
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4542
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4543
    "Created: / 17-11-2011 / 21:17:57 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4544
    "Modified: / 26-08-2012 / 20:00:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4545
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4546
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4547
monitorFriendlyPrintStringOf: someObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4548
    | objString |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4549
    someObject isJavaClass ifTrue: [ objString := someObject name ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4550
        objString := someObject class name , '@'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4551
                    , someObject identityHash printString.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4552
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4553
    ^ objString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4554
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4555
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4556
releaseMonitor: obj ofProcess: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4557
    "Release* (let go and wait for it again) monitor owned by given project.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4558
     *word used by jvm spec"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4559
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4560
    | mon |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4561
    mon := obj getJavaMonitor.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4562
    self assert: mon notNil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4563
    self assert: (mon isOwnedBy: aProcess).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4564
    MonitorTrace ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4565
        Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4566
            log: ('releasing monitor %1 owned by thread: %2'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4567
                    bindWith: (self monitorFriendlyPrintStringOf: obj)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4568
                    with: aProcess name)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4569
            severity: #debug
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4570
            facility: #JVM.
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4571
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4572
    mon release.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4573
    self acquiredMonitorsOf: aProcess remove: obj.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4574
"/    self assert: ((self enteredMonitorsOfProcessAt: aProcess) includes: obj).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4575
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4576
    "Created: / 17-11-2011 / 18:51:00 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4577
    "Modified: / 27-08-2012 / 23:24:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4578
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4579
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4580
releaseMonitorsOfProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4581
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4582
    self releaseMonitorsOfProcess: Processor activeProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4583
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4584
    "Created: / 04-11-2011 / 22:15:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4585
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4586
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4587
releaseMonitorsOfProcess: aProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4588
    "Releases* all monitors owned by given project.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4589
     Monitor can be acquired again, (aProcess going into WAIT)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4590
     *word used by jvm spec"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4591
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4592
    | monitors |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4593
    monitors := self copyAcquiredMonitorsOfProcessAt: aProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4594
    monitors notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4595
        monitors do: [:obj | self releaseMonitor: obj ofProcess: aProcess. ].
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4596
    ].
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4597
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4598
    "Created: / 04-11-2011 / 22:15:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4599
    "Modified: / 17-11-2011 / 21:29:17 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4600
    "Modified (comment): / 05-12-2011 / 21:13:29 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4601
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4602
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4603
unwindHandlerForJavaContext: aJavaContext
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4604
    "given a context which has been marked for unwind,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4605
     retrieve the handler block. This method is called when ST
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4606
     exception raises and stack is unwinding. JavaClass instance
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4607
     has an opportunity to clean up monitors"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4608
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4609
    ^ [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4610
        | thisProcess |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4611
        aJavaContext shouldExecuteFinallyOnUnwind ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4612
            self throwExceptionForFinallyIn: aJavaContext
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4613
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4614
        self releaseMonitorsOfUnwindingContext: aJavaContext.
544
18535acdec91 checkin from browser
cg
parents: 541
diff changeset
  4615
    ].
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4616
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4617
    "Created: / 08-11-2011 / 12:30:19 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4618
    "Modified: / 17-11-2011 / 21:33:17 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4619
    "Modified: / 10-04-2012 / 11:08:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4620
! !
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4621
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4622
!JavaVM class methodsFor:'monitors-obsolete'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4623
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4624
waitFor: sema state: pState timeOut: tmo
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4625
    "wait"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4626
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4627
    | wasBlocked  thisProcess  releasedCount  acquiredCount |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4628
    thisProcess := Processor activeProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4629
    wasBlocked := OperatingSystem blockInterrupts.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4630
    releasedCount := self countAcquiredMonitorsOfProcess: thisProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4631
    (self hasAcquiredMonitorsOfProcess: thisProcess) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4632
        MonitorTrace ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4633
            Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4634
                log: thisProcess name , ' going into WAIT - releasing '
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4635
                        , (self countAcquiredMonitorsOfProcess: thisProcess) printString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4636
                            , ' monitors'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4637
                severity: #debug
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4638
                facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4639
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4640
        self releaseMonitorsOfProcess: thisProcess.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4641
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4642
    wasBlocked ifFalse: [ OperatingSystem unblockInterrupts ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4643
    pState notNil ifTrue: [ thisProcess state: pState ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4644
    sema isNil ifTrue: [ Delay waitForMilliseconds: tmo ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4645
        (tmo isNil or: [ tmo = 0 ]) ifTrue: [ sema wait. ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4646
            sema waitWithTimeout: tmo / 1000.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4647
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4648
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4649
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4650
    "/ re-enter monitors.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4651
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4652
    (self hasEnteredMonitorsOfProcess: thisProcess) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4653
        wasBlocked := OperatingSystem blockInterrupts.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4654
        Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4655
            log: thisProcess name , ' has been notified - trying to acquire '
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4656
                    , (self countEnteredMonitorsOfProcess: thisProcess) printString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4657
                        , ' monitors'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4658
            severity: #debug
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4659
            facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4660
        self acquireMonitorsOfProcess: thisProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4661
        acquiredCount := self countAcquiredMonitorsOfProcess: thisProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4662
        self assert: acquiredCount = releasedCount.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4663
        wasBlocked ifFalse: [ OperatingSystem unblockInterrupts ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4664
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4665
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4666
    "Created: / 30-12-1998 / 19:19:35 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4667
    "Modified: / 08-01-1999 / 17:29:24 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4668
    "Modified: / 20-11-2011 / 12:36:47 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
  4669
! !
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
  4670
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4671
!JavaVM class methodsFor:'native - java.lang'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4672
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4673
_java_lang_System_arraycopy: nativeContext
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4674
    "Forward here as optimized code delegates to  JavaVM"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4675
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4676
    ^ NativeMethodsImplementation _java_lang_System_arraycopy: nativeContext receiver _:(nativeContext argAt:1) _: (nativeContext argAt:2) _: (nativeContext argAt:3) _: (nativeContext argAt:4) _: (nativeContext argAt:5) 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4677
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4678
    "Modified: / 21-01-2013 / 09:18:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4679
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4680
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4681
!JavaVM class methodsFor:'others'!
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4682
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4683
version_HG
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4684
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4685
    ^ '$Changeset: <not expanded> $'
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4686
! !
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4687
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4688
!JavaVM class methodsFor:'queries'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4689
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4690
booted
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4691
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4692
    | jVM |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4693
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4694
    "/Slightly faster variant of the code below
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4695
    ^SystemClassLoader notNil and:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4696
        jVM := JavaVM classNamed: 'sun.misc.VM'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4697
        jVM notNil and: [ (jVM instVarNamed: #booted) == 1 ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4698
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4699
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4700
"/    jVM := JavaVM classNamed: 'sun.misc.VM'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4701
"/    ^ jVM notNil and: [ (jVM instVarNamed: #booted) == 1 ] and: [self systemClassLoader notNil].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4702
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4703
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4704
     JavaVM booted"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4705
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4706
    "Created: / 08-08-2011 / 10:04:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4707
    "Modified: / 02-11-2011 / 22:08:53 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4708
    "Modified: / 04-12-2011 / 10:32:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
572
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  4709
! !
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  4710
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4711
!JavaVM class methodsFor:'threads'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4712
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4713
clearInterrupted: process
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4714
    ThreadInterrupts removeKey: process ifAbsent: []
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4715
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4716
    "Created: / 16-08-2012 / 22:03:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4717
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4718
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4719
isInterrupted: process
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4720
    ^ThreadInterrupts at: process ifAbsent:[false].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4721
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4722
    "Created: / 16-08-2012 / 22:05:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4723
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4724
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4725
park: process timeout: tout
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4726
    "A helper for sun.misc.Unsafe.park()"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4727
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4728
    | blocked sema |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4729
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4730
    blocked := OperatingSystem blockInterrupts.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4731
    ParkUnparkSemaphores isNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4732
        ParkUnparkSemaphores := Dictionary new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4733
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4734
    sema := ParkUnparkSemaphores at: process ifAbsentPut:[Semaphore new].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4735
    blocked ifFalse:[ OperatingSystem unblockInterrupts ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4736
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4737
    Logger log: 'parking thread ', process printString severity: #debug facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4738
    sema parkWithTimeoutMs: tout.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4739
    Logger log: 'parked thread ', process printString , ' resumed' severity: #debug facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4740
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4741
    "Created: / 16-08-2012 / 21:51:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4742
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4743
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4744
setInterrupted: process
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4745
    ThreadInterrupts at: process put: true
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4746
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4747
    "Created: / 16-08-2012 / 22:03:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4748
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4749
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4750
terminateAllThreads
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4751
    Java terminateAllThreads.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4752
    JavaEventThread := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4753
    JavaScreenUpdaterThread := JavaEventQueueThread := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4754
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4755
    "Created: / 8.1.1998 / 17:43:54 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4756
    "Modified: / 24.12.1999 / 02:33:16 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4757
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4758
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4759
threadStart: nativeContext
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4760
    "start the thread"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4761
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4762
    | jThread  jName  nm  stProcess  helper |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4763
    jThread := nativeContext receiver.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4764
    self assert: (jThread instVarNamed: 'priority') > 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4765
    stProcess := JavaProcess for: (helper := JavaProcess newHelper)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4766
                priority: (Processor activePriority).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4767
    helper javaThreadObject: jThread.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4768
    helper javaProcess: stProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4769
    jName := jThread instVarNamed: 'name'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4770
    jName isString ifFalse: [ nm := Java as_ST_String: jName. ] ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4771
        nm := jName
520
64e7e53cdfac checkin from browser
cg
parents: 519
diff changeset
  4772
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4773
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4774
    "/ kludge - remember the ScreenUpdater ...
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4775
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4776
    nm = 'Screen Updater' ifTrue: [ JavaScreenUpdaterThread := stProcess. ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4777
        nm = 'AWT-Windows' ifTrue: [ JavaEventThread := stProcess. ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4778
            (nm startsWith: 'AWT-EventQueue') ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4779
                JavaEventQueueThread := stProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4780
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4781
        ]
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  4782
    ].
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  4783
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4784
    "/ when that process terminates, wakup any waiters
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4785
    "/mh 29.11.11 this makes join work
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4786
    "/mh 30.11.11 disable wait is to ensure that join can be called on thread after its finished and dont wait forever"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4787
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4788
    stProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4789
        addExitAction: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4790
            Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4791
                log: ('%1 is going to die, notifying all waiters and disabling waiting on its monitor'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4792
                        bindWith: jThread printString)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4793
                severity: #debug
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4794
                facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4795
            jThread instVarNamed: 'threadStatus' put: 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4796
            jThread getJavaMonitor disableWait.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4797
            self acquireMonitorAndNotifyAll: jThread.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4798
            ThreadInterrupts notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4799
                ThreadInterrupts removeKey: stProcess ifAbsent:[]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4800
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4801
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4802
    stProcess name: 'JAVA-' , nm.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4803
    stProcess restartable: true.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4804
    jThread instVarNamed: 'threadStatus' put: 1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4805
    Java addThread: jThread for: stProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4806
    stProcess resume.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4807
    ^ nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4808
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4809
    "Modified: / 24-12-1999 / 03:14:33 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4810
    "Created: / 14-12-2010 / 21:31:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4811
    "Modified: / 09-12-2011 / 12:58:31 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4812
    "Modified: / 03-09-2012 / 18:42:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4813
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4814
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4815
unpark: process
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4816
    "A helper for sun.misc.Unsafe.unpark()"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4817
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4818
    | blocked sema |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4819
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4820
    blocked := OperatingSystem blockInterrupts.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4821
    ParkUnparkSemaphores isNil ifTrue:[ParkUnparkSemaphores dictionary new].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4822
    sema := ParkUnparkSemaphores at: process ifAbsentPut:[Semaphore new].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4823
    blocked ifFalse:[ OperatingSystem unblockInterrupts ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4824
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4825
    Logger log: 'unparking thread ', process printString severity: #debug facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4826
    sema signal.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4827
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4828
    "Created: / 16-08-2012 / 21:52:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4829
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4830
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4831
!JavaVM class methodsFor:'vm support'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4832
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4833
_ANEWARRAY:cls _:size
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4834
    "Returns a new array of elements of type class."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4835
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4836
    self assert: cls isBehavior.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4837
    size <  0 ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4838
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4839
                         withMessage:'negative array size not allowed'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4840
        ^nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4841
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4842
    self assert:cls javaArrayClass isJavaArrayClass.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4843
    ^ cls javaArrayClass new:size
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4844
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4845
    "Created: / 17-12-2010 / 14:28:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4846
    "Modified: / 22-11-2011 / 09:46:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4847
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4848
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4849
_ARRAYLENGTH:arr
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  4850
    arr isNil ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4851
        "/self halt:'should not happen'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4852
        self throwNullPointerException.
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  4853
    ].
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4854
    ^ arr size
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4855
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4856
    "Created: / 08-01-1999 / 14:38:27 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4857
    "Modified: / 31-05-2011 / 10:09:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4858
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4859
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  4860
_ATHROW:aJavaException
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4861
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4862
    <resource: #skipInDebuggersWalkBack>
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4863
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  4864
    aJavaException isNil ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4865
        self halt:'cannot happen'
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  4866
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4867
    "When an exception is handled in Smalltalk code and the stack is
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4868
     being unwound, then all intermediate Java finally blocks are executed.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4869
     This is done by fake-throwing special FinallyToken, as there must an
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4870
     exception instance for Java. A Java compiler compiles unconditional
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4871
     ATHROW at the end of finally block to pass execution to another handler.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4872
     We don't want to do so, in case we're manually invoking finally blocks.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4873
     Hence following hack: we teleport back to handler caller"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4874
    aJavaException class == JavaContext::FinallyToken ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4875
        aJavaException pass.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4876
        self halt:'Should never be reached'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4877
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4878
    self throwException:aJavaException
519
0df8dbbb5a7a checkin from browser
cg
parents: 518
diff changeset
  4879
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4880
    "Created: / 08-01-1999 / 14:15:36 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4881
    "Modified: / 08-11-2011 / 16:32:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4882
    "Modified: / 09-04-2012 / 21:00:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4883
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4884
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4885
_CHECKCAST2: object _: classRef
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4886
    "Called by the VM (java bytecode interpreter) for unhandled cases.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4887
     Unlike in _CHECKCAST:_: the second parameter is a class reference,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4888
     not the class itself!! Will wanish!!"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4889
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4890
    | class |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4891
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4892
    classRef isJavaRef ifTrue: [ class := classRef resolve ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4893
        self error: 'I expected classRefs only - maybe I was wrong'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4894
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4895
    (object isNil or: [ (self canCast: object class to: class) not ]) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4896
        self breakPoint: #mh.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4897
        self throwClassCastException.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4898
        ^ false
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4899
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4900
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4901
    ^ true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4902
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4903
    "Created: / 19-05-2011 / 10:12:23 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4904
    "Modified (comment): / 09-10-2012 / 11:56:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4905
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4906
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4907
_CHECKCAST: object _: class
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4908
    "Called from the JIT-compiled code for unhandled cases.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4909
     Unlike in _CHECKCAST2:_: the second parameter is a class,,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4910
     not a class class reference!!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4911
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4912
     This method *MUST* return the object for this may lead
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4913
     into GC. See ___checkcast() VM function
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4914
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4915
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4916
    (self canCast: object class to: class) ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4917
        self throwClassCastException.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4918
        ^ nil "Not reached"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4919
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4920
    ^ object
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4921
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4922
    "Created: / 08-01-1999 / 14:53:51 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4923
    "Modified: / 09-01-1999 / 00:45:21 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4924
    "Modified: / 09-10-2012 / 11:53:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4925
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4926
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4927
_D2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4928
    |v|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4929
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4930
    v := op1 asInteger.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4931
    v > 16r7FFFFFFF ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4932
	self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4933
	v := 16r7FFFFFFF
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4934
    ] ifFalse:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4935
	v < 16r80000000 negated ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4936
	    self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4937
	    v := 16r80000000 negated
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4938
	]
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4939
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4940
    ^ v
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4941
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4942
    "Modified: / 17.10.1998 / 21:55:49 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4943
    "Created: / 8.1.1999 / 14:47:13 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4944
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4945
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4946
_D2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4947
    |v|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4948
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4949
    v := op1 asInteger.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4950
    v > 16r7FFFFFFFFFFFFFFF ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4951
	self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4952
	v := 16r7FFFFFFFFFFFFFFF
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4953
    ] ifFalse:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4954
	v < 16r8000000000000000 negated ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4955
	    self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4956
	    v := 16r8000000000000000 negated
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4957
	]
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4958
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4959
    ^ v
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4960
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4961
    "Modified: / 17.10.1998 / 21:55:49 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4962
    "Created: / 8.1.1999 / 14:46:44 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4963
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4964
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4965
_DADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4966
    ^ op1 asFloat + op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4967
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4968
    "Created: / 8.1.1999 / 15:11:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4969
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4970
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4971
_DDIV:op1 _:op2
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4972
    ^ op1 asFloat uncheckedDivide: op2 asFloat.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4973
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4974
    "Created: / 08-01-1999 / 15:09:10 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4975
    "Modified: / 06-09-2011 / 19:31:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4976
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4977
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4978
_DMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4979
    ^ op1 asFloat * op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4980
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4981
    "Created: / 8.1.1999 / 14:49:52 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4982
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4983
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4984
_DNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4985
    ^ op asFloat negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4986
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4987
    "Created: / 8.1.1999 / 15:06:15 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4988
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4989
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4990
_DSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4991
    ^ op1 asFloat - op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4992
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4993
    "Created: / 8.1.1999 / 15:10:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4994
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4995
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4996
_F2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4997
    ^ self _D2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4998
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4999
    "Created: / 8.1.1999 / 14:47:42 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5000
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5001
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5002
_F2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5003
    ^ self _D2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5004
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5005
    "Created: / 8.1.1999 / 14:47:53 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5006
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5007
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5008
_FADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5009
    ^ op1 asShortFloat + op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5010
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5011
    "Created: / 8.1.1999 / 15:11:36 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5012
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5013
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5014
_FDIV:op1 _:op2
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5015
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5016
    op1 isZero ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5017
        op2 isZero ifTrue:[ ^ Float NaN ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5018
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5019
    op2 isZero ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5020
        ^ Float infinity
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5021
    ].
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5022
    ^ op1 asShortFloat / op2 asShortFloat.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5023
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5024
    "Created: / 08-01-1999 / 15:09:32 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5025
    "Modified: / 06-07-2012 / 13:12:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5026
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5027
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5028
_FMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5029
    ^ op1 asShortFloat * op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5030
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5031
    "Created: / 8.1.1999 / 14:50:10 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5032
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5033
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5034
_FNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5035
    ^ op asShortFloat negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5036
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5037
    "Created: / 8.1.1999 / 15:06:33 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5038
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5039
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5040
_FSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5041
    ^ op1 asShortFloat - op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5042
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5043
    "Created: / 8.1.1999 / 15:08:17 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5044
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5045
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5046
_INSTANCEOF:object _:class
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5047
    "Called from the jitted code for unhandled cases.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5048
     Unlike in _INSTANCEOF_R:_: the second parameter is a class,,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5049
     not a class class reference!!"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5050
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5051
    object isNil ifTrue:[^0].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5052
    ^(self canCast: object class to: class)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5053
        ifTrue:[1]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5054
        ifFalse:[0]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5055
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5056
    "Created: / 08-01-1999 / 14:52:54 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5057
    "Modified: / 27-01-1999 / 20:56:25 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5058
    "Modified: / 09-10-2012 / 11:55:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5059
    "Modified (comment): / 15-10-2012 / 21:51:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5060
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5061
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5062
_INSTANCEOF_R: object _: classRef
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5063
    "Called by the VM (java bytecode interpreter) for unhandled cases.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5064
     Unlike _INSTANCEOF:_: the second parameter is a class reference,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5065
     not the class itself!! Will wanish!!"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5066
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5067
    | class |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5068
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5069
    classRef isJavaRef ifFalse: [self error: 'expected only classRefs - maybe I was wrong'].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5070
    class := classRef resolve.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5071
    object isNil ifTrue: [ ^ 0 ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5072
    ^ (self canCast: object class to: class) ifTrue: [ 1 ] ifFalse: [ 0 ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5073
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5074
    "Created: / 15-10-2012 / 21:51:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5075
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5076
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5077
_L2D:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5078
    ^ op1 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5079
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5080
    "Created: / 8.1.1999 / 14:46:09 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5081
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5082
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5083
_L2F:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5084
    ^ op1 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5085
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5086
    "Created: / 8.1.1999 / 14:46:18 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5087
    "Modified: / 8.1.1999 / 14:50:18 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5088
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5089
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5090
_LADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5091
    |sum|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5092
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5093
    sum := (op1 + op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5094
    ^ sum
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5095
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5096
    "Created: / 8.1.1999 / 15:07:39 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5097
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5098
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5099
_LAND:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5100
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5101
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5102
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5103
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5104
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5105
    rslt := op1 bitAnd: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5106
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5107
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5108
    "Modified: / 7.1.1998 / 21:21:53 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5109
    "Created: / 8.1.1999 / 14:54:22 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5110
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5111
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5112
_LDC_R: ref
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5113
    "Called by JIT-compiled code for non-constant
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5114
     reference (StringRef or ClassRef"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5115
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5116
    ^ref isJavaClassRef ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5117
        self javaClassObjectForClass: ref resolve
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5118
    ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5119
        ref resolve
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5120
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5121
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5122
    "Created: / 16-10-2012 / 09:34:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5123
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5124
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5125
_LDIV:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5126
    |quo|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5127
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5128
    quo := op1 quo: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5129
    ^ quo
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5130
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5131
    "Created: / 8.1.1999 / 15:04:47 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5132
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5133
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5134
_LMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5135
    |prod o1 o2 sign|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5136
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5137
"/ self halt.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5138
    "/ ST's largeIntegers compute a correct result;
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5139
    "/ but here, we want the overflow to flow into the
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5140
    "/ sign bit ... (sigh)
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5141
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5142
    sign := 1.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5143
    (o1 := op1) < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5144
	sign := -1.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5145
	o1 := o1 negated.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5146
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5147
    (o2 := op2) < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5148
	sign := sign negated.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5149
	o2 := o2 negated.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5150
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5151
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5152
    prod := (o1 * o2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5153
    (prod bitAnd:16r8000000000000000) ~~ 0 ifTrue:[
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5154
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5155
    sign == -1 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5156
	prod := prod negated
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5157
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5158
    ^ prod
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5159
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5160
    "Created: / 8.1.1999 / 15:10:04 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5161
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5162
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5163
_LNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5164
    ^ op asInteger negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5165
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5166
    "Created: / 8.1.1999 / 15:06:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5167
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5168
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5169
_LOR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5170
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5171
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5172
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5173
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5174
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5175
    rslt := op1 bitOr: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5176
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5177
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5178
    "Created: / 8.1.1999 / 15:05:10 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5179
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5180
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5181
_LREM:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5182
    |rem|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5183
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5184
    rem := op1 rem: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5185
    ^ rem
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5186
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5187
    "Modified: / 7.1.1998 / 00:23:11 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5188
    "Created: / 8.1.1999 / 15:04:23 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5189
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5190
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5191
_LSHL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5192
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5193
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5194
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5195
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5196
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5197
    rslt := (op1 bitShift:op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5198
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5199
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5200
    "Created: / 8.1.1999 / 14:51:08 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5201
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5202
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5203
_LSHR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5204
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5205
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5206
    op1 < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5207
	self halt
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5208
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5209
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5210
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5211
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5212
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5213
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5214
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5215
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5216
    "Created: / 8.1.1999 / 14:51:57 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5217
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5218
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5219
_LSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5220
    |diff|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5221
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5222
    diff := (op1 - op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5223
    ^ diff
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5224
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5225
    "Created: / 8.1.1999 / 15:10:33 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5226
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5227
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5228
_LUSHR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5229
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5230
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5231
    op1 < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5232
	self halt
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5233
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5234
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5235
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5236
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5237
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5238
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5239
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5240
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5241
    "Modified: / 7.1.1998 / 21:22:17 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5242
    "Created: / 8.1.1999 / 14:51:32 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5243
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5244
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5245
_LXOR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5246
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5247
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5248
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5249
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5250
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5251
    rslt := op1 bitXor: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5252
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5253
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5254
    "Created: / 8.1.1999 / 15:12:28 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5255
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5256
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5257
_MONITORENTER: someObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5258
    self assert: (thisContext sender isJavaContext).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5259
    self assert: (thisContext sender isMarkedForUnwind).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5260
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5261
    self monitorEnter: someObject in: thisContext sender.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  5262
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5263
    "Created: / 08-01-1999 / 14:23:10 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5264
    "Modified: / 08-01-1999 / 18:47:26 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5265
    "Modified: / 10-08-2011 / 20:19:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5266
    "Modified: / 09-11-2011 / 19:23:12 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5267
    "Modified (format): / 26-08-2012 / 15:20:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5268
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5269
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5270
_MONITOREXIT: someObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5271
    self monitorExit: someObject in: thisContext sender.
528
99eb49a63c1a checkin from browser
cg
parents: 526
diff changeset
  5272
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5273
    "Created: / 08-01-1999 / 14:23:19 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5274
    "Modified: / 08-01-1999 / 18:47:08 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5275
    "Modified: / 09-11-2011 / 12:42:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5276
    "Modified: / 26-08-2012 / 23:51:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5277
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5278
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5279
_MULTINEW2: classRef _: dim1
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5280
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5281
    | arrCls arr |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5282
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5283
    dim1 <  0 ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5284
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5285
                         withMessage:'negative array size not allowed'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5286
        ^nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5287
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5288
    self assert: classRef isJavaClassRef.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5289
    arrCls := classRef resolve.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5290
    arr := arrCls new: dim1.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5291
    ^ arr.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5292
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5293
    "Created: / 19-05-2011 / 10:46:28 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5294
    "Modified: / 22-11-2011 / 09:45:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5295
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5296
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5297
_MULTINEW2: classRef _: dim1 _: dim2
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5298
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5299
    | arrCls arr |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5300
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5301
    dim1 <  0 ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5302
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5303
                         withMessage:'negative array size not allowed'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5304
        ^nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5305
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5306
    dim2 <  0 ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5307
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5308
                         withMessage:'negative array size not allowed'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5309
        ^nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5310
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5311
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5312
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5313
    self assert: classRef isJavaClassRef.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5314
    arrCls := classRef resolve.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5315
    arr := arrCls new: dim2.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5316
    1 to: dim2 do:[:i|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5317
        arr at: i put: (arrCls javaComponentClass new: dim1)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5318
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5319
    ^ arr.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5320
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5321
    "Created: / 19-05-2011 / 10:47:42 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5322
    "Modified: / 22-11-2011 / 09:45:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5323
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5324
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5325
_MULTINEW2: classRef _: dim1 _: dim2 _: dim3
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5326
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5327
    | arrCls arr |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5328
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5329
    dim1 <  0 ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5330
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5331
                         withMessage:'negative array size not allowed'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5332
        ^nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5333
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5334
    dim2 <  0 ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5335
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5336
                         withMessage:'negative array size not allowed'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5337
        ^nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5338
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5339
    dim3 <  0 ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5340
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5341
                         withMessage:'negative array size not allowed'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5342
        ^nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5343
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5344
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5345
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5346
    self assert: classRef isJavaClassRef.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5347
    arrCls := classRef resolve.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5348
    arr := arrCls new: dim3.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5349
    1 to: dim3 do:[:i|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5350
        | arr2 |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5351
        arr2 := arrCls javaComponentClass new: dim2.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5352
        1 to: dim2 do:[:j|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5353
            arr2 at: j put: (arrCls javaComponentClass javaComponentClass new: dim1).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5354
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5355
        arr at: i put: arr2.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5356
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5357
    ^ arr.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5358
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5359
    "Created: / 19-05-2011 / 10:47:50 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5360
    "Modified: / 22-11-2011 / 09:45:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5361
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5362
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5363
_MULTINEW:typeRef _:dim1
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5364
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5365
    |arr|
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5366
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5367
    arr := typeRef new:dim1.
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5368
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5369
    ^ arr
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5370
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5371
    "Created: / 08-01-1999 / 14:15:42 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5372
    "Modified: / 08-01-1999 / 18:03:05 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5373
    "Modified: / 16-03-2011 / 16:20:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5374
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5375
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5376
_MULTINEW: typeRef _: dim1 _: dim2
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5377
    | arr |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5378
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5379
    arr := typeRef new: dim2.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5380
    1 to: dim2
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5381
        do: [:idx | arr at: idx put: (self _MULTINEW: typeRef javaComponentClass _: dim1) ].
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5382
    ^ arr
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5383
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5384
    "Created: / 08-01-1999 / 14:15:46 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5385
    "Modified: / 08-01-1999 / 17:58:11 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5386
    "Modified: / 16-03-2011 / 16:19:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5387
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5388
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5389
_MULTINEW:typeRef _:dim1 _:dim2 _:dim3
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5390
    |clsRef cls arr elType elSizes|
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5391
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5392
    clsRef := typeRef asClassPointerRef.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5393
    cls := clsRef javaArrayClass.
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5394
    arr := cls new:dim3.
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5395
    elType := typeRef deref.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5396
    1 to:dim3
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5397
        do:
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5398
            [:idx |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5399
            arr at:idx
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5400
                put:(self
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5401
                        _MULTINEW:elType
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5402
                        _:dim1
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5403
                        _:dim2) ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5404
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5405
"/ self halt.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5406
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5407
    ^ arr
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5408
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5409
    "Modified: / 6.1.1998 / 23:34:35 / cg"
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5410
    "Created: / 8.1.1999 / 14:15:49 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5411
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5412
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5413
_NEW: cls
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5414
    | inst |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5415
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5416
    cls classInit. "/initializes the class if it is not already"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5417
    inst := cls basicNew.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5418
    thisContext sender method flushCode.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5419
    ^inst.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5420
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5421
    "Created: / 15-10-2012 / 21:53:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5422
    "Modified: / 02-11-2012 / 21:09:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5423
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5424
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5425
_NEWARRAY:type _:size
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5426
    "VM helper method NEWARRAY insn. Called only when
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5427
     size is not an SmallInt or negative"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5428
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5429
    size < 0 ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5430
        self throwNegativeArraySizeException: size.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5431
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5432
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5433
    "Created: / 13-05-2012 / 14:46:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5434
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5435
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5436
_NEW_R: clsRef
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5437
    | cls inst |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5438
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5439
    cls := clsRef resolve. "/initializes the class if it is not already"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5440
    inst := cls basicNew.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5441
    thisContext sender method flushCode.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5442
    ^inst.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5443
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5444
    "Created: / 15-10-2012 / 21:54:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5445
    "Modified: / 02-11-2012 / 21:10:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  5446
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  5447
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5448
!JavaVM class methodsFor:'windows - events'!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5449
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5450
awtEventsForEvent: anEvent javaWindow: jWin
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5451
    "given an ST/X event, create corresponding AWT event(s) for it"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5452
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5453
    | jEv  jEv1  jEv2  modifiers  key  keyChar  untranslatedKey  id  type  x  y  w  h  view  menu  resized  moved  eventArgs  clickCount  jRect  jKeyEventClass  jInputEventClass  jMouseEventClass  jWindowEventClass  jPaintEventClass  jComponentEventClass |
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5454
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5455
    type := anEvent type.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5456
    eventArgs := anEvent arguments.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5457
    key := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5458
    modifiers := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5459
    x := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5460
    y := 0.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5461
    ((type == #exposeX:y:width:height:)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5462
        or: [ (type == #graphicExposeX:y:width:height:) or: [ (type == #damage) ] ])
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5463
            ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5464
                "/        jWindowEventClass := Java classForName:'java.awt.event.WindowEvent'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5465
                "/        id := (jPaintEventClass instVarNamed:'PAINT').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5466
                jPaintEventClass := self classForName: 'java.awt.event.PaintEvent'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5467
                id := (jPaintEventClass instVarNamed: 'UPDATE').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5468
                ((type == #exposeX:y:width:height:)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5469
                    or: [ (type == #graphicExposeX:y:width:height:) ])
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5470
                        ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5471
                            x := eventArgs at: 1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5472
                            y := eventArgs at: 2.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5473
                            w := eventArgs at: 3.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5474
                            h := eventArgs at: 4.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5475
                        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5476
                        ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5477
                            x := eventArgs left.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5478
                            y := eventArgs top.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5479
                            w := eventArgs width.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5480
                            h := eventArgs height.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5481
                        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5482
                jRect := (Java classForName: 'java.awt.Rectangle') basicNew.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5483
                jRect instVarNamed: 'x' put: x.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5484
                jRect instVarNamed: 'y' put: y.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5485
                jRect instVarNamed: 'width' put: w.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5486
                jRect instVarNamed: 'height' put: h.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5487
                jEv := jPaintEventClass newCleared.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5488
                jEv instVarNamed: 'id' put: id.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5489
                jEv instVarNamed: 'updateRect' put: jRect.
476
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  5490
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  5491
"/        jEv instVarNamed:'g'         put:jWin.
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  5492
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5493
                ^ Array with: jEv.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5494
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5495
    (anEvent isKeyEvent
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5496
        or: [ anEvent isButtonEvent or: [ anEvent isPointerEnterLeaveEvent ] ])
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5497
            ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5498
                jInputEventClass := Java classForName: 'java.awt.event.InputEvent'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5499
                anEvent hasAlt ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5500
                    modifiers := modifiers bitOr: (jInputEventClass instVarNamed: 'ALT_MASK')
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5501
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5502
                anEvent hasCtrl ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5503
                    modifiers := modifiers bitOr: (jInputEventClass instVarNamed: 'CTRL_MASK')
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5504
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5505
                anEvent hasMeta ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5506
                    modifiers := modifiers bitOr: (jInputEventClass instVarNamed: 'META_MASK')
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5507
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5508
                anEvent hasShift ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5509
                    modifiers := modifiers
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5510
                                bitOr: (jInputEventClass instVarNamed: 'SHIFT_MASK')
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5511
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5512
                anEvent hasButton1 ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5513
                    modifiers := modifiers
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5514
                                bitOr: (jInputEventClass instVarNamed: 'BUTTON1_MASK')
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5515
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5516
                anEvent hasButton2 ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5517
                    modifiers := modifiers
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5518
                                bitOr: (jInputEventClass instVarNamed: 'BUTTON2_MASK')
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5519
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5520
                anEvent hasButton3 ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5521
                    modifiers := modifiers
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5522
                                bitOr: (jInputEventClass instVarNamed: 'BUTTON3_MASK')
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5523
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5524
                anEvent isPointerEnterLeaveEvent ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5525
                    "/ ST/X does not (yet) record this information
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5526
                    "/ with pointerLeave events.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5527
                    x := anEvent x.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5528
                    y := anEvent y.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5529
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5530
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5531
    anEvent isKeyEvent ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5532
        jKeyEventClass := Java classForName: 'java.awt.event.KeyEvent'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5533
        key := 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5534
        keyChar := 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5535
        key := anEvent key.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5536
        key isCharacter ifTrue: [ key := keyChar := key asciiValue ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5537
            untranslatedKey := anEvent view device keyboardMap keyAtValue: key
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5538
                        ifAbsent: key.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5539
            untranslatedKey == #Insert ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5540
                key := jKeyEventClass instVarNamed: 'VK_INSERT'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5541
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5542
            untranslatedKey == #Delete ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5543
                key := jKeyEventClass instVarNamed: 'VK_DELETE'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5544
                "/ 127
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5545
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5546
            untranslatedKey == #BackSpace ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5547
                key := jKeyEventClass instVarNamed: 'VK_BACK_SPACE'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5548
                "/ 8
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5549
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5550
            untranslatedKey == #Return ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5551
                key := jKeyEventClass instVarNamed: 'VK_ENTER'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5552
                "/ 13
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5553
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5554
            untranslatedKey == #Tab ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5555
                key := jKeyEventClass instVarNamed: 'VK_TAB'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5556
                "/ 9
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5557
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5558
            untranslatedKey == #Home ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5559
                key := jKeyEventClass instVarNamed: 'VK_HOME'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5560
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5561
            untranslatedKey == #End ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5562
                key := jKeyEventClass instVarNamed: 'VK_END'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5563
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5564
            (key == #PreviousPage or: [ untranslatedKey == #Prior ]) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5565
                key := jKeyEventClass instVarNamed: 'VK_PAGE_UP'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5566
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5567
            (key == #NextPage or: [ key == #EndOfText ]) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5568
                key := jKeyEventClass instVarNamed: 'VK_PAGE_DOWN'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5569
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5570
            untranslatedKey == #CursorUp ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5571
                key := jKeyEventClass instVarNamed: 'VK_UP'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5572
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5573
            untranslatedKey == #CursorDown ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5574
                key := jKeyEventClass instVarNamed: 'VK_DOWN'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5575
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5576
            untranslatedKey == #CursorLeft ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5577
                key := jKeyEventClass instVarNamed: 'VK_LEFT'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5578
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5579
            untranslatedKey == #CursorRight ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5580
                key := jKeyEventClass instVarNamed: 'VK_RIGHT'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5581
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5582
            (#( #F1 #F2 #F3 #F4 #F5 #F6 #F7 #F8 #F9 #F10 #F11 #F12 )
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5583
                includes: untranslatedKey)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5584
                    ifTrue: [ key := jKeyEventClass instVarNamed: ('VK_' , untranslatedKey) ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5585
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5586
        (type == #keyPress:x:y:) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5587
            id := jKeyEventClass instVarNamed: 'KEY_PRESSED'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5588
        ] ifFalse: [ id := jKeyEventClass instVarNamed: 'KEY_RELEASED' ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5589
        jEv := jKeyEventClass newCleared.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5590
        jEv instVarNamed: 'modifiers' put: modifiers.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5591
        jEv instVarNamed: 'keyCode' put: key.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5592
        jEv instVarNamed: 'keyChar' put: keyChar.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5593
        jEv instVarNamed: 'id' put: id.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5594
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5595
"/        jEv instVarNamed:'x'         put:x.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5596
"/        jEv instVarNamed:'y'         put:y.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5597
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5598
        jEv instVarNamed: 'when' put: (OperatingSystem getMillisecondTime).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5599
        ^ Array with: jEv
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5600
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5601
    (anEvent isButtonEvent or: [ anEvent isPointerEnterLeaveEvent ]) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5602
        jMouseEventClass := Java classForName: 'java.awt.event.MouseEvent'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5603
        clickCount := 1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5604
        (type == #buttonPress:x:y:) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5605
            id := jMouseEventClass instVarNamed: 'MOUSE_PRESSED'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5606
        ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5607
            (type == #buttonRelease:x:y:) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5608
                id := jMouseEventClass instVarNamed: 'MOUSE_RELEASED'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5609
            ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5610
                (type == #buttonMotion:x:y:) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5611
                    (anEvent state bitAnd: (anEvent view device anyButtonMotionMask)) == 0 ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5612
                        id := jMouseEventClass instVarNamed: 'MOUSE_MOVED'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5613
                    ] ifFalse: [ id := jMouseEventClass instVarNamed: 'MOUSE_DRAGGED'. ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5614
                ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5615
                    "/                    (type == #'pointerMotion:x:y:') ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5616
                    "/                        id := jMouseEventClass instVarNamed:'MOUSE_MOVED'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5617
                    "/                    ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5618
                    (type == #pointerEnter:x:y:) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5619
                        id := jMouseEventClass instVarNamed: 'MOUSE_ENTERED'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5620
                    ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5621
                        (type == #pointerLeave:) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5622
                            id := jMouseEventClass instVarNamed: 'MOUSE_EXITED'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5623
                        ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5624
                            (type == #buttonMultiPress:x:y:) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5625
                                id := jMouseEventClass instVarNamed: 'MOUSE_PRESSED'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5626
                                clickCount := 2.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5627
                            ] ifFalse: [ self halt. ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5628
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5629
"/                        ]
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5630
                        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5631
                    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5632
                ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5633
            ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5634
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5635
        jEv := jMouseEventClass newCleared.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5636
        jEv instVarNamed: 'modifiers' put: modifiers.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5637
        jEv instVarNamed: 'id' put: id.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5638
        jEv instVarNamed: 'x' put: x.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5639
        jEv instVarNamed: 'y' put: y.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5640
        jEv instVarNamed: 'when' put: (OperatingSystem getMillisecondTime).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5641
        ^ Array with: jEv
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5642
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5643
    (type == #configureX:y:width:height:) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5644
        view := anEvent view.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5645
        x := eventArgs at: 1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5646
        y := eventArgs at: 2.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5647
        w := eventArgs at: 3.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5648
        h := eventArgs at: 4.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5649
        resized := (w ~~ view width or: [ h ~~ view height ]).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5650
        moved := (x ~~ view left or: [ y ~~ view top ]).
493
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  5651
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  5652
"/        (view isTopView or:[view isPopUpView]) ifTrue:[
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5653
        "/ view must update its origin/extent.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5654
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5655
        view dispatchEvent: anEvent.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5656
493
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  5657
"/        ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5658
        "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5659
        "/ must change the components extent
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5660
        "/ is there no cleaner way to do this ?
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5661
        "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5662
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5663
        view isTopView ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5664
            view isPopUpView ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5665
                "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5666
                "/ sigh - don't include the menu.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5667
                "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5668
                menu := self topViewsMenu: view.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5669
                menu notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5670
                    "/ must add the menus height
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5671
                    h := h - menu height
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5672
                ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5673
            ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5674
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5675
        jWin instVarNamed: 'width' put: w.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5676
        jWin instVarNamed: 'height' put: h.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5677
        jWin instVarNamed: 'x' put: x.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5678
        jWin instVarNamed: 'y' put: y.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5679
        jComponentEventClass := Java classForName: 'java.awt.event.ComponentEvent'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5680
        moved ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5681
            id := (jComponentEventClass instVarNamed: 'COMPONENT_MOVED').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5682
            jEv1 := jComponentEventClass newCleared.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5683
            jEv1 instVarNamed: 'id' put: id.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5684
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5685
        resized ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5686
            id := (jComponentEventClass instVarNamed: 'COMPONENT_RESIZED').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5687
            jEv2 := jComponentEventClass newCleared.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5688
            jEv2 instVarNamed: 'id' put: id.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5689
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5690
        jEv1 isNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5691
            jEv2 isNil ifTrue: [ ^ nil ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5692
            ^ Array with: jEv2
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5693
        ] ifFalse: [ jEv2 isNil ifTrue: [ ^ Array with: jEv1 ] ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5694
        ^ Array with: jEv1 with: jEv2.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5695
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5696
    (type == #focusIn) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5697
        "/ 'focusIn' printCR.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5698
        jComponentEventClass := Java classForName: 'java.awt.event.FocusEvent'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5699
        id := (jComponentEventClass instVarNamed: 'FOCUS_GAINED').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5700
        jEv := jComponentEventClass newCleared.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5701
        jEv instVarNamed: 'id' put: id.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5702
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5703
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5704
    (type == #focusOut) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5705
        "/ 'focusOut' printCR.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5706
        jComponentEventClass := Java classForName: 'java.awt.event.FocusEvent'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5707
        id := (jComponentEventClass instVarNamed: 'FOCUS_LOST').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5708
        jEv := jComponentEventClass newCleared.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5709
        jEv instVarNamed: 'id' put: id.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5710
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5711
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5712
    (type == #mapped) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5713
        "/ 'mapped' printCR.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5714
        jComponentEventClass := Java classForName: 'java.awt.event.ComponentEvent'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5715
        id := (jComponentEventClass instVarNamed: 'COMPONENT_SHOWN').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5716
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5717
"/        x := eventArgs at:1.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5718
"/        y := eventArgs at:2.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5719
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5720
        jEv := jComponentEventClass newCleared.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5721
        jEv instVarNamed: 'id' put: id.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5722
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5723
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5724
    (type == #unmapped) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5725
        "/ 'unmapped' printCR.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5726
        jComponentEventClass := Java classForName: 'java.awt.event.ComponentEvent'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5727
        id := (jComponentEventClass instVarNamed: 'COMPONENT_HIDDEN').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5728
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5729
"/        x := eventArgs at:1.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5730
"/        y := eventArgs at:2.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5731
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5732
        jEv := jComponentEventClass newCleared.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5733
        jEv instVarNamed: 'id' put: id.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5734
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5735
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5736
    (type == #terminate) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5737
        jWindowEventClass := Java classForName: 'java.awt.event.WindowEvent'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5738
         "NEW
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5739
         id := (jWindowEventClass instVarNamed:'WINDOW_CLOSING').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5740
        " "OLD "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5741
        id := (jWindowEventClass instVarNamed: 'WINDOW_CLOSED').
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5742
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5743
        jEv := jWindowEventClass newCleared.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5744
        jEv instVarNamed: 'id' put: id.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5745
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5746
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5747
    EventTrace == true ifTrue: [ ('JAVA: unhandled event:' , type) infoPrintCR. ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5748
    ^ nil.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5749
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5750
    "Created: / 6.1.1998 / 20:38:58 / cg"
537
28e26396d17d *** empty log message ***
cg
parents: 536
diff changeset
  5751
    "Modified: / 9.1.1999 / 09:29:58 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5752
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5753
603
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5754
delegatesTo:someOne
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5755
    ^ false
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5756
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5757
    "Created: / 25.9.1999 / 16:11:48 / cg"
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5758
!
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5759
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5760
doWindowsEventThread
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5761
    "invoked in an endless loop by the WToolkit-eventLoop
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5762
     native method."
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5763
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5764
    | sensor  event  more |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5765
    (JavaWindowGroup isNil or: [ KnownWindows isNil ]) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5766
        "/ '*** eventThread: no windowGroup / views ...' printCR.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5767
        self halt: 'monitors are reimplemented, change me if you know how and why'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5768
        "self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5769
            waitFor: FirstWindowCreationSemaphore
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5770
            state: #eventWait
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5771
            timeOut: nil."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5772
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5773
        "/ Delay waitForSeconds:0.1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5774
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5775
        ^ self
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5776
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5777
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5778
    "/ wait for an event to arrive ...
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5779
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5780
    sensor := JavaWindowGroup sensor.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5781
    [ sensor hasEvents or: [ sensor damageCount ~~ 0 ] ] whileFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5782
        EventTrace ifTrue: [ '*** eventThread waiting ...' printCR. ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5783
        Processor activeProcess state: #eventWait.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5784
        self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5785
            waitFor: sensor eventSemaphore
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5786
            state: #eventWait
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5787
            timeOut: nil.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5788
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5789
    EventTrace ifTrue: [ '*** eventThread event arrived ...' printCR. ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5790
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5791
    "/ EventTrace := true
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5792
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  5793
    more := true.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5794
    [ more ] whileTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5795
        sensor hasDamage ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5796
            EventTrace ifTrue: [ '*** eventThread: damage arrived ...' printCR. ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5797
            event := sensor nextDamage.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5798
        ] ifFalse: [ event := sensor nextEvent. ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5799
        event isNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5800
            EventTrace == true ifTrue: [ '*** eventThread: nil event ignored' printCR. ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5801
            ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5802
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5803
        more := self processEvent: event
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  5804
    ]
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5805
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5806
    "Created: / 06-01-1998 / 21:02:40 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5807
    "Modified: / 30-12-1998 / 19:21:36 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5808
    "Modified: / 22-11-2011 / 13:22:32 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5809
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5810
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5811
processEvent: event
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5812
    | evQ  jEvents  jWToolKitClass  jWToolKit  jWinPeer  jWin  v  eventConsumed |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5813
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5814
    KnownWindows isNil ifTrue: [ ^ false ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5815
    v := event view.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5816
    jWinPeer := self jPeerForView: v.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5817
    jWinPeer isNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5818
        v isJavaView ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5819
            "/ mhmh - an event for a JavaView,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5820
            "/ which has no peer (anyMore ?)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5821
            "/ should not happen.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5822
        ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5823
            "/ mhmh - an event for a subcomponent of an ST widget.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5824
            "/ let it be handled normally.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5825
            EventTrace ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5826
                ('*** eventThread: ' , event type
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5827
                    , '-event for unknown java-view - passed to view.') printCR.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5828
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5829
            event view dispatchEvent: event.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5830
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5831
        ^ true
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5832
    ].
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5833
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5834
    "/ change:
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5835
    "/ in the previous version, events for ST/X widgets (i.e. buttons etc)
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5836
    "/ where not passed to java, but instead forwarded directly to the widget
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5837
    "/ by the code below.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5838
    "/ This has changed, to pass it to Java, which eventually passes it to the
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5839
    "/ peer via the handleEvent native method (unless the event got consumed).
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5840
    "/ This is req'd to let java keep track of keyboard/mouse input for widgets.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5841
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5842
    (event isDamage and: [ v isJavaView ]) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5843
        "/    "/ most views handle their events themself (being ST/X views) ...
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5844
        "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5845
        "/    v class ~~ JavaView ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5846
        "/"/        v class ~~ StandardSystemView ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5847
        "/"/            EventTrace ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5848
        "/"/                    ('*** eventThread: event handled by view itself (' , v class name , ')') printCR.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5849
        "/"/            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5850
        "/"/            event sendEventWithFocusOn:nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5851
        "/"/            ^ self.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5852
        "/"/        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5853
        "/        (event type == #'exposeX:y:width:height'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5854
        "/        or:[event type == #'graphicsExposeX:y:width:height']) ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5855
        "/            "/ send to view, but also handle in JAVA
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5856
        "/            event sendEventWithFocusOn:nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5857
        "/        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5858
        "/    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5859
        (#( #mapped
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5860
         #unmapped
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5861
         #configureX:y:width:height:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5862
         #exposeX:y:width:height:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5863
         #graphicsExposeX:y:width:height: ) includes: event type) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5864
            event sendEventWithFocusOn: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5865
        ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5866
    ].
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5867
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5868
    "/ what a kludge - some events are passed back to
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5869
    "/ ST via the WComponent-handleEvent native method.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5870
    "/ However, repaints are not.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5871
    "/ In order to let ST widgets do the drawing,
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5872
    "/ selectively filter exposeEvents from Java ...
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5873
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5874
    eventConsumed := false.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5875
    v isJavaView ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5876
        "/ all events handled by Java ...
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5877
    ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5878
        eventConsumed := true.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5879
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5880
        "/ let widget handle it.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5881
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5882
        event view dispatchEvent: event.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5883
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5884
        "/ some are not passed to Java ...
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5885
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5886
        event isDamage ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5887
            (v isKindOf: Button) ifTrue: [ ^ true ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5888
            (v isKindOf: TextView) ifTrue: [ ^ true ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5889
            (v isKindOf: Label) ifTrue: [ ^ true ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5890
            (v isKindOf: ComboBoxView) ifTrue: [ ^ true ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5891
            (v isKindOf: ScrollBar) ifTrue: [ ^ true ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5892
            (v isKindOf: Scroller) ifTrue: [ ^ true ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5893
            (v isKindOf: MenuPanel) ifTrue: [ ^ true ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5894
        ].
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5895
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5896
    jWin := jWinPeer instVarNamed: 'target'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5897
    EventTrace ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5898
        ('*** eventThread: event (' , event type , ') handled by JAVA: ')
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5899
            infoPrint.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5900
        jWinPeer class name infoPrint.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5901
        ' (' infoPrint.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5902
        jWin class name infoPrint.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5903
        ')' infoPrintCR.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5904
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5905
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5906
    "/ create an event
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5907
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5908
    jEvents := self awtEventsForEvent: event javaWindow: jWin.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5909
    jEvents isNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5910
        EventTrace ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5911
            ('*** eventThread: event ignored: ' , event type) printCR.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5912
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5913
        ^ true
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5914
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5915
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5916
"/    v superView isNil ifTrue:[
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5917
"/        ('*** eventThread: event ignored for topView: ' , event type) printCR.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5918
"/        ^ self
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5919
"/    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5920
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5921
    jWToolKitClass := self classForName: 'java.awt.Toolkit'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5922
439
9c3603a90f30 *** empty log message ***
cg
parents: 434
diff changeset
  5923
    "/ jWToolKit := jWToolKitClass perform:#getDefaultToolkit.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5924
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5925
    jWToolKit := jWToolKitClass
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5926
                performStatic: #'getDefaultToolkit()Ljava/awt/Toolkit;'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5927
    jEvents do: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5928
        :jEv |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5929
        jEv instVarNamed: 'source' put: jWin.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5930
        jEv instVarNamed: 'consumed' put: 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5931
        eventConsumed ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5932
            "/ the first gets the original event as data
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5933
            jEv instVarNamed: 'data' put: event.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5934
            eventConsumed := true
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5935
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5936
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5937
        "/ post it (them) to the event queue
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5938
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5939
        EventTrace == true ifTrue: [ 'postEvent to Java ...' printCR. ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5940
        jWToolKit "class" perform: #'postEvent(Ljava/awt/AWTEvent;)V' with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5941
    ].
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  5942
    ^ false
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  5943
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5944
    "Created: / 6.1.1998 / 20:36:36 / cg"
493
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  5945
    "Modified: / 10.12.1998 / 19:36:59 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5946
! !
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5947
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5948
!JavaVM::Performance class methodsFor:'documentation'!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5949
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5950
documentation
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5951
"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5952
    A helper class to keep performance counters for JavaVM
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5953
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5954
    [author:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5955
        Jan Vrany <jan.vrany@fit.cvut.cz>
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5956
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5957
    [instance variables:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5958
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5959
    [class variables:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5960
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5961
    [see also:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5962
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5963
"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5964
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5965
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5966
!JavaVM::Performance class methodsFor:'instance creation'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5967
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5968
for: aJavaVM
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5969
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5970
    ^self new setVM: aJavaVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5971
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5972
    "Created: / 21-12-2010 / 19:42:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5973
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5974
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  5975
!JavaVM::Performance methodsFor:'accessing'!
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  5976
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  5977
counters
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  5978
    ^ counters
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  5979
! !
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  5980
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5981
!JavaVM::Performance methodsFor:'accessing-counters'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5982
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5983
get: name
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5984
    "Return the value of given performance counter."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5985
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5986
    ^self set: name to: -1
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5987
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5988
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5989
monitorEnterCount: fatOnly
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5990
    "Return the number of monitor enter operations.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5991
     If fatOnly is true, return only those that involves
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5992
     fat-lock enter (i.e,, uses JavaMonitor, not thinlock)"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5993
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5994
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5995
    extern unsigned int __monitorEnterCount(int fat, int new);
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5996
    RETURN ( __MKUINT ( __monitorEnterCount( fatOnly == true ? 1 : 0, -1 ) ) )
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5997
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5998
    ^ 0
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5999
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6000
    "Created: / 28-08-2012 / 10:37:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6001
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6002
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6003
monitorExitCount: fatOnly
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6004
    "Return the number of monitor enter operations.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6005
     If fatOnly is true, return only those that involves
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6006
     fat-lock enter (i.e,, uses JavaMonitor, not thinlock)"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6007
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6008
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6009
    extern unsigned int __monitorEnterCount(int fat, int new);
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6010
    RETURN ( __MKUINT ( __monitorEnterCount( fatOnly == true ? 1 : 0, -1 ) ) )
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6011
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6012
    ^ 0
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6013
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6014
    "Created: / 28-08-2012 / 10:37:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6015
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6016
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6017
set: name to: newValue
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6018
    "Set and return the value of given performance counter.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6019
     If newValue >= 0, performance counter is set to given
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6020
     value and previous value is returned. If newValue < 0,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6021
     then the current value is returned"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6022
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6023
    | value |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6024
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6025
    extern OBJ __javaPerfCounter(OBJ _name, OBJ _newValue );
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6026
    value =  __javaPerfCounter( name, newValue );
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6027
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6028
    value isSymbol ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6029
        self error: value.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6030
        ^nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6031
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6032
    ^value
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6033
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6034
    "Modified (format): / 20-02-2013 / 00:06:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6035
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6036
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6037
!JavaVM::Performance methodsFor:'initialization'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6038
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6039
setVM: aJavaVM
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6040
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6041
    "Now, aJavaVM == JavaVM (i.e, the class JavaVM
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6042
    itself, not its instance)"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6043
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6044
    vm := aJavaVM.
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6045
    counters := Dictionary new.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6046
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6047
    "Created: / 21-12-2010 / 19:44:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6048
    "Modified: / 20-02-2013 / 00:07:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6049
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6050
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6051
!JavaVM::Performance methodsFor:'orinting-streams'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6052
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6053
printOpenExternalStream: stream number: index on: output
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6054
    "Print info about given external stream to output. Return true,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6055
     if the instance is executor, false otherwise"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6056
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6057
    | executor |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6058
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6059
    executor := ((3 to: stream class instSize) allSatisfy:[:index|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6060
        index == 6 or:[index == 7 or:[(stream instVarAt: index) isNil]]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6061
    ]).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6062
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6063
    '%-4d %-30s %-15s %s' printf:{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6064
        index .
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6065
        stream class name.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6066
        executor ifTrue:['(executor)'] ifFalse:[(self printOpenExternalStreamIdentificationOf: stream)].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6067
        executor ifTrue:[''] ifFalse:[stream isFileStream ifTrue:[stream pathName ? '??? no pathName ???'] ifFalse:['']]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6068
    } on: output.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6069
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6070
    ^ executor
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6071
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6072
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6073
        JavaVM::Performance new printOpenExternalStreams
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6074
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6075
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6076
    "Created: / 14-08-2012 / 01:02:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6077
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6078
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6079
printOpenExternalStreamIdentificationOf:stream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6080
    | zc oft |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6081
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6082
    (oft := Smalltalk at:#'JavaVMData:OpenFileTable') notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6083
        | idx |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6084
        idx := oft identityIndexOf: stream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6085
        idx ~~ 0 ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6086
            ^ 'VM   OFT[' ,idx printString, ']'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6087
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6088
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6089
    (zc := Smalltalk at:#'JavaVMData:ZipCache') notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6090
        | idx |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6091
        zc withIndexDo:[:each :idx|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6092
            (each instVarAt:1 "named: #file") == stream ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6093
                ^ 'VM   ZC[' ,idx printString, ']'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6094
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6095
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6096
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6097
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6098
    ((Smalltalk at:#'Java:SourceCache') ? #()) do:[:each|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6099
        each == stream ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6100
            ^ 'Java SC'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6101
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6102
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6103
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6104
    ((Smalltalk at:#'JavaClassReader:JavaArchiveCache') ? #()) do:[:each|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6105
        (each instVarAt:1 "named: #file") == stream ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6106
            ^ 'JCR  JAC'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6107
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6108
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6109
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6110
    ((Smalltalk at:#'Java:SourceArchiveCache') ? #()) do:[:each|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6111
        (each instVarAt:1 "named: #file") == stream ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6112
            ^ 'Java SAC'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6113
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6114
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6115
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6116
    ^''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6117
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6118
    "Created: / 14-08-2012 / 01:17:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6119
    "Modified: / 11-02-2013 / 12:15:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6120
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6121
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6122
printOpenExternalStreams
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6123
    ^self printOpenExternalStreamsOn: Transcript
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6124
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6125
    "Created: / 14-08-2012 / 01:03:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6126
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6127
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6128
printOpenExternalStreamsOn: aStream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6129
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6130
    | nOpenStreams nExecutors |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6131
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6132
    ObjectMemory garbageCollect.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6133
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6134
    aStream nextPutLine: '=== JavaVM open external stream statistics ==='.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6135
    aStream nextPutLine: Timestamp now printString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6136
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6137
    nOpenStreams := 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6138
    nExecutors := 0.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6139
    ExternalStream allSubInstancesDo:[:each|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6140
        each isOpen ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6141
            nOpenStreams := nOpenStreams + 1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6142
            (self printOpenExternalStream: each number: nOpenStreams on: aStream) ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6143
                nExecutors := nExecutors + 1
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6144
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6145
            aStream cr.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6146
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6147
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6148
    aStream cr.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6149
    aStream nextPutLine:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6150
        ('SUMMARY: open=%1, executors=%4, java.io=%2, java.util.zip=%3'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6151
            bindWith: nOpenStreams
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6152
                with: (((Smalltalk at:#'JavaVMData:OpenFileTable') ? #()) inject:0 into:[:a :s|a + (s notNil ifTrue:[1] ifFalse:[0])])
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6153
                with: (((Smalltalk at:#'JavaVMData:ZipCache') ? #())      inject:0 into:[:a :s|a + ((s notNil and:[s file notNil]) ifTrue:[1] ifFalse:[0])])
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6154
                with: nExecutors
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6155
        ).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6156
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6157
    aStream nextPutLine: '=============================================='.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6158
    aStream nextPutLine: ''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6159
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6160
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6161
        JavaVM::Performance new printOpenExternalStreams
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6162
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6163
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6164
    "Created: / 14-08-2012 / 00:48:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6165
    "Modified: / 11-02-2013 / 12:43:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6166
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6167
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6168
!JavaVM::Performance methodsFor:'printing-counters'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6169
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6170
printCounters
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6171
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6172
    self printCountersOn: Transcript
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6173
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6174
    "Created: / 14-08-2012 / 00:43:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6175
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6176
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6177
printCountersOn: aStream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6178
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6179
    aStream nextPutLine: '=== JavaVM performance statistics ============'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6180
    aStream nextPutLine: Timestamp now printString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6181
    self printCounters_ExecutionOn: aStream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6182
    aStream cr.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6183
    self printCounters_CompilationOn: aStream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6184
    aStream cr.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6185
    self printCounters_MonitorOn: aStream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6186
    aStream cr.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6187
    self printCounters_TopTenNativesOn: aStream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6188
    aStream nextPutLine: '=============================================='.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6189
    aStream nextPutLine: ''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6190
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6191
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6192
        JavaVM performance printCounters
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6193
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6194
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6195
    "Created: / 14-08-2012 / 00:43:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6196
    "Modified: / 27-10-2012 / 18:12:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6197
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6198
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6199
printCounters_CompilationOn: aStream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6200
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6201
    self printCounterGroup:'Just-In-Time Compilation' on: aStream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6202
    self printCounter:'methodsCompiled' on: aStream labeled: 'methods compiled'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6203
    self printCounter:'methodsCompiledAndBailedOut' on: aStream labeled: 'methods compiled (failed)'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6204
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6205
    "Created: / 15-10-2012 / 15:33:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6206
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6207
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6208
printCounters_ExecutionOn: aStream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6209
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6210
    self printCounterGroup:'Execution' on: aStream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6211
    self printCounter:'methodsInterpreted' on: aStream labeled: 'methods (interpreted)'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6212
    self printCounter:'bytecodesInterpreted' on: aStream labeled: 'bytecodes (interpreted)'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6213
    self printCounter:'bytecodesInterpretedWrap' on: aStream labeled: 'bytecodes wrap(interpreted)'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6214
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6215
    "Created: / 15-10-2012 / 15:33:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6216
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6217
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6218
printCounters_MonitorOn: aStream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6219
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6220
    self printCounterGroup:'Monitors' on: aStream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6221
    self printCounter:'monitorEnterCount' on: aStream labeled: 'MONITOR ENTER'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6222
    self printCounter:'monitorEnterCountFat' on: aStream labeled: 'MONITOR ENTER (fat)'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6223
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6224
    self printCounter:'monitorExitCount' on: aStream labeled: 'MONITOR EXIT'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6225
    self printCounter:'monitorExitCountFat' on: aStream labeled: 'MONITOR EXIT (fat)'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6226
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6227
    "Created: / 28-08-2012 / 10:42:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6228
    "Modified: / 15-10-2012 / 15:31:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6229
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6230
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6231
printCounters_Top: n nativesOn: aStream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6232
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6233
    | nativesSorted  |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6234
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6235
    self printCounterGroup:'top ', n printString , ' (unoptimized) natives' on: aStream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6236
    nativesSorted := JavaNativeMethod allInstances asSortedCollection:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6237
                        [:a :b| a nCalls > b nCalls ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6238
    1 to: n do:[:idx|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6239
        | m |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6240
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6241
        m := nativesSorted at: idx.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6242
        aStream nextPutAll: (m nCalls printStringRadix:10 size:8 fill:Character space).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6243
        aStream nextPutAll:'   '.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6244
        aStream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6245
            nextPutAll: m mclass name;
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6246
            nextPutAll: ' >> ';
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6247
            nextPutAll: m selector;
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6248
            cr.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6249
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6250
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6251
    "Created: / 27-10-2012 / 18:09:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6252
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6253
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6254
printCounters_TopTenNativesOn: aStream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6255
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6256
    self printCounters_Top: 10 nativesOn: aStream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6257
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6258
    "Created: / 27-10-2012 / 18:12:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6259
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6260
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6261
!JavaVM::Performance methodsFor:'printing-counters-private'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6262
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6263
printCounter: name on: stream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6264
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6265
    self printCounter: name on: stream labeled: name
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6266
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6267
    "Created: / 15-10-2012 / 15:28:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6268
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6269
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6270
printCounter: name on: stream labeled: label
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6271
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6272
    [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6273
        '  %-35s : %10d' printf: { label . (self get: name) } on: stream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6274
    ] on: Error do:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6275
        '  %-35s : N/A' printf: { label } on: stream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6276
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6277
    stream cr.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6278
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6279
    "Created: / 15-10-2012 / 15:25:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6280
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6281
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6282
printCounterGroup: gname on: stream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6283
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6284
    stream nextPut:$-; nextPut:$-; space; nextPutAll: gname; space; nextPut:$-; nextPut:$-; cr.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6285
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6286
    "Created: / 15-10-2012 / 15:29:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6287
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6288
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6289
!JavaVM::ReflectionRegistry class methodsFor:'documentation'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6290
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6291
documentation
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6292
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6293
    A helper class to deal with Java reflection
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6294
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6295
    [author:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6296
        Jan Vrany <jan.vrany@fit.cvut.cz>
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6297
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6298
    [instance variables:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6299
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6300
    [class variables:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6301
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6302
    [see also:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6303
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6304
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6305
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6306
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6307
!JavaVM::ReflectionRegistry class methodsFor:'instance creation'!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6308
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6309
for: aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6310
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6311
    ^self new setVM: aJavaVM.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6312
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6313
    "Created: / 21-12-2010 / 19:42:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6314
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6315
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6316
new
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6317
    "return an initialized instance"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6318
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6319
    ^ self basicNew initialize.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6320
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6321
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6322
!JavaVM::ReflectionRegistry methodsFor:'debugging'!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6323
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6324
returnNilIfMissing
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6325
    ^ returnNilIfMissing.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6326
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6327
    "Created: / 28-01-2011 / 15:14:37 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6328
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6329
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6330
returnNilIfMissing:aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6331
    returnNilIfMissing:= aBoolean.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6332
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6333
    "Created: / 28-01-2011 / 15:25:35 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6334
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6335
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6336
!JavaVM::ReflectionRegistry methodsFor:'initialization'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6337
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6338
flush
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6339
    self initialize.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6340
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6341
    "Created: / 09-01-2013 / 16:00:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6342
!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6343
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6344
initialize
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6345
    constantPoolMapping := IdentityDictionary new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6346
    javaClasses := Dictionary new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6347
    javaArrayClasses := IdentityDictionary new.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6348
    realMethods := OrderedCollection new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6349
    javaMethodsPerMethod := Dictionary new
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6350
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6351
    "Created: / 21-12-2010 / 19:46:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6352
    "Modified: / 09-02-2011 / 00:24:28 / Marcel Hlopko <hlopik@gmail.com>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6353
    "Modified: / 05-12-2011 / 09:56:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6354
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6355
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6356
setVM: aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6357
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6358
    "Now, aJavaVM == JavaVM (i.e, the class JavaVM
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6359
    itself, not its instance)"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6360
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6361
    vm := aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6362
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6363
    "Created: / 21-12-2010 / 19:44:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6364
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6365
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6366
!JavaVM::ReflectionRegistry methodsFor:'reflection - classes'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6367
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6368
arrayClassFor: javaClass ifAbsentPut: block
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6369
    ^javaArrayClasses at: javaClass ifAbsentPut: block
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6370
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6371
    "Created: / 05-07-2012 / 23:21:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6372
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6373
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6374
classForJavaClassObject: aJavaClassObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6375
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6376
        Given an instance of java.lang.Class, answers
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6377
        real (Java) class associated with it. The instance
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6378
        of java.lang.Class should be first created by myself
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6379
        (by sending #javaClassObjectForClass:)"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6380
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6381
    (javaClasses at: aJavaClassObject ifAbsent: [ 123 ])
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6382
        == (JavaVM classNamed: 'stx/libjava/tests/junir/JUnit3Tests')
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6383
            ifTrue: [ self breakPoint: #jv ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6384
    ^ javaClasses at: aJavaClassObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6385
        ifAbsent: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6386
            vm internalError: 'No class associated with given java.lang.Class!!'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6387
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6388
            "/Please, no nils
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6389
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6390
            self returnNilIfMissing ifTrue: nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6391
        ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6392
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6393
    "Created: / 28-01-2011 / 15:22:39 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6394
    "Modified: / 05-02-2011 / 20:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6395
    "Modified: / 21-10-2011 / 13:41:12 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6396
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6397
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6398
javaClassObjectArrayForClasses: classes
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6399
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6400
        Answers an instance of java.lang.Class[] for given
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6401
        real (Java) classes."
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6402
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6403
    | array |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6404
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6405
    array := (vm classForName: 'java.lang.Class') javaArrayClass
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6406
                new: classes size.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6407
    classes isNilOrEmptyCollection ifTrue: [ ^ array ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6408
    classes
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6409
        withIndexDo: [:cls :idx | array at: idx put: (self javaClassObjectForClass: cls) ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6410
    ^ array
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6411
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6412
    "Modified: / 28-01-2011 / 15:15:44 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6413
    "Created: / 04-02-2011 / 22:08:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6414
    "Modified: / 11-02-2011 / 10:21:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6415
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6416
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6417
javaClassObjectForClass:aClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6418
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6419
    ^self javaClassObjectForClass:aClass init: true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6420
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6421
    "Modified: / 28-01-2011 / 15:15:44 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6422
    "Modified: / 12-08-2011 / 19:07:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6423
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6424
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6425
javaClassObjectForClass: aClass init: init
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6426
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6427
        Answers an instance of java.lang.Class for given
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6428
        real (Java) class."
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6429
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6430
    | javaClassObj |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6431
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6432
    self assert: aClass isBehavior message: 'aClass is not behavior'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6433
    self assert: aClass ~~ Array message: 'aClass should not be Array (old impl)'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6434
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6435
    javaClasses at: aClass ifPresent: [:javaClassObj | ^ javaClassObj ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6436
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6437
    "/ class must be initialized (with all of its superclasses ?).
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6438
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6439
    "/ false ifTrue: [ aClass isJavaClass ifTrue: [ aClass classInit ]. ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6440
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6441
    "/ Here, install Java lookup as Java may send a messages to that
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6442
    "/ object
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6443
    (aClass isJavaClass not and:[aClass isJavaArrayClass not and:[aClass isJavaPrimitiveType not]]) ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6444
        aClass == Object ifTrue:[ self halt. ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6445
        aClass lookupObject: JavaLookup instance.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6446
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6447
    javaClassObj := (vm classForName: 'java.lang.Class') new.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6448
    self rememberJavaClassObject: javaClassObj for: aClass.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6449
    ^ javaClassObj
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6450
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6451
    "Modified: / 28-01-2011 / 15:15:44 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6452
    "Created: / 12-08-2011 / 19:07:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6453
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6454
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6455
javaClassObjectForClassNamed: className
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6456
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6457
        Answers an instance of java.lang.Class for given
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6458
        (java) class name. The className may be name of primitive
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6459
        type, i.e. 'int', 'double'."
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6460
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6461
    | cls |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6462
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6463
    cls := JavaDescriptor baseTypesByTypeName at: className
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6464
                ifAbsent: [ vm classForName: className ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6465
    ^ self javaClassObjectForClass: cls.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6466
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6467
    "Created: / 03-02-2011 / 21:12:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6468
    "Modified: / 08-04-2011 / 14:45:41 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6469
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6470
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6471
rememberJavaClassObject: jclass for: class
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6472
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6473
    javaClasses at: class put: jclass.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6474
    javaClasses at: jclass put: class.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6475
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6476
    "Created: / 05-12-2011 / 09:57:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6477
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6478
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6479
!JavaVM::ReflectionRegistry methodsFor:'reflection - constant pool'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6480
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6481
constantPoolFor:javaConstantPoolObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6482
    ^ constantPoolMapping at:javaConstantPoolObject
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6483
        ifAbsent:[self error:'Given ConstantPool was not created by JVM']
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6484
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6485
    "Created: / 21-12-2010 / 19:56:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6486
    "Modified: / 28-01-2011 / 14:56:54 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6487
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6488
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6489
javaConstantPoolObjectFor: aConstantPool
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6490
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6491
    ^constantPoolMapping at: aConstantPool ifAbsent:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6492
        [| javaConstantPoolObject |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6493
        javaConstantPoolObject := (vm classForName:'sun.reflect.ConstantPool') new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6494
        constantPoolMapping at: aConstantPool put: javaConstantPoolObject.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6495
        constantPoolMapping at: javaConstantPoolObject put: aConstantPool.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6496
        javaConstantPoolObject]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6497
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6498
    "Created: / 21-12-2010 / 19:54:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6499
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6500
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6501
!JavaVM::ReflectionRegistry methodsFor:'reflection - methods & ctors'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6502
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6503
classForJavaConstructorObject:constructor
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6504
     "given a java.lang.reflect.Constructor, return the corresponding class for it."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6505
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6506
    | jclass |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6507
    jclass := constructor instVarNamed: #clazz.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6508
    ^self classForJavaClassObject: jclass.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6509
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6510
    "Created: / 22-08-2012 / 12:23:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6511
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6512
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6513
javaConstructorObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6514
     "given a real method, return the corresponding java.lang.reflect.Constructor
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6515
      instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6516
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6517
    | jCtor |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6518
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6519
    javaMethodsPerMethod at:method ifPresent:[:existingCtor|^existingCtor].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6520
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6521
    jCtor := (Java classForName:'java.lang.reflect.Constructor') new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6522
    self javaMethodObjectLikeSlotsInto: jCtor forMethod: method.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6523
    self rememberJavaMethodObject: jCtor for: method.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6524
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6525
    ^ jCtor
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6526
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6527
    "Created: / 09-02-2011 / 10:28:12 / Marcel Hlopko <hlopik@gmail.com>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6528
    "Modified: / 05-12-2011 / 10:02:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6529
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6530
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6531
javaMethodObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6532
     "given a real method, return the corresponding java.lang.reflect.Constructor
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6533
      instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6534
     | jMethod |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6535
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6536
    javaMethodsPerMethod at:method ifPresent:[:existingCtor|^existingCtor].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6537
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6538
    jMethod := (Java classForName:'java.lang.reflect.Method') new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6539
    self javaMethodObjectLikeSlotsInto: jMethod forMethod: method.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6540
    self rememberJavaMethodObject: jMethod for: method.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6541
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6542
    jMethod
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6543
        instVarNamed: #name       put: (self javaStringObjectForString: (method selector upTo:$() interned: true);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6544
        instVarNamed: #returnType put: (method descriptor returnClassObject);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6545
        instVarNamed: #annotationDefault put: (method annotations default bytes);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6546
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6547
        yourself.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6548
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6549
    ^jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6550
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6551
    "Created: / 09-02-2011 / 10:29:46 / Marcel Hlopko <hlopik@gmail.com>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6552
    "Modified: / 05-12-2011 / 10:02:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6553
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6554
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6555
javaMethodObjectLikeSlotsInto: jMethod forMethod: method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6556
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6557
       Fill in slots of given instance of java.lang.Method or
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6558
       java.lang.Constructor"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6559
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6560
    | desc |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6561
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6562
    desc := method descriptor.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6563
    jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6564
        instVarNamed: #clazz put: (self javaClassObjectForClass: method javaClass);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6565
        instVarNamed: #slot put: 0;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6566
        instVarNamed: #modifiers put: method accessFlags;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6567
        instVarNamed: #parameterTypes
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6568
            put: (self javaClassObjectArrayForClasses: desc parameterClasses);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6569
        instVarNamed: #exceptionTypes
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6570
            put: (self javaClassObjectArrayForClasses: method javaExceptionTable);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6571
        instVarNamed: #annotations put: (method annotations runtimeVisible bytes);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6572
        yourself.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6573
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6574
    method signature notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6575
        jMethod
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6576
            instVarNamed: #signature
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6577
            put: (self javaStringObjectForString: method signature interned: true)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6578
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6579
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6580
    ^ jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6581
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6582
    "Created: / 11-02-2011 / 06:44:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6583
    "Modified: / 04-06-2011 / 17:17:04 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6584
    "Modified: / 04-12-2011 / 19:40:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6585
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6586
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6587
methodForJavaConstructorObject:constructor
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6588
     "given a java.lang.reflect.Constructor, return the corresponding method
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6589
      it."
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6590
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6591
    | slot |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6592
    slot := constructor instVarNamed: #slot.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6593
    ^slot
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6594
"/    ^realMethods at: slot ifAbsent:[self error: 'No ctor found for java ctor object'].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6595
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6596
"/    |class signature|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6597
"/    class := self classForJavaClassObject:(constructor instVarNamed:#clazz).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6598
"/    signature := Java as_ST_String:(constructor instVarNamed:#signature).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6599
"/    class methodsDo:[:mthd|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6600
"/        mthd signature = signature ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6601
"/            ^mthd
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6602
"/        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6603
"/    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6604
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6605
    "Created: / 09-02-2011 / 10:36:07 / Marcel Hlopko <hlopik@gmail.com>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6606
    "Modified: / 01-08-2012 / 11:05:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6607
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6608
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6609
methodForJavaMethodObject:jmethod
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6610
     "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6611
         Given an instance of java.lang.reflect.Method, answers
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6612
         real method associated with it.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6613
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6614
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6615
    | slot |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6616
    slot := jmethod instVarNamed: #slot.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6617
    ^slot
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6618
"/    ^realMethods at: slot ifAbsent:[self error: 'No method found for java method object'].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6619
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6620
"/    |class name signature |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6621
"/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6622
"/    class := self classForJavaClassObject:(aJavaMethodObject instVarNamed:#clazz).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6623
"/    name := Java as_ST_String:(aJavaMethodObject instVarNamed:#name).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6624
"/    signature := Java as_ST_String:(aJavaMethodObject instVarNamed:#signature).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6625
"/    class methodsDo:[:mthd|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6626
"/        (mthd name = name and:[mthd signature = signature]) ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6627
"/            ^mthd
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6628
"/        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6629
"/    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6630
"/    self assert: false description: 'No such method, malformed java.lang.reflect.Method object?'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6631
"/    ^nil.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6632
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6633
    "Created: / 09-02-2011 / 10:32:14 / Marcel Hlopko <hlopik@gmail.com>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6634
    "Modified: / 01-08-2012 / 11:19:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6635
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6636
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6637
rememberJavaMethodObject: jmethod for: method
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6638
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6639
    javaMethodsPerMethod at: method put: jmethod.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6640
    realMethods add: method.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6641
    jmethod instVarNamed: #slot put: realMethods size.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6642
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6643
    "Created: / 05-12-2011 / 10:00:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6644
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6645
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6646
!JavaVM::ReflectionRegistry methodsFor:'reflection - other'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6647
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6648
javaStringObjectForString:string
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6649
    ^ self javaStringObjectForString: string interned: false
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6650
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6651
    "Created: / 09-02-2011 / 10:34:57 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6652
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6653
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6654
javaStringObjectForString:string interned:intern
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6655
    | s |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6656
    s := Java as_String: string.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6657
    ^intern ifTrue:[Java intern: s] ifFalse:[s]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6658
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6659
    "Modified: / 22-11-2010 / 17:57:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6660
    "Created: / 09-02-2011 / 10:34:29 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6661
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6662
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  6663
!JavaVM class methodsFor:'documentation'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  6664
2157
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6665
version
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6666
    ^ '$Header: /cvs/stx/stx/libjava/JavaVM.st,v 1.189 2013-02-25 11:15:31 vrany Exp $'
2157
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6667
!
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6668
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6669
version_CVS
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6670
    ^ '$Header: /cvs/stx/stx/libjava/JavaVM.st,v 1.189 2013-02-25 11:15:31 vrany Exp $'
2157
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6671
!
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6672
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6673
version_SVN
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6674
    ^ 'Id'
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  6675
! !
2108
ca8c4e7db2e8 category change
Claus Gittinger <cg@exept.de>
parents: 2100
diff changeset
  6676
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6677
2085
dc0785700fbb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  6678
JavaVM initialize!