JavaVM.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 18 Apr 2013 23:32:13 +0200
branchdevelopment
changeset 2526 ef415ed11871
parent 2515 bcfe9f4dca6b
child 2527 c380a7c258fb
permissions -rw-r--r--
Added JavaUnresolvedCompilationError. This one is raised whenever Java code reaches unresolved code / code with errors. This is dove by translating exception thrown by ECJ-synthetized error code into smalltalk exception. This has two advantages: 1) allow for easier handling of this un user code 2) it is not handled by thread error handler so when raised, it does not cause silen thread death.
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
2515
bcfe9f4dca6b Improvements in JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2457
diff changeset
  3727
    self throwNullPointerException:'null pointer'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3728
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3729
    "Created: / 09-01-1998 / 02:26:08 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3730
    "Modified: / 28-01-1998 / 02:30:09 / cg"
2515
bcfe9f4dca6b Improvements in JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2457
diff changeset
  3731
    "Modified: / 15-04-2013 / 21:18:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3732
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3733
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3734
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
  3735
    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
  3736
        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
  3737
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3738
    ^ 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
  3739
        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
  3740
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
    "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
  3742
    "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
  3743
    "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
  3744
    "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
  3745
!
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
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
  3748
    ^ 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
  3749
	throwExceptionClassName:'java.lang.NumberFormatException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3750
	withMessage:'bad number format'
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3751
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3752
    "Modified: / 7.1.1998 / 15:25:35 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3753
    "Created: / 11.1.1998 / 16:08:22 / cg"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3754
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3755
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3756
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
  3757
    ^ 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
  3758
        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
  3759
        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
  3760
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3761
    "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
  3762
    "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
  3763
    "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
  3764
!
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
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
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
  3767
    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
  3768
        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
  3769
        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
  3770
            ^ 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
  3771
                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
  3772
        ].
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
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
    "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
  3775
!
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
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
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
  3778
    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
  3779
        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
  3780
            ^ 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
  3781
                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
  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
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
    "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
  3785
!
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
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
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
  3788
    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
  3789
        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
  3790
            ^ 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
  3791
                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
  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
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
    "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
  3795
    "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
  3796
!
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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3798
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
  3799
    ^ self throwZipException:'error in opening zip file'.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3800
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3801
    "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
  3802
    "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
  3803
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3804
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
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
  3806
    ^ 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
  3807
           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
  3808
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
    "Created: / 20-07-2012 / 19:15:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3810
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3811
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3812
!JavaVM class methodsFor:'helpers - io'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3813
2353
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
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
  3815
    "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
  3816
     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
  3817
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3818
    | 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
  3819
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
    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
  3821
    [ 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
  3822
        (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
  3823
            "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
  3824
            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
  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
                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
  3827
                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
  3828
                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
  3829
                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
  3830
                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
  3831
            ] 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
  3832
                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
  3833
            ].
2353
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
        ] 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
  3835
            ex pass.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3836
        ].
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  3837
    ].
2353
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
    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
  3839
        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
  3840
        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
  3841
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3842
    ^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
  3843
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
    "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
  3845
    "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
  3846
    "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
  3847
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3848
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3849
!JavaVM class methodsFor:'helpers - reflection'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3850
2353
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
classForJavaClassObject:aJavaClassObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3852
    "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
  3853
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3854
    ^ self reflection classForJavaClassObject:aJavaClassObject
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3855
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3856
    "Created: / 23-01-1998 / 17:44:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3857
    "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
  3858
    "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
  3859
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3860
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3861
javaClassObjectForClass: aClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3862
    "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
  3863
     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
  3864
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3865
"/    | 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
  3866
"/
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
"/    "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
  3868
"/    (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
  3869
"/        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
  3870
"/    ] 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
  3871
    ^ self reflection javaClassObjectForClass: aClass.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3872
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3873
    "Created: / 23-01-1998 / 17:43:38 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3874
    "Modified: / 05-12-1998 / 15:29:32 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3875
    "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
  3876
    "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
  3877
    "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
  3878
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3879
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3880
javaConstructorObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3881
    "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
  3882
     instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3883
    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
  3884
    ^ self reflection javaConstructorObjectForMethod: method.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3885
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3886
    "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
  3887
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3888
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3889
javaFieldObjectForField: aJavaField in: aJavaLangClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3890
    "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
  3891
     instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3892
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3893
        See OpenJDK7 source:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3894
        jdk7/hotspot/src/share/vm/runtime/reflection.cpp,
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3895
        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
  3896
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3897
    | field  clazz  name  slot  type  modifiers |
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
    clazz := aJavaLangClass.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3900
    name := self reflection javaStringObjectForString: aJavaField name
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3901
                interned: true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3902
    slot := aJavaField index.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3903
    type := self javaClassObjectForClass: aJavaField typeClass.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3904
    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
  3905
    field := (self classForName: 'java.lang.reflect.Field') new.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3906
    field
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3907
        instVarNamed: #clazz put: clazz;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3908
        instVarNamed: #name put: name;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3909
        instVarNamed: #slot put: slot;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3910
        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
  3911
        instVarNamed: #modifiers put: modifiers;
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3912
        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
  3913
    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
  3914
        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
  3915
            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
  3916
                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
  3917
        ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3918
    ^ field.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3919
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3920
    "Modified: / 05-12-1998 / 15:29:32 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3921
    "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
  3922
    "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
  3923
    "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
  3924
    "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
  3925
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3926
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3927
javaMethodObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3928
    "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
  3929
     instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3930
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3931
    ^ self reflection javaMethodObjectForMethod:method.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3932
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3933
    "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
  3934
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3935
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3936
methodForJavaConstructorObject:constructor
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3937
    "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
  3938
     it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3939
    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
  3940
    ^ self reflection methodForJavaConstructorObject: constructor.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3941
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3942
    "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
  3943
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3944
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3945
methodForJavaMethodObject:aJavaMethodObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3946
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3947
        Given an instance of java.lang.reflect.Method, answers
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3948
        real method associated with it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3949
   ^ self reflection methodForJavaMethodObject:aJavaMethodObject.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3950
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3951
    "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
  3952
    "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
  3953
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3954
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3955
!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
  3956
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3957
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
  3958
    | 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
  3959
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3960
    "/    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
  3961
    "/                   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
  3962
    "/    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
  3963
    "/        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
  3964
    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
  3965
    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
  3966
        LockTable at:someObject put:(mon := JavaMonitor for:someObject)
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3967
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3968
2353
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
"/        ].
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
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
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3973
    "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
  3974
    "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
  3975
    "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
  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
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
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
  3979
    | 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
  3980
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  3981
    "/ 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
  3982
    "/ JavaMethods (they are smalltalk trampolines) and thus their
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  3983
    "/ activation does not create Java context
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  3984
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  3985
    "/ 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
  3986
    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
  3987
        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
  3988
        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
  3989
        ^ self
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3990
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3991
    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
  3992
    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
  3993
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  3994
            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
  3995
                    bindWith:(self monitorFriendlyPrintStringOf:someObject)
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  3996
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  3997
                    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
  3998
            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
  3999
            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
  4000
    ].
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
    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
  4002
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4003
    "/ 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
  4004
    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
  4005
    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
  4006
        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
  4007
    ] 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
  4008
        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
  4009
            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
  4010
        ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4011
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4012
2353
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
    "/ 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
  4014
    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
  4015
"/    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
  4016
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4017
    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
  4018
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
    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
  4020
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4021
            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
  4022
                    bindWith:(self monitorFriendlyPrintStringOf:someObject)
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4023
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4024
                    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
  4025
            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
  4026
            facility:#JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4027
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4028
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4029
    "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
  4030
    "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
  4031
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4033
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
  4034
    | 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
  4035
"/    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
  4036
    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
  4037
        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
  4038
        self breakPoint: #mh.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4039
        ^ self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4040
    ].
2353
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
    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
  4042
    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
  4043
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4044
            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
  4045
                    bindWith: (self monitorFriendlyPrintStringOf: someObject)
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4046
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4047
                    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
  4048
            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
  4049
            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
  4050
    ].
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4052
    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
  4053
    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
  4054
"/    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
  4055
    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
  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
    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
  4058
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4059
            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
  4060
                    bindWith: (self monitorFriendlyPrintStringOf: someObject)
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4061
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4062
                    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
  4063
            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
  4064
            facility: #JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4065
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4066
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4067
    "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
  4068
    "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
  4069
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4071
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
  4072
    | 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
  4073
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
    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
  4075
    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
  4076
    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
  4077
    (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
  4078
        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
  4079
        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
  4080
            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
  4081
        ^self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4082
    ].
2353
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 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
  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
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
    "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
  4087
    "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
  4088
!
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
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
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
  4091
    | 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
  4092
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
    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
  4094
    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
  4095
    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
  4096
    (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
  4097
        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
  4098
        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
  4099
            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
  4100
        ^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
  4101
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4102
    ].
2353
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
    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
  4104
    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
  4105
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
    "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
  4107
    "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
  4108
!
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
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
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
  4111
    "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
  4112
     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
  4113
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
    | 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
  4115
    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
  4116
        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
  4117
            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
  4118
            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
  4119
            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
  4120
    ].
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
    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
  4122
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
    wasBlocked := OperatingSystem blockInterrupts.
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4124
    "/self assert: aJavaContext method isSynchronized.
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4125
    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
  4126
    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
  4127
        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
  4128
    ] 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
  4129
        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
  4130
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4131
%{
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
    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
  4133
      __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
  4134
    }
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
%}.
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
    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
  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
    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
  4139
        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
  4140
            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
  4141
            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
  4142
            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
  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
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
    "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
  4146
!
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
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
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
  4149
    "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
  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
    | 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
  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
    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
  4154
    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
  4155
        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
  4156
        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
  4157
    ].
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
    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
  4159
    (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
  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
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
    "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
  4166
    "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
  4167
    "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
  4168
    "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
  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
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
  4172
    "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
  4173
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
    | 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
  4175
    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
  4176
    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
  4177
        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
  4178
        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
  4179
            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
  4180
    ].
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
    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
  4182
    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
  4183
    (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
  4184
        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
  4185
        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
  4186
        ^self.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4187
    ].
2353
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
    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
  4189
    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
  4190
    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
  4191
    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
  4192
        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
  4193
        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
  4194
            throwInterruptedException: 'process was interrupted before/during wait !!?'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4195
    ].
2353
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
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
    "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
  4198
    "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
  4199
    "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
  4200
    "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
  4201
! !
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
!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
  4204
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
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
  4206
    "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
  4207
     *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
  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
    | 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
  4210
    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
  4211
    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
  4212
    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
  4213
        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
  4214
            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
  4215
                    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
  4216
                    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
  4217
            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
  4218
            facility: #JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4219
    ].
2353
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
    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
  4221
    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
  4222
"/    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
  4223
"/    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
  4224
"/    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
  4225
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
    "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
  4227
    "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
  4228
!
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
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
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
  4231
    | 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
  4232
    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
  4233
    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
  4234
    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
  4235
    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
  4236
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
    "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
  4238
    "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
  4239
!
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
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
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
  4242
    "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
  4243
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
    | 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
  4245
    (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
  4246
        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
  4247
        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
  4248
        enteredMonitors do: [:each | self acquireMonitor: each ofProcess: aProcess. ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4249
    ].
2353
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
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
    "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
  4252
!
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
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
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
  4255
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
    ^ (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
  4257
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
    "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
  4259
    "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
  4260
!
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
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
  4263
"/    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
  4264
    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
  4265
        self assert: ((self acquiredMonitorsOfProcess: aProcess) last first == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4266
    ] 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
  4267
        self assert: ((self acquiredMonitorsOfProcess: aProcess) last == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4268
    ].
2353
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 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
  4270
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
    "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
  4272
    "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
  4273
    "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
  4274
!
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
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
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
  4277
    ^ 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
  4278
        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
  4279
            | 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
  4280
            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
  4281
            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
  4282
            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
  4283
        ]
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
            .
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
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
    "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
  4287
!
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
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
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
  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
    ^ 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
  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
    "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
  4295
    "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
  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
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
  4299
    "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
  4300
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
    ^ (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
  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
    "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
  4304
    "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
  4305
!
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
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
  4308
    "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
  4309
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
    ^ (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
  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
    "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
  4313
    "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
  4314
!
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
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
  4317
    | 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
  4318
    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
  4319
    ^ 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
  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
    "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
  4322
!
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
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
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
  4325
    | 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
  4326
    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
  4327
    ^ 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
  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
    "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
  4330
!
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
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
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
  4333
    "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
  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
    | 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
  4336
    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
  4337
        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
  4338
        objInLists := { obj . MonitorTraceId }
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4339
    ] 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
  4340
        objInLists := obj
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4341
    ].
2353
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
"/    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
  4343
    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
  4344
    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
  4345
    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
  4346
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4347
        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
  4348
            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
  4349
                    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
  4350
                    with: aProcess id
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4351
                    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
  4352
            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
  4353
            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
  4354
            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
  4355
            "/attachment: thisContext fullPrintAllString
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4356
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4357
    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
  4358
    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
  4359
"/    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
  4360
"/    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
  4361
"/    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
  4362
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
    "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
  4364
    "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
  4365
!
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
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
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
  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
    ^ (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
  4370
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
    "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
  4372
    "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
  4373
    "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
  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
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
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
  4377
"/    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
  4378
"/    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
  4379
    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
  4380
        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
  4381
    ] 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
  4382
        self assert: ((self enteredMonitorsOfProcess: aProcess) last == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4383
    ].
2353
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
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
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 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
  4387
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
    "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
  4389
    "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
  4390
    "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
  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
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
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
  4394
    ^ 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
  4395
        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
  4396
            | 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
  4397
            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
  4398
            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
  4399
            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
  4400
        ]
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
            .
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
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
    "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
  4404
    "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
  4405
!
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
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
  4408
    "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
  4409
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
    ^ 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
  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
    "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
  4413
    "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
  4414
!
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
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
  4417
   |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
  4418
   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
  4419
   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
  4420
   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
  4421
    each exit.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4422
    ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4423
2353
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
    "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
  4425
!
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
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
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
  4428
    ^ (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
  4429
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: / 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
  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
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
  4434
   | 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
  4435
   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
  4436
   ^ 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
  4437
   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
  4438
           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
  4439
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
    "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
  4441
!
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
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
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
  4444
   | 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
  4445
   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
  4446
   ^ 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
  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
    "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
  4449
!
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
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
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
  4452
     | 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
  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
    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
  4455
    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
  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
    ^ 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
  4458
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
    "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
  4460
!
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
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
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
  4463
    "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
  4464
     *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
  4465
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
    | 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
  4467
    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
  4468
    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
  4469
    "/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
  4470
    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
  4471
        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
  4472
        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
  4473
                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
  4474
                with: aProcess name
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4475
                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
  4476
        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
  4477
        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
  4478
        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
  4479
        "/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
  4480
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4481
    ].
2353
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
    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
  4483
"/    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
  4484
"/    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
  4485
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
    "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
  4487
    "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
  4488
!
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
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
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
  4491
    "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
  4492
     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
  4493
     (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
  4494
     *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
  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
    | 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
  4497
    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
  4498
    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
  4499
        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
  4500
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
            | 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
  4502
            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
  4503
            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
  4504
                (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
  4505
                    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
  4506
                        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
  4507
                        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
  4508
                        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
  4509
                    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
  4510
                    mon exit
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4511
                ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4512
            ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4513
        ].
2353
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
        EnteredMonitorsPerProcess removeKey: aProcess.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4515
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4516
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4517
    "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
  4518
    "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
  4519
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4521
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
  4522
    | 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
  4523
    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
  4524
    (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
  4525
        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
  4526
    ] 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
  4527
        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
  4528
            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
  4529
                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
  4530
                        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
  4531
                        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
  4532
                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
  4533
                facility: #JVM
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4534
        ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4535
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4536
2353
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
    "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
  4538
    "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
  4539
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4540
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4541
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
  4542
    | 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
  4543
    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
  4544
        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
  4545
                    , someObject identityHash printString.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4546
    ].
2353
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
    ^ 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
  4548
!
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
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
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
  4551
    "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
  4552
     *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
  4553
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
    | 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
  4555
    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
  4556
    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
  4557
    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
  4558
    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
  4559
        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
  4560
            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
  4561
                    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
  4562
                    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
  4563
            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
  4564
            facility: #JVM.
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4565
    ].
2353
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
    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
  4567
    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
  4568
"/    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
  4569
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
    "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
  4571
    "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
  4572
!
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
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
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
  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
    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
  4577
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
    "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
  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
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
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
  4582
    "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
  4583
     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
  4584
     *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
  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
    | 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
  4587
    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
  4588
    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
  4589
        monitors do: [:obj | self releaseMonitor: obj ofProcess: aProcess. ].
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4590
    ].
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4591
2353
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
    "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
  4593
    "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
  4594
    "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
  4595
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4596
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4597
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
  4598
    "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
  4599
     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
  4600
     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
  4601
     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
  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
    ^ [
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
        | 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
  4605
        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
  4606
            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
  4607
        ].
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
        self releaseMonitorsOfUnwindingContext: aJavaContext.
544
18535acdec91 checkin from browser
cg
parents: 541
diff changeset
  4609
    ].
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4610
2353
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
    "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
  4612
    "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
  4613
    "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
  4614
! !
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4615
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4616
!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
  4617
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
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
  4619
    "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
  4620
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4621
    | 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
  4622
    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
  4623
    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
  4624
    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
  4625
    (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
  4626
        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
  4627
            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
  4628
                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
  4629
                        , (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
  4630
                            , ' 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
  4631
                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
  4632
                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
  4633
        ].
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
        self releaseMonitorsOfProcess: thisProcess.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4635
    ].
2353
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
    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
  4637
    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
  4638
    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
  4639
        (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
  4640
            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
  4641
        ].
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
    ].
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
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
    "/ 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
  4645
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
    (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
  4647
        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
  4648
        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
  4649
            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
  4650
                    , (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
  4651
                        , ' 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
  4652
            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
  4653
            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
  4654
        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
  4655
        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
  4656
        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
  4657
        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
  4658
    ].
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
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
    "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
  4661
    "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
  4662
    "Modified: / 20-11-2011 / 12:36:47 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
  4663
! !
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
  4664
2353
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
!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
  4666
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
_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
  4668
    "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
  4669
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4670
    ^ 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
  4671
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
    "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
  4673
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4674
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4675
!JavaVM class methodsFor:'others'!
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4676
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4677
version_HG
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4678
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4679
    ^ '$Changeset: <not expanded> $'
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4680
! !
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4681
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4682
!JavaVM class methodsFor:'queries'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4683
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4684
booted
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4685
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4686
    | jVM |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4687
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4688
    "/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
  4689
    ^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
  4690
        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
  4691
        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
  4692
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4693
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
"/    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
  4695
"/    ^ 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
  4696
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4697
    "
2353
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
     JavaVM booted"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4699
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4700
    "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
  4701
    "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
  4702
    "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
  4703
! !
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  4704
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4705
!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
  4706
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
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
  4708
    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
  4709
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4710
    "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
  4711
!
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
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
  4714
    ^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
  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: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
  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
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
  4720
    "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
  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
    | 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
  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
    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
  4725
    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
  4726
        ParkUnparkSemaphores := Dictionary new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4727
    ].
2353
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
    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
  4729
    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
  4730
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
    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
  4732
    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
  4733
    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
  4734
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
    "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
  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
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
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
  4739
    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
  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 / 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
  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
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
  4745
    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
  4746
    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
  4747
    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
  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
    "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
  4750
    "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
  4751
!
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
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
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
  4754
    "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
  4755
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
    | 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
  4757
    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
  4758
    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
  4759
    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
  4760
                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
  4761
    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
  4762
    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
  4763
    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
  4764
    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
  4765
        nm := jName
520
64e7e53cdfac checkin from browser
cg
parents: 519
diff changeset
  4766
    ].
2353
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
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
    "/ 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
  4769
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
    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
  4771
        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
  4772
            (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
  4773
                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
  4774
            ].
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
        ]
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  4776
    ].
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  4777
2353
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
    "/ 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
  4779
    "/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
  4780
    "/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
  4781
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4782
    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
  4783
        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
  4784
            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
  4785
                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
  4786
                        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
  4787
                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
  4788
                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
  4789
            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
  4790
            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
  4791
            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
  4792
            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
  4793
                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
  4794
            ].
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
        ].
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
    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
  4797
    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
  4798
    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
  4799
    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
  4800
    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
  4801
    ^ 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
  4802
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
    "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
  4804
    "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
  4805
    "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
  4806
    "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
  4807
!
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
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
  4810
    "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
  4811
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
    | 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
  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
    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
  4815
    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
  4816
    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
  4817
    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
  4818
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
    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
  4820
    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
  4821
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
    "Created: / 16-08-2012 / 21:52:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4823
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4824
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4825
!JavaVM class methodsFor:'vm support'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4826
2353
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
_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
  4828
    "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
  4829
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4830
    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
  4831
    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
  4832
        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
  4833
                         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
  4834
        ^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
  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 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
  4837
    ^ cls javaArrayClass new:size
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4838
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4839
    "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
  4840
    "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
  4841
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4842
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4843
_ARRAYLENGTH:arr
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  4844
    arr isNil ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4845
        "/self halt:'should not happen'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4846
        self throwNullPointerException.
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  4847
    ].
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4848
    ^ arr size
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4849
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4850
    "Created: / 08-01-1999 / 14:38:27 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4851
    "Modified: / 31-05-2011 / 10:09:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4852
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4853
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  4854
_ATHROW:aJavaException
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4855
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4856
    <resource: #skipInDebuggersWalkBack>
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4857
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4858
    | message |
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4859
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  4860
    aJavaException isNil ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4861
        self halt:'cannot happen'
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  4862
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4863
    "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
  4864
     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
  4865
     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
  4866
     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
  4867
     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
  4868
     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
  4869
     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
  4870
    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
  4871
        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
  4872
        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
  4873
    ].
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4874
    "Another kludge: ECJ compiler throws java.lang.Error in case
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4875
     there's an unresolved compilation problem. We want to open debugger
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4876
     in this case tp be more Smalltalk-like - so translate such exception
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4877
     to JavaUnresolvedCompilationError"
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4878
    aJavaException class name == #'java/lang/Error' ifTrue:[
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4879
        message := aJavaException getMessage.
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4880
        (message startsWith: 'Unresolved compilation problem:') ifTrue:[
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4881
            JavaUnresolvedCompilationError newException
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4882
                messageText: (message copyFrom: 'Unresolved compilation problem:' size + 1) trimSeparators;
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4883
                raiseSignal
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4884
        ]
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4885
    ].
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4886
2353
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
    self throwException:aJavaException
519
0df8dbbb5a7a checkin from browser
cg
parents: 518
diff changeset
  4888
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4889
    "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
  4890
    "Modified: / 08-11-2011 / 16:32:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4891
    "Modified: / 18-04-2013 / 23:08:43 / 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
  4892
!
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
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
_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
  4895
    "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
  4896
     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
  4897
     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
  4898
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4899
    | class |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4900
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4901
    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
  4902
        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
  4903
    ].
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
    (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
  4905
        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
  4906
        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
  4907
        ^ 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
  4908
    ].
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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4910
    ^ true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4911
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4912
    "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
  4913
    "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
  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
_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
  4917
    "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
  4918
     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
  4919
     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
  4920
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4921
     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
  4922
     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
  4923
     "
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4925
    (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
  4926
        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
  4927
        ^ 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
  4928
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4929
    ^ object
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4930
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4931
    "Created: / 08-01-1999 / 14:53:51 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4932
    "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
  4933
    "Modified: / 09-10-2012 / 11:53:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4934
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4935
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4936
_D2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4937
    |v|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4938
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4939
    v := op1 asInteger.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4940
    v > 16r7FFFFFFF ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4941
	self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4942
	v := 16r7FFFFFFF
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4943
    ] ifFalse:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4944
	v < 16r80000000 negated ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4945
	    self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4946
	    v := 16r80000000 negated
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4947
	]
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4948
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4949
    ^ v
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4950
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4951
    "Modified: / 17.10.1998 / 21:55:49 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4952
    "Created: / 8.1.1999 / 14:47:13 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4953
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4954
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4955
_D2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4956
    |v|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4957
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4958
    v := op1 asInteger.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4959
    v > 16r7FFFFFFFFFFFFFFF ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4960
	self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4961
	v := 16r7FFFFFFFFFFFFFFF
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4962
    ] ifFalse:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4963
	v < 16r8000000000000000 negated ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4964
	    self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4965
	    v := 16r8000000000000000 negated
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4966
	]
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4967
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4968
    ^ v
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4969
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4970
    "Modified: / 17.10.1998 / 21:55:49 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4971
    "Created: / 8.1.1999 / 14:46:44 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4972
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4973
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4974
_DADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4975
    ^ op1 asFloat + op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4976
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4977
    "Created: / 8.1.1999 / 15:11:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4978
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4979
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4980
_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
  4981
    ^ 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
  4982
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4983
    "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
  4984
    "Modified: / 06-09-2011 / 19:31:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4985
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4986
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4987
_DMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4988
    ^ op1 asFloat * op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4989
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4990
    "Created: / 8.1.1999 / 14:49:52 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4991
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4992
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4993
_DNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4994
    ^ op asFloat negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4995
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4996
    "Created: / 8.1.1999 / 15:06:15 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4997
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4998
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4999
_DSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5000
    ^ op1 asFloat - op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5001
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5002
    "Created: / 8.1.1999 / 15:10:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5003
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5004
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5005
_F2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5006
    ^ self _D2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5007
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5008
    "Created: / 8.1.1999 / 14:47:42 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5009
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5010
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5011
_F2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5012
    ^ self _D2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5013
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5014
    "Created: / 8.1.1999 / 14:47:53 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5015
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5016
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5017
_FADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5018
    ^ op1 asShortFloat + op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5019
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5020
    "Created: / 8.1.1999 / 15:11:36 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5021
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5022
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5023
_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
  5024
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
    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
  5026
        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
  5027
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5028
    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
  5029
        ^ 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
  5030
    ].
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5031
    ^ op1 asShortFloat / op2 asShortFloat.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5032
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5033
    "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
  5034
    "Modified: / 06-07-2012 / 13:12:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5035
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5036
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5037
_FMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5038
    ^ op1 asShortFloat * op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5039
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5040
    "Created: / 8.1.1999 / 14:50:10 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5041
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5042
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5043
_FNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5044
    ^ op asShortFloat negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5045
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5046
    "Created: / 8.1.1999 / 15:06:33 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5047
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5048
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5049
_FSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5050
    ^ op1 asShortFloat - op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5051
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5052
    "Created: / 8.1.1999 / 15:08:17 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5053
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5054
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5055
_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
  5056
    "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
  5057
     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
  5058
     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
  5059
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
    object isNil ifTrue:[^0].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5061
    ^(self canCast: object class to: class)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5062
        ifTrue:[1]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5063
        ifFalse:[0]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5064
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5065
    "Created: / 08-01-1999 / 14:52:54 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5066
    "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
  5067
    "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
  5068
    "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
  5069
!
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
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
_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
  5072
    "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
  5073
     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
  5074
     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
  5075
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5076
    | 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
  5077
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5078
    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
  5079
    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
  5080
    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
  5081
    ^ (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
  5082
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5083
    "Created: / 15-10-2012 / 21:51:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5084
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5085
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5086
_L2D:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5087
    ^ op1 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5088
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5089
    "Created: / 8.1.1999 / 14:46:09 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5090
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5091
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5092
_L2F:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5093
    ^ op1 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5094
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5095
    "Created: / 8.1.1999 / 14:46:18 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5096
    "Modified: / 8.1.1999 / 14:50:18 / 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
_LADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5100
    |sum|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5101
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5102
    sum := (op1 + op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5103
    ^ sum
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5104
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5105
    "Created: / 8.1.1999 / 15:07:39 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5106
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5107
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5108
_LAND:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5109
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5110
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5111
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5112
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5113
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5114
    rslt := op1 bitAnd: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5115
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5116
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5117
    "Modified: / 7.1.1998 / 21:21:53 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5118
    "Created: / 8.1.1999 / 14:54:22 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5119
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5120
2353
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
_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
  5122
    "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
  5123
     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
  5124
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5125
    ^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
  5126
        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
  5127
    ] 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
  5128
        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
  5129
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5130
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5131
    "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
  5132
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5133
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5134
_LDIV:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5135
    |quo|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5136
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5137
    quo := op1 quo: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5138
    ^ quo
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5139
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5140
    "Created: / 8.1.1999 / 15:04:47 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5141
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5142
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5143
_LMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5144
    |prod o1 o2 sign|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5145
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5146
"/ self halt.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5147
    "/ ST's largeIntegers compute a correct result;
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5148
    "/ but here, we want the overflow to flow into the
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5149
    "/ sign bit ... (sigh)
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5150
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5151
    sign := 1.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5152
    (o1 := op1) < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5153
	sign := -1.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5154
	o1 := o1 negated.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5155
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5156
    (o2 := op2) < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5157
	sign := sign negated.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5158
	o2 := o2 negated.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5159
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5160
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5161
    prod := (o1 * o2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5162
    (prod bitAnd:16r8000000000000000) ~~ 0 ifTrue:[
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5163
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5164
    sign == -1 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5165
	prod := prod negated
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5166
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5167
    ^ prod
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5168
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5169
    "Created: / 8.1.1999 / 15:10:04 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5170
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5171
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5172
_LNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5173
    ^ op asInteger negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5174
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5175
    "Created: / 8.1.1999 / 15:06:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5176
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5177
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5178
_LOR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5179
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5180
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5181
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5182
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5183
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5184
    rslt := op1 bitOr: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5185
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5186
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5187
    "Created: / 8.1.1999 / 15:05:10 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5188
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5189
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5190
_LREM:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5191
    |rem|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5192
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5193
    rem := op1 rem: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5194
    ^ rem
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5195
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5196
    "Modified: / 7.1.1998 / 00:23:11 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5197
    "Created: / 8.1.1999 / 15:04:23 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5198
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5199
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5200
_LSHL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5201
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5202
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5203
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5204
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5205
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5206
    rslt := (op1 bitShift:op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5207
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5208
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5209
    "Created: / 8.1.1999 / 14:51:08 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5210
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5211
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5212
_LSHR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5213
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5214
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5215
    op1 < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5216
	self halt
524
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
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5220
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5221
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5222
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5223
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5224
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5225
    "Created: / 8.1.1999 / 14:51:57 / 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
_LSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5229
    |diff|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5230
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5231
    diff := (op1 - op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5232
    ^ diff
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5233
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5234
    "Created: / 8.1.1999 / 15:10:33 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5235
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5236
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5237
_LUSHR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5238
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5239
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5240
    op1 < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5241
	self halt
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5242
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5243
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5244
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5245
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5246
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5247
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5248
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5249
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5250
    "Modified: / 7.1.1998 / 21:22:17 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5251
    "Created: / 8.1.1999 / 14:51:32 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5252
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5253
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5254
_LXOR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5255
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5256
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5257
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5258
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5259
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5260
    rslt := op1 bitXor: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5261
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5262
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5263
    "Created: / 8.1.1999 / 15:12:28 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5264
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5265
2353
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
_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
  5267
    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
  5268
    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
  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
    self monitorEnter: someObject in: thisContext sender.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  5271
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5272
    "Created: / 08-01-1999 / 14:23:10 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5273
    "Modified: / 08-01-1999 / 18:47:26 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5274
    "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
  5275
    "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
  5276
    "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
  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
_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
  5280
    self monitorExit: someObject in: thisContext sender.
528
99eb49a63c1a checkin from browser
cg
parents: 526
diff changeset
  5281
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5282
    "Created: / 08-01-1999 / 14:23:19 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5283
    "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
  5284
    "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
  5285
    "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
  5286
!
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
_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
  5289
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
    | 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
  5291
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5292
    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
  5293
        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
  5294
                         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
  5295
        ^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
  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
    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
  5298
    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
  5299
    arr := arrCls new: dim1.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5300
    ^ arr.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5301
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5302
    "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
  5303
    "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
  5304
!
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
_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
  5307
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
    | 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
  5309
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
    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
  5311
        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
  5312
                         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
  5313
        ^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
  5314
    ].
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
    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
  5316
        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
  5317
                         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
  5318
        ^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
  5319
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5320
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5321
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
    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
  5323
    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
  5324
    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
  5325
    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
  5326
        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
  5327
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5328
    ^ arr.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5329
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5330
    "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
  5331
    "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
  5332
!
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
_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
  5335
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
    | 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
  5337
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
    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
  5339
        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
  5340
                         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
  5341
        ^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
  5342
    ].
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
    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
  5344
        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
  5345
                         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
  5346
        ^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
  5347
    ].
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
    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
  5349
        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
  5350
                         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
  5351
        ^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
  5352
    ].
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
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
    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
  5356
    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
  5357
    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
  5358
    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
  5359
        | 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
  5360
        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
  5361
        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
  5362
            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
  5363
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5364
        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
  5365
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5366
    ^ arr.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5367
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5368
    "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
  5369
    "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
  5370
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5371
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5372
_MULTINEW:typeRef _:dim1
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5373
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5374
    |arr|
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5375
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5376
    arr := typeRef new:dim1.
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5377
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5378
    ^ arr
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5379
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5380
    "Created: / 08-01-1999 / 14:15:42 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5381
    "Modified: / 08-01-1999 / 18:03:05 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5382
    "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
  5383
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5384
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5385
_MULTINEW: typeRef _: dim1 _: dim2
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5386
    | arr |
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
    arr := typeRef new: dim2.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5389
    1 to: dim2
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5390
        do: [:idx | arr at: idx put: (self _MULTINEW: typeRef javaComponentClass _: dim1) ].
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5391
    ^ arr
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5392
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5393
    "Created: / 08-01-1999 / 14:15:46 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5394
    "Modified: / 08-01-1999 / 17:58:11 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5395
    "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
  5396
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5397
2353
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
_MULTINEW:typeRef _:dim1 _:dim2 _:dim3
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5399
    |clsRef cls arr elType elSizes|
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5400
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5401
    clsRef := typeRef asClassPointerRef.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5402
    cls := clsRef javaArrayClass.
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5403
    arr := cls new:dim3.
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5404
    elType := typeRef deref.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5405
    1 to:dim3
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5406
        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
  5407
            [:idx |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5408
            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
  5409
                put:(self
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5410
                        _MULTINEW:elType
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5411
                        _:dim1
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5412
                        _: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
  5413
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5414
"/ 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
  5415
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5416
    ^ arr
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5417
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5418
    "Modified: / 6.1.1998 / 23:34:35 / cg"
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5419
    "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
  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
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
_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
  5423
    | 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
  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
    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
  5426
    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
  5427
    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
  5428
    ^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
  5429
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
    "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
  5431
    "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
  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
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
_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
  5435
    "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
  5436
     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
  5437
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
    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
  5439
        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
  5440
    ]
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
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
    "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
  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
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
_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
  5446
    | 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
  5447
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5448
    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
  5449
    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
  5450
    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
  5451
    ^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
  5452
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
    "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
  5454
    "Modified: / 02-11-2012 / 21:10:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  5455
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  5456
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5457
!JavaVM class methodsFor:'windows - events'!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5458
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5459
awtEventsForEvent: anEvent javaWindow: jWin
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5460
    "given an ST/X event, create corresponding AWT event(s) for it"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5461
2353
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
    | 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
  5463
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5464
    type := anEvent type.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5465
    eventArgs := anEvent arguments.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5466
    key := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5467
    modifiers := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5468
    x := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5469
    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
  5470
    ((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
  5471
        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
  5472
            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
  5473
                "/        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
  5474
                "/        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
  5475
                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
  5476
                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
  5477
                ((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
  5478
                    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
  5479
                        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
  5480
                            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
  5481
                            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
  5482
                            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
  5483
                            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
  5484
                        ]
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
                        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
  5486
                            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
  5487
                            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
  5488
                            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
  5489
                            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
  5490
                        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5491
                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
  5492
                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
  5493
                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
  5494
                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
  5495
                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
  5496
                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
  5497
                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
  5498
                jEv instVarNamed: 'updateRect' put: jRect.
476
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  5499
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  5500
"/        jEv instVarNamed:'g'         put:jWin.
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  5501
2353
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
                ^ 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
  5503
            ].
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
    (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
  5505
        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
  5506
            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
  5507
                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
  5508
                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
  5509
                    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
  5510
                ].
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
                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
  5512
                    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
  5513
                ].
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
                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
  5515
                    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
  5516
                ].
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
                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
  5518
                    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
  5519
                                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
  5520
                ].
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
                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
  5522
                    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
  5523
                                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
  5524
                ].
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
                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
  5526
                    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
  5527
                                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
  5528
                ].
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
                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
  5530
                    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
  5531
                                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
  5532
                ].
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
                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
  5534
                    "/ 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
  5535
                    "/ 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
  5536
                    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
  5537
                    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
  5538
                ].
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
            ].
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
    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
  5541
        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
  5542
        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
  5543
        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
  5544
        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
  5545
        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
  5546
            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
  5547
                        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
  5548
            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
  5549
                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
  5550
            ].
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
            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
  5552
                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
  5553
                "/ 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
  5554
            ].
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
            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
  5556
                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
  5557
                "/ 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
  5558
            ].
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
            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
  5560
                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
  5561
                "/ 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
  5562
            ].
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
            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
  5564
                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
  5565
                "/ 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
  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
            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
  5568
                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
  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 == #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
  5571
                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
  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
            (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
  5574
                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
  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
            (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
  5577
                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
  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 == #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
  5580
                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
  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
            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
  5583
                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
  5584
            ].
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
            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
  5586
                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
  5587
            ].
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
            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
  5589
                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
  5590
            ].
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
            (#( #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
  5592
                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
  5593
                    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
  5594
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5595
        (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
  5596
            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
  5597
        ] 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
  5598
        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
  5599
        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
  5600
        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
  5601
        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
  5602
        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
  5603
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5604
"/        jEv instVarNamed:'x'         put:x.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5605
"/        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
  5606
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
        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
  5608
        ^ Array with: jEv
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5609
    ].
2353
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
    (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
  5611
        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
  5612
        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
  5613
        (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
  5614
            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
  5615
        ] 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
  5616
            (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
  5617
                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
  5618
            ] 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
  5619
                (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
  5620
                    (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
  5621
                        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
  5622
                    ] 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
  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 == #'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
  5625
                    "/                        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
  5626
                    "/                    ] 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
  5627
                    (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
  5628
                        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
  5629
                    ] 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
  5630
                        (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
  5631
                            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
  5632
                        ] 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
  5633
                            (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
  5634
                                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
  5635
                                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
  5636
                            ] 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
  5637
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5638
"/                        ]
2353
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
                        ]
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
                    ]
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
                ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5642
            ]
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
        ].
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
        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
  5645
        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
  5646
        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
  5647
        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
  5648
        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
  5649
        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
  5650
        ^ Array with: jEv
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5651
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5652
    (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
  5653
        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
  5654
        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
  5655
        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
  5656
        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
  5657
        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
  5658
        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
  5659
        moved := (x ~~ view left or: [ y ~~ view top ]).
493
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  5660
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  5661
"/        (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
  5662
        "/ 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
  5663
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 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
  5665
493
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  5666
"/        ].
2353
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
        "/ 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
  5669
        "/ 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
  5670
        "/
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
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
        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
  5673
            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
  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
                "/ 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
  5676
                "/
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
                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
  5678
                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
  5679
                    "/ 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
  5680
                    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
  5681
                ]
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
            ]
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
        ].
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
        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
  5685
        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
  5686
        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
  5687
        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
  5688
        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
  5689
        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
  5690
            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
  5691
            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
  5692
            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
  5693
        ].
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
        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
  5695
            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
  5696
            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
  5697
            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
  5698
        ].
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
        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
  5700
            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
  5701
            ^ 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
  5702
        ] 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
  5703
        ^ Array with: jEv1 with: jEv2.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5704
    ].
2353
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
    (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
  5706
        "/ '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
  5707
        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
  5708
        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
  5709
        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
  5710
        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
  5711
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5712
    ].
2353
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
    (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
  5714
        "/ '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
  5715
        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
  5716
        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
  5717
        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
  5718
        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
  5719
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5720
    ].
2353
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
    (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
  5722
        "/ '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
  5723
        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
  5724
        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
  5725
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5726
"/        x := eventArgs at:1.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5727
"/        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
  5728
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5729
        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
  5730
        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
  5731
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5732
    ].
2353
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
    (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
  5734
        "/ '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
  5735
        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
  5736
        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
  5737
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5738
"/        x := eventArgs at:1.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5739
"/        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
  5740
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
        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
  5742
        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
  5743
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5744
    ].
2353
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
    (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
  5746
        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
  5747
         "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
  5748
         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
  5749
        " "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
  5750
        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
  5751
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5752
        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
  5753
        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
  5754
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5755
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5756
    EventTrace == true ifTrue: [ ('JAVA: unhandled event:' , type) infoPrintCR. ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5757
    ^ nil.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5758
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5759
    "Created: / 6.1.1998 / 20:38:58 / cg"
537
28e26396d17d *** empty log message ***
cg
parents: 536
diff changeset
  5760
    "Modified: / 9.1.1999 / 09:29:58 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5761
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5762
603
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5763
delegatesTo:someOne
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5764
    ^ false
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5765
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5766
    "Created: / 25.9.1999 / 16:11:48 / cg"
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5767
!
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5768
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5769
doWindowsEventThread
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5770
    "invoked in an endless loop by the WToolkit-eventLoop
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5771
     native method."
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5772
2353
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
    | 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
  5774
    (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
  5775
        "/ '*** 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
  5776
        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
  5777
        "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
  5778
            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
  5779
            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
  5780
            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
  5781
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
        "/ 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
  5783
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
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5785
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5786
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5787
    "/ wait for an event to arrive ...
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5788
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5789
    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
  5790
    [ 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
  5791
        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
  5792
        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
  5793
        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
  5794
            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
  5795
            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
  5796
            timeOut: nil.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5797
    ].
2353
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
    EventTrace ifTrue: [ '*** eventThread event arrived ...' printCR. ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5799
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5800
    "/ 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
  5801
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  5802
    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
  5803
    [ 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
  5804
        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
  5805
            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
  5806
            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
  5807
        ] 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
  5808
        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
  5809
            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
  5810
            ^ 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
  5811
        ].
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
        more := self processEvent: event
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  5813
    ]
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5814
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5815
    "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
  5816
    "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
  5817
    "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
  5818
!
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
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
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
  5821
    | 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
  5822
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
    KnownWindows isNil ifTrue: [ ^ false ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5824
    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
  5825
    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
  5826
    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
  5827
        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
  5828
            "/ 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
  5829
            "/ 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
  5830
            "/ 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
  5831
        ] 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
  5832
            "/ 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
  5833
            "/ 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
  5834
            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
  5835
                ('*** 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
  5836
                    , '-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
  5837
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5838
            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
  5839
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5840
        ^ true
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5841
    ].
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5842
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5843
    "/ change:
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5844
    "/ in the previous version, events for ST/X widgets (i.e. buttons etc)
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5845
    "/ where not passed to java, but instead forwarded directly to the widget
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5846
    "/ by the code below.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5847
    "/ This has changed, to pass it to Java, which eventually passes it to the
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5848
    "/ peer via the handleEvent native method (unless the event got consumed).
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5849
    "/ 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
  5850
2353
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
    (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
  5852
        "/    "/ 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
  5853
        "/
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
        "/    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
  5855
        "/"/        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
  5856
        "/"/            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
  5857
        "/"/                    ('*** 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
  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
        "/"/            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
  5860
        "/"/            ^ 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
  5861
        "/"/        ].
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
        "/        (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
  5863
        "/        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
  5864
        "/            "/ 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
  5865
        "/            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
  5866
        "/        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5867
        "/    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5868
        (#( #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
  5869
         #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
  5870
         #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
  5871
         #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
  5872
         #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
  5873
            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
  5874
        ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5875
    ].
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5876
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5877
    "/ what a kludge - some events are passed back to
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5878
    "/ ST via the WComponent-handleEvent native method.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5879
    "/ However, repaints are not.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5880
    "/ In order to let ST widgets do the drawing,
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5881
    "/ selectively filter exposeEvents from Java ...
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5882
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5883
    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
  5884
    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
  5885
        "/ 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
  5886
    ] 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
  5887
        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
  5888
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
        "/ 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
  5890
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
        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
  5892
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
        "/ 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
  5894
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5895
        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
  5896
            (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
  5897
            (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
  5898
            (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
  5899
            (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
  5900
            (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
  5901
            (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
  5902
            (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
  5903
        ].
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5904
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5905
    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
  5906
    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
  5907
        ('*** 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
  5908
            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
  5909
        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
  5910
        ' (' 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
  5911
        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
  5912
        ')' infoPrintCR.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5913
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5914
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5915
    "/ create an event
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5916
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5917
    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
  5918
    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
  5919
        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
  5920
            ('*** 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
  5921
        ].
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
        ^ true
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5923
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5924
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5925
"/    v superView isNil ifTrue:[
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5926
"/        ('*** eventThread: event ignored for topView: ' , event type) printCR.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5927
"/        ^ self
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5928
"/    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5929
2353
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
    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
  5931
439
9c3603a90f30 *** empty log message ***
cg
parents: 434
diff changeset
  5932
    "/ 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
  5933
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
    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
  5935
                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
  5936
    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
  5937
        :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
  5938
        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
  5939
        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
  5940
        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
  5941
            "/ 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
  5942
            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
  5943
            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
  5944
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5945
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5946
        "/ 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
  5947
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
        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
  5949
        jWToolKit "class" perform: #'postEvent(Ljava/awt/AWTEvent;)V' with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5950
    ].
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  5951
    ^ false
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  5952
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5953
    "Created: / 6.1.1998 / 20:36:36 / cg"
493
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  5954
    "Modified: / 10.12.1998 / 19:36:59 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5955
! !
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5956
2353
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
!JavaVM::Performance class methodsFor:'documentation'!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5958
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5959
documentation
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5960
"
2353
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
    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
  5962
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5963
    [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
  5964
        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
  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
    [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
  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
    [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
  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
    [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
  5971
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5972
"
2353
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5975
!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
  5976
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5977
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
  5978
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5979
    ^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
  5980
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
    "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
  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
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  5984
!JavaVM::Performance methodsFor:'accessing'!
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  5985
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  5986
counters
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  5987
    ^ counters
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  5988
! !
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  5989
2353
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
!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
  5991
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
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
  5993
    "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
  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
    ^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
  5996
!
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
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
  5999
    "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
  6000
     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
  6001
     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
  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
%{
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
    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
  6005
    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
  6006
%}.
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
    ^ 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
  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
    "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
  6010
!
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
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
  6013
    "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
  6014
     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
  6015
     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
  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
%{
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
    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
  6019
    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
  6020
%}.
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
    ^ 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
  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
    "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
  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
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
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
  6027
    "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
  6028
     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
  6029
     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
  6030
     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
  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
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6034
    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
  6035
    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
  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
    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
  6038
        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
  6039
        ^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
  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
    ^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
  6042
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6043
    "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
  6044
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6045
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
!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
  6047
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6048
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
  6049
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6050
    "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
  6051
    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
  6052
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6053
    vm := aJavaVM.
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6054
    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
  6055
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
    "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
  6057
    "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
  6058
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6059
2353
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
!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
  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
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
  6063
    "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
  6064
     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
  6065
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 |
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
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
    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
  6069
        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
  6070
    ]).
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
    '%-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
  6073
        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
  6074
        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
  6075
        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
  6076
        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
  6077
    } 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
  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
    ^ 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
  6080
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
        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
  6083
    "
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
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
    "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
  6086
!
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
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
  6089
    | 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
  6090
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
    (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
  6092
        | 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
  6093
        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
  6094
        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
  6095
            ^ '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
  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
    (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
  6099
        | 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
  6100
        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
  6101
            (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
  6102
                ^ '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
  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
        ].
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
    ].
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
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
    ((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
  6108
        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
  6109
            ^ '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
  6110
        ].
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
    ].
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
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
    ((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
  6114
        (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
  6115
            ^ '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
  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
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
    ((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
  6120
        (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
  6121
            ^ '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
  6122
        ].
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
    ].
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
    ^''
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
    "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
  6128
    "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
  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
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
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
  6132
    ^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
  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
    "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
  6135
!
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
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
  6138
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
    | 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
  6140
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
    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
  6142
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
    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
  6144
    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
  6145
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
    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
  6147
    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
  6148
    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
  6149
        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
  6150
            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
  6151
            (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
  6152
                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
  6153
            ].
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
            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
  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 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
  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
        ('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
  6160
            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
  6161
                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
  6162
                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
  6163
                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
  6164
        ).
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
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
    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
  6167
    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
  6168
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
        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
  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
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
    "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
  6174
    "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
  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
!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
  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
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
  6180
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 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
  6182
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
    "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
  6184
!
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
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
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
  6187
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: '=== 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
  6189
    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
  6190
    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
  6191
    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
  6192
    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
  6193
    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
  6194
    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
  6195
    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
  6196
    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
  6197
    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
  6198
    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
  6199
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
        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
  6202
    "
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
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
    "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
  6205
    "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
  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_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
  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:'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
  6211
    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
  6212
    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
  6213
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
    "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
  6215
!
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
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
  6218
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
    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
  6220
    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
  6221
    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
  6222
    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
  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
    "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
  6225
!
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
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
  6228
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
    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
  6230
    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
  6231
    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
  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
    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
  6234
    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
  6235
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
    "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
  6237
    "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
  6238
!
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
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
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
  6241
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
    | 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
  6243
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
    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
  6245
    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
  6246
                        [: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
  6247
    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
  6248
        | 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
  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
        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
  6251
        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
  6252
        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
  6253
        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
  6254
            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
  6255
            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
  6256
            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
  6257
            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
  6258
    ]
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
    "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
  6261
!
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
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
  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 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
  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: / 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
  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
!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
  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
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
  6273
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
    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
  6275
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
    "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
  6277
!
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
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
  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
        '  %-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
  6283
    ] 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
  6284
        '  %-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
  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
    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
  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
    "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
  6289
!
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
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
  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
    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
  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
    "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
  6296
! !
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
!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
  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
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
  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
    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
  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
    [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
  6305
        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
  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
    [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
  6308
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6309
    [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
  6310
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6311
    [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
  6312
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6313
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6314
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6315
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6316
!JavaVM::ReflectionRegistry class methodsFor:'instance creation'!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6317
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6318
for: aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6319
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6320
    ^self new setVM: aJavaVM.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6321
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6322
    "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
  6323
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6324
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6325
new
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6326
    "return an initialized instance"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6327
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6328
    ^ self basicNew initialize.
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
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6331
!JavaVM::ReflectionRegistry methodsFor:'debugging'!
2151
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
returnNilIfMissing
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6334
    ^ returnNilIfMissing.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6335
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6336
    "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
  6337
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6338
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6339
returnNilIfMissing:aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6340
    returnNilIfMissing:= aBoolean.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6341
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6342
    "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
  6343
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6344
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6345
!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
  6346
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6347
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
  6348
    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
  6349
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6350
    "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
  6351
!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6352
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6353
initialize
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6354
    constantPoolMapping := IdentityDictionary new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6355
    javaClasses := Dictionary new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6356
    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
  6357
    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
  6358
    javaMethodsPerMethod := Dictionary new
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6359
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6360
    "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
  6361
    "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
  6362
    "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
  6363
!
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
setVM: aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6366
2353
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
    "Now, aJavaVM == JavaVM (i.e, the class JavaVM
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6368
    itself, not its instance)"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6369
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6370
    vm := aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6371
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6372
    "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
  6373
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6374
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6375
!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
  6376
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6377
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
  6378
    ^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
  6379
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
    "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
  6381
!
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
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
classForJavaClassObject: aJavaClassObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6384
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6385
        Given an instance of java.lang.Class, answers
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6386
        real (Java) class associated with it. The instance
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6387
        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
  6388
        (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
  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
    (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
  6391
        == (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
  6392
            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
  6393
    ^ 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
  6394
        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
  6395
            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
  6396
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6397
            "/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
  6398
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6399
            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
  6400
        ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6401
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6402
    "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
  6403
    "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
  6404
    "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
  6405
!
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
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
javaClassObjectArrayForClasses: classes
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6408
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6409
        Answers an instance of java.lang.Class[] for given
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6410
        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
  6411
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6412
    | 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
  6413
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6414
    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
  6415
                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
  6416
    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
  6417
    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
  6418
        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
  6419
    ^ array
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
    "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
  6423
    "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
  6424
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6425
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6426
javaClassObjectForClass:aClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6427
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6428
    ^self javaClassObjectForClass:aClass init: true.
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
    "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
  6431
    "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
  6432
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6433
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6434
javaClassObjectForClass: aClass init: init
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6435
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6436
        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
  6437
        real (Java) class."
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6438
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6439
    | javaClassObj |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6440
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6441
    self assert: aClass isBehavior message: 'aClass is not behavior'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6442
    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
  6443
2353
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
    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
  6445
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6446
    "/ 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
  6447
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
    "/ 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
  6449
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6450
    "/ 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
  6451
    "/ 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
  6452
    (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
  6453
        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
  6454
        aClass lookupObject: JavaLookup instance.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6455
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6456
    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
  6457
    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
  6458
    ^ javaClassObj
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6459
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6460
    "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
  6461
    "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
  6462
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6463
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6464
javaClassObjectForClassNamed: className
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6465
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6466
        Answers an instance of java.lang.Class for given
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6467
        (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
  6468
        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
  6469
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6470
    | cls |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6471
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6472
    cls := JavaDescriptor baseTypesByTypeName at: className
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6473
                ifAbsent: [ vm classForName: className ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6474
    ^ self javaClassObjectForClass: cls.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6475
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6476
    "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
  6477
    "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
  6478
!
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
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
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
  6481
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6482
    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
  6483
    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
  6484
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6485
    "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
  6486
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6487
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6488
!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
  6489
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6490
constantPoolFor:javaConstantPoolObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6491
    ^ constantPoolMapping at:javaConstantPoolObject
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6492
        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
  6493
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6494
    "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
  6495
    "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
  6496
!
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
javaConstantPoolObjectFor: aConstantPool
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
    ^constantPoolMapping at: aConstantPool ifAbsent:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6501
        [| javaConstantPoolObject |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6502
        javaConstantPoolObject := (vm classForName:'sun.reflect.ConstantPool') new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6503
        constantPoolMapping at: aConstantPool put: javaConstantPoolObject.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6504
        constantPoolMapping at: javaConstantPoolObject put: aConstantPool.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6505
        javaConstantPoolObject]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6506
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6507
    "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
  6508
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6509
2353
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
!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
  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
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
  6513
     "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
  6514
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6515
    | 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
  6516
    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
  6517
    ^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
  6518
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
    "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
  6520
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6521
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6522
javaConstructorObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6523
     "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
  6524
      instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6525
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6526
    | jCtor |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6527
2353
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
    javaMethodsPerMethod at:method ifPresent:[:existingCtor|^existingCtor].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6529
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6530
    jCtor := (Java classForName:'java.lang.reflect.Constructor') new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6531
    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
  6532
    self rememberJavaMethodObject: jCtor for: method.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6533
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6534
    ^ jCtor
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6535
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6536
    "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
  6537
    "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
  6538
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6539
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
javaMethodObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6541
     "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
  6542
      instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6543
     | jMethod |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6544
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6545
    javaMethodsPerMethod at:method ifPresent:[:existingCtor|^existingCtor].
2151
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
    jMethod := (Java classForName:'java.lang.reflect.Method') new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6548
    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
  6549
    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
  6550
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6551
    jMethod
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6552
        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
  6553
        instVarNamed: #returnType put: (method descriptor returnClassObject);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6554
        instVarNamed: #annotationDefault put: (method annotations default bytes);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6555
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6556
        yourself.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6557
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6558
    ^jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6559
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6560
    "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
  6561
    "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
  6562
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6563
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6564
javaMethodObjectLikeSlotsInto: jMethod forMethod: method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6565
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6566
       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
  6567
       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
  6568
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6569
    | desc |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6570
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6571
    desc := method descriptor.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6572
    jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6573
        instVarNamed: #clazz put: (self javaClassObjectForClass: method javaClass);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6574
        instVarNamed: #slot put: 0;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6575
        instVarNamed: #modifiers put: method accessFlags;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6576
        instVarNamed: #parameterTypes
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6577
            put: (self javaClassObjectArrayForClasses: desc parameterClasses);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6578
        instVarNamed: #exceptionTypes
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6579
            put: (self javaClassObjectArrayForClasses: method javaExceptionTable);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6580
        instVarNamed: #annotations put: (method annotations runtimeVisible bytes);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6581
        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
  6582
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6583
    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
  6584
        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
  6585
            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
  6586
            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
  6587
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6588
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6589
    ^ jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6590
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6591
    "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
  6592
    "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
  6593
    "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
  6594
!
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
methodForJavaConstructorObject:constructor
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6597
     "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
  6598
      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
  6599
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
    | 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
  6601
    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
  6602
    ^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
  6603
"/    ^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
  6604
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6605
"/    |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
  6606
"/    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
  6607
"/    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
  6608
"/    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
  6609
"/        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
  6610
"/            ^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
  6611
"/        ].
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
"/    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6613
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6614
    "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
  6615
    "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
  6616
!
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
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
methodForJavaMethodObject:jmethod
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6619
     "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6620
         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
  6621
         real method associated with it.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6622
    "
2353
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
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
    | 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
  6625
    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
  6626
    ^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
  6627
"/    ^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
  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
"/    |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
  6630
"/
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
"/    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
  6632
"/    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
  6633
"/    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
  6634
"/    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
  6635
"/        (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
  6636
"/            ^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
  6637
"/        ]
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
"/    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
  6640
"/    ^nil.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6641
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6642
    "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
  6643
    "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
  6644
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6645
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
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
  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
    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
  6649
    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
  6650
    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
  6651
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6652
    "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
  6653
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6654
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6655
!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
  6656
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6657
javaStringObjectForString:string
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6658
    ^ self javaStringObjectForString: string interned: false
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6659
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6660
    "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
  6661
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6662
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6663
javaStringObjectForString:string interned:intern
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6664
    | s |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6665
    s := Java as_String: string.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6666
    ^intern ifTrue:[Java intern: s] ifFalse:[s]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6667
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6668
    "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
  6669
    "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
  6670
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6671
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  6672
!JavaVM class methodsFor:'documentation'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  6673
2157
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6674
version
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6675
    ^ '$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
  6676
!
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6677
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6678
version_CVS
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6679
    ^ '$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
  6680
!
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6681
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6682
version_SVN
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6683
    ^ 'Id'
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  6684
! !
2108
ca8c4e7db2e8 category change
Claus Gittinger <cg@exept.de>
parents: 2100
diff changeset
  6685
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6686
2085
dc0785700fbb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  6687
JavaVM initialize!