JavaVM.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 24 May 2013 17:55:42 +0100
branchbuiltin-class-support
changeset 2629 cedb88626902
parent 2620 263045d15796
child 2965 bac7022ca26a
permissions -rw-r--r--
Closing branch.
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:''
2605
f343a5ef30b6 An experiment: access to known class java.lang.Class through pool var.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2601
diff changeset
    55
	poolDictionaries:'JavaVMData'
2151
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
2605
f343a5ef30b6 An experiment: access to known class java.lang.Class through pool var.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2601
diff changeset
  1538
    java_lang_Object := java_lang_System := java_lang_Class := nil.
f343a5ef30b6 An experiment: access to known class java.lang.Class through pool var.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2601
diff changeset
  1539
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1540
    #( 'java.lang.Object' 'java.lang.Class' 'java.lang.String' 'java.lang.System' ) do: [:cName |
2605
f343a5ef30b6 An experiment: access to known class java.lang.Class through pool var.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2601
diff changeset
  1541
        (self classForName: cName definedBy: nil) isNil ifTrue: [
646
9f99cd5951a9 checkin from browser
cg
parents: 640
diff changeset
  1542
            AbortSignal raise.
9f99cd5951a9 checkin from browser
cg
parents: 640
diff changeset
  1543
            ^ self
9f99cd5951a9 checkin from browser
cg
parents: 640
diff changeset
  1544
        ]
326
d1a591aac993 checkin from browser
cg
parents: 325
diff changeset
  1545
    ].
2353
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
     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
  1548
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
    "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
  1550
    "Modified: / 23-12-1999 / 19:27:42 / cg"
2605
f343a5ef30b6 An experiment: access to known class java.lang.Class through pool var.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2601
diff changeset
  1551
    "Modified: / 21-05-2013 / 16:37:21 / 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
  1552
!
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
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
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
  1555
    "/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
  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
    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
  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
    "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
  1560
!
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
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
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
  1563
    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
  1564
    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
  1565
    self initializeOpenFileTable.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1566
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1567
    "
2353
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
     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
  1569
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: / 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
  1571
    "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
  1572
    "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
  1573
    "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
  1574
!
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
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
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
  1577
    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
  1578
    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
  1579
    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
  1580
    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
  1581
        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
  1582
        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
  1583
        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
  1584
    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
  1585
    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
  1586
        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
  1587
        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
  1588
        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
  1589
    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
  1590
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1591
    "
2353
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
     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
  1593
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1594
    "Created: / 17-08-2012 / 11:30:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1595
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1596
2372
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1597
initializeNatives
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
    NativeMethodsImplementation := Java release javaNativeMethodsImplementation.
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
    "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
  1602
!
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1603
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1604
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
  1605
    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
  1606
                        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
  1607
                        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
  1608
                        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
  1609
    OpenFileTableLock := RecursionLock new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1610
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1611
    "
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1612
     JavaVM initializeOpenFileTable
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1613
    "
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1614
2353
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: / 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
  1616
    "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
  1617
    "Modified: / 30-07-2012 / 18:12:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1618
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1619
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1620
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
  1621
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1622
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1623
    "/    #(
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1624
    "/        (#byte    'B' 1)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1625
    "/        (#short   'S' 2)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1626
    "/        (#int     'I' 4)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1627
    "/        (#long    'J' 8)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1628
    "/        (#boolean 'Z' 1)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1629
    "/        (#char    'C' 2)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1630
    "/        (#float   'F' 4)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1631
    "/        (#double  'D' 8)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1632
    "/        (#void    'V' 0)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1633
    "/    ) triplesDo:[:nm :sig :len |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1634
    "/        |jClass classInst|
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1635
    "/
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
    "/        "/ create a javaClass for it.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1638
    "/        "/
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1639
    "/        jClass := Java at:'java.lang.Class'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1640
    "/        jClass notNil ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1641
    "/            classInst := jClass new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1642
    "/            JavaClasses at:nm put:classInst.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1643
    "/            JavaClasses at:classInst put:nm.
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
    "/    ].
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
     self initializePrimitiveClasses"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1648
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1649
    "Modified: / 22-10-1998 / 01:56:02 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1650
    "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
  1651
    "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
  1652
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1653
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1654
initializeReflection
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1655
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1656
    Reflection := ReflectionRegistry for: self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1657
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1658
    "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
  1659
    "Modified: / 16-01-2013 / 20:55:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1660
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1661
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1662
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
  1663
    "return a collection of native libs which are considered
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1664
     being already loaded. (used with jdk < 1.2)"
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1665
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1666
    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
  1667
                        '__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
  1668
                        '/usr/local/lib'
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1669
                        '/usr/local/lib/java'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1670
                ).
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1671
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1672
    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
  1673
                        '__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
  1674
                        '__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
  1675
                        '__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
  1676
                        '__builtIn__/winawt'
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1677
                        '__builtIn__/jpeg'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1678
                        '__builtIn__/mmedia'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1679
                        '__builtIn__/zip'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1680
                        '__builtIn__/math'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1681
                        '__builtIn__/sysresource'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1682
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1683
                        "/ KAVA ...
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1684
                        '__builtIn__/agent'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1685
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1686
                        "/ MS-java ...
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1687
                        '__builtIn__/msawt'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1688
                        '__builtIn__/javart'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1689
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1690
                        "/ 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
  1691
                        '__builtIn__/jpeg_sun'
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1692
                      ).
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1693
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1694
    "
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1695
     self initializeSimulatedLibs
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1696
    "
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1697
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1698
    "Created: / 4.1.1998 / 19:05:03 / cg"
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1699
    "Modified: / 17.11.1998 / 23:53:02 / cg"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1700
!
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1701
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1702
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
  1703
    "return a collection of native libs which are considered
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1704
     being already loaded (used with jdk >= 1.2)"
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1705
2353
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
    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
  1707
        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
  1708
                                  '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
  1709
                                  '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
  1710
                                  '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
  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
        ^ 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
  1713
    ].
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
    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
  1715
        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
  1716
                                  '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
  1717
                                  'fontmanager.dll'          "/ req'd by java.text.Bidi
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1718
                                ).
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1719
        ^ self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1720
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1721
    SimulatedNativeLibs := #().
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1722
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1723
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1724
     self initializeSimulatedNativeLibs"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1725
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1726
    "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
  1727
    "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
  1728
    "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
  1729
    "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
  1730
!
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
initializeSimulatedNativeMemory
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
    SimulatedNativeMemory := JavaNativeMemory new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1735
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1736
    "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
  1737
    "Modified: / 07-12-2010 / 23:45:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1738
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1739
2353
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
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
  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 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
  1743
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
    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
  1745
    (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
  1746
        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
  1747
    ].
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
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
    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
  1750
    (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
  1751
        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
  1752
    ].
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
    "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
  1755
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1757
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
  1758
    | cpu  cpu2  os |
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1759
    "/ use JAVA compatible cpu-name
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1760
    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
  1761
    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
  1762
    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
  1763
    (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
  1764
        cpu2 := 'amd64'
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1765
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1766
    SimulatedOS notNil ifTrue: [ os := SimulatedOS ] ifFalse: [
661
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
  1767
        os := OperatingSystem getOSType.
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
  1768
        os := os asUppercaseFirst.
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1769
    ].
2353
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
    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
  1771
                '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
  1772
                '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
  1773
                '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
  1774
                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
  1775
                    (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
  1776
                ] 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
  1777
                '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
  1778
                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
  1779
                '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
  1780
                '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
  1781
                '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
  1782
                '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
  1783
                '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
  1784
                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
  1785
                '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
  1786
                '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
  1787
                '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
  1788
                '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
  1789
                '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
  1790
                '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
  1791
                '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
  1792
                '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
  1793
                '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
  1794
                '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
  1795
                '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
  1796
                '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
  1797
                '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
  1798
                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
  1799
                '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
  1800
                '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
  1801
                '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
  1802
                (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
  1803
                '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
  1804
                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
  1805
                '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
  1806
                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
  1807
                '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
  1808
                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
  1809
                '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
  1810
                '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
  1811
                '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
  1812
                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
  1813
                '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
  1814
                '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
  1815
                '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
  1816
                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
  1817
                '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
  1818
                '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
  1819
                '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
  1820
                '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
  1821
                '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
  1822
                '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
  1823
                '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
  1824
                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
  1825
                    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
  1826
                ] 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
  1827
                '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
  1828
                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
  1829
                '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
  1830
                ''.
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
                '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
  1832
                '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
  1833
                '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
  1834
                '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
  1835
                '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
  1836
                '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
  1837
                '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
  1838
                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
  1839
                '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
  1840
                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
  1841
                '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
  1842
                '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
  1843
                 "'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
  1844
                '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
  1845
                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
  1846
                '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
  1847
                '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
  1848
                '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
  1849
                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
  1850
                '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
  1851
                '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
  1852
                '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
  1853
                '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
  1854
                '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
  1855
                '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
  1856
                '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
  1857
                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
  1858
                '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
  1859
                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
  1860
                '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
  1861
                '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
  1862
                '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
  1863
                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
  1864
                '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
  1865
                '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
  1866
                '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
  1867
                '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
  1868
                '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
  1869
                '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
  1870
                '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
  1871
                '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
  1872
                '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
  1873
                ''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1874
            }.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1875
495
0ec68ea85f2b checkin from browser
cg
parents: 494
diff changeset
  1876
    "/ props at:'user.dir'           put:(Filename currentDirectory pathName).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1877
    "/props at:'awt.toolkit'        put:(self defaultWindowingToolKit).
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1878
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1879
    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
  1880
    props at: 'hotjava.home' put: (self defaultHotJavaHome).
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1881
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1882
    "/ new with jdk 1.1.8
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1883
    "/ undocumented ?
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1884
    "/ 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
  1885
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1886
    props at: 'appletviewer.version' put: '1.1'.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1887
280
274951f1502c checkin from browser
cg
parents: 277
diff changeset
  1888
    "/ 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
  1889
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1890
    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
  1891
    props at: 'java.awt.fonts' put: '/usr/lib/X11/fonts'.
280
274951f1502c checkin from browser
cg
parents: 277
diff changeset
  1892
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1893
    "/ jws
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1894
    "/props at:'jws.home'             put:(self defaultJWSHome).
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1895
    "/ new with jws 2.0 ...
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1896
    "/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
  1897
"/    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
  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
    "/ 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
  1900
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1901
    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
  1902
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1903
    ^ props
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1904
388
eb6bcedef274 checkin from browser
cg
parents: 380
diff changeset
  1905
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1906
     self initializeSystemPropertiesInto:(Dictionary new)"
388
eb6bcedef274 checkin from browser
cg
parents: 380
diff changeset
  1907
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1908
    "Created: / 03-01-1998 / 14:26:39 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1909
    "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
  1910
    "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
  1911
    "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
  1912
    "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
  1913
    "Modified: / 09-01-2013 / 17:11:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1914
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1915
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1916
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
  1917
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1918
    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
  1919
2372
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1920
    Java initializeRelease.
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1921
2353
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
    "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
  1923
     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
  1924
     - 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
  1925
     - 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
  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
    "/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
  1928
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
    "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
  1930
     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
  1931
    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
  1932
        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
  1933
        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
  1934
    ].
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1936
    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
  1937
    ClassLoaderQuerySignal := Query new.
640
6cf4e5aa3573 *** empty log message ***
cg
parents: 631
diff changeset
  1938
    JavaObject autoload.
6cf4e5aa3573 *** empty log message ***
cg
parents: 631
diff changeset
  1939
    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
  1940
    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
  1941
    MonitorTraceId := 0.
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1942
    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
  1943
    self initializeJavaResources.
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1944
    JavaConsoleStream := Transcript.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  1945
    Java initAllStaticFields.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  1946
    Java markAllClassesUninitialized.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1947
    ZipCache := OrderedCollection new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1948
    ZipEntryCache := OrderedCollection new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1949
    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
  1950
    FinalizationLobby := JavaFinalizationRegistry new.
2372
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1951
    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
  1952
429
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  1953
    "/ force re-resolving;
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  1954
    "/ otherwise, class-inits would not be called
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  1955
    "/ 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
  1956
2100
4989419ae5c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2098
diff changeset
  1957
    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
  1958
    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
  1959
        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
  1960
            :m |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1961
            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
  1962
            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
  1963
        ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1964
    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
  1965
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1966
    "/ 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
  1967
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  1968
    JavaClass startRememberingOrderOfClassInits.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1969
    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
  1970
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1971
    "/ < 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
  1972
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1973
    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
  1974
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1975
    "/ >= 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
  1976
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1977
    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
  1978
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1979
    "/>  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
  1980
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1981
    ThreadInterrupts := Dictionary new.
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  1982
    PerfCounters := Performance for: self.
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  1983
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1984
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1985
    self initializeClassReader.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1986
    self initializeOpenFileTable.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1987
    self initializeReflection.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1988
    self initializeBaseClasses.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1989
    self initializePrimitiveClasses.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1990
    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
  1991
    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
  1992
    self initializeSystemClassLoader.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1993
    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
  1994
    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
  1995
    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
  1996
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1997
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1998
    JavaNativeMethod allInstancesDo:[:e|e nCallsReset ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  1999
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2000
    "
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2001
     JavaVM initialize.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2002
     JavaVM initializeVM."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2003
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2004
    "Created: / 03-01-1998 / 21:29:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2005
    "Modified: / 14-12-1999 / 18:58:56 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2006
    "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
  2007
    "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
  2008
    "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
  2009
    "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
  2010
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2011
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2012
initializeVMIfNoEventThreadRunning
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2013
    |uClass updater p|
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2014
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2015
    uClass := JAVA::sun::awt::ScreenUpdater.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2016
    uClass notNil ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2017
        updater := uClass instVarNamed:'updater'.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2018
        updater notNil ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2019
            p := self stProcessForJavaThread:updater
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2020
        ].
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2021
        (updater isNil or:[p isNil or:[p isDead]]) isNil ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2022
            self initializeVM.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2023
            ^ self.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2024
        ]
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2025
    ].
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2026
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2027
    (JavaEventThread isNil or:[JavaEventThread isDead]) ifTrue:[
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2028
        self initializeVM
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2029
    ].
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2030
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2031
    "
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2032
     JavaVM initializeVMIfNoEventThreadRunning
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2033
    "
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2034
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2035
    "Created: / 15.1.1998 / 17:32:27 / cg"
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2036
    "Modified: / 24.12.1999 / 02:18:25 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2037
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2038
2353
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
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
  2040
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
    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
  2042
    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
  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
    "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
  2045
!
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
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
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
  2048
    "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
  2049
     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
  2050
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
    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
  2052
        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
  2053
    ].
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
    "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
  2056
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2057
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2058
reinitializeVM
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2059
    |classesToInit|
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
    self releaseAllJavaResources.
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
    JavaConsoleStream := Transcript.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2064
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2065
    Java initAllStaticFields.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2066
    Java markAllClassesUninitialized.
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
    self initializeOpenFileTable.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2069
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2070
    classesToInit := JavaClass orderOfClassInits.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2071
    JavaClass startRememberingOrderOfClassInits.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2072
451
50d24dc93f8b checkin from browser
cg
parents: 448
diff changeset
  2073
    self initializePrimitiveClasses.
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  2074
"/    Java initSystemClass.
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2075
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2076
    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
  2077
        jClass classInit
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2078
    ].
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  2079
    Java initSystemClass.
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2080
2353
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
    "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
  2082
    "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
  2083
    "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
  2084
!
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2085
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2086
reinitializeVMIfNoEventThreadRunning
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2087
    (JavaEventThread isNil or:[JavaEventThread isDead]) ifTrue:[
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2088
        ^ self reinitializeVM
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2089
    ].
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2090
    (JavaEventQueueThread isNil or:[JavaEventQueueThread isDead]) ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2091
        ^ self reinitializeVM
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2092
    ].
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2093
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2094
    "
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2095
     JavaVM reinitializeVMIfNoEventThreadRunning
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2096
    "
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2097
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2098
    "Created: / 24.11.1998 / 15:45:49 / cg"
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2099
    "Modified: / 24.12.1999 / 02:36:41 / cg"
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2100
!
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2101
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2102
releaseAllJavaResources
380
4bc7f45e2994 some more native support for NS4.0 java classes.
cg
parents: 374
diff changeset
  2103
    self deinitialize.
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2104
    FirstWindowCreationSemaphore := Semaphore new.
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2105
    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
  2106
    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
  2107
    LoadedNativeLibs := nil.
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2108
    ImageStretchCache := nil.
504
e22c50026869 checkin from browser
cg
parents: 503
diff changeset
  2109
    LastGraphics := LastGC := nil.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2110
    SimulatedNativeMemory := nil.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2111
    self initializePrimitiveClasses.
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2112
    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
  2113
    "/self releaseAllMonitors.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2114
    self releaseAllWindows.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2115
    self releaseAllStreams.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2116
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2117
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2118
     JavaVM releaseAllJavaResources"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2119
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2120
    "Created: / 07-01-1998 / 22:49:42 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2121
    "Modified: / 24-12-1999 / 02:33:11 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2122
    "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
  2123
    "Modified: / 16-11-2011 / 20:27:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2124
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2125
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2126
releaseAllMonitors
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2127
    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
  2128
    LockTableAccess := Semaphore "RecursionLock" forMutualExclusion.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2129
    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
  2130
    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
  2131
        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
  2132
            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
  2133
    ].
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
    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
  2135
    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
  2136
        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
  2137
        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
  2138
        facility: #JVM.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2139
    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
  2140
    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
  2141
    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
  2142
    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
  2143
    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
  2144
        EnteredMonitorsPerProcess := IdentityDictionary new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2145
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2146
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2147
     JavaVM releaseAllMonitors"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2148
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2149
    "Created: / 02-01-1998 / 18:04:05 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2150
    "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
  2151
    "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
  2152
    "Modified: / 13-04-2012 / 00:34:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2153
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2154
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2155
releaseAllStreams
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  2156
    OpenFileTable notNil ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2157
	OpenFileTable do:[:aStream |
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2158
	    aStream notNil ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2159
		aStream ~~ Stdin ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2160
		    aStream ~~ Stdout ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2161
			aStream ~~ Stderr ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2162
			    aStream ~~ JavaConsoleStream ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2163
				aStream isExternalStream ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2164
				    aStream shutDown
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
		]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2170
	    ]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2171
	]
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  2172
    ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2173
    self initializeOpenFileTable.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2174
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2175
    "
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2176
     JavaVM releaseAllStreams
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2177
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2178
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2179
    "Created: / 7.1.1998 / 22:57:04 / cg"
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  2180
    "Modified: / 4.2.1998 / 19:53:11 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2181
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2182
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2183
releaseAllWindows
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2184
    KnownWindows notNil ifTrue:[
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2185
	KnownWindows do:[:aView |
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2186
	    aView destroy
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2187
	].
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2188
	KnownWindows := nil.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2189
    ]
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2190
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2191
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2192
     self releaseAllWindows
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2193
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2194
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2195
    "Created: / 7.1.1998 / 22:58:32 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2196
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2197
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2198
releaseLeftOverMonitors
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2199
    "release monitors held by dead processes"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2200
2353
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
    | deadProcesses |
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2202
    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
  2203
    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
  2204
        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
  2205
            :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
  2206
            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
  2207
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
                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
  2209
                    :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
  2210
                    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
  2211
                        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
  2212
                        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
  2213
                        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
  2214
                    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
  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
                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
  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
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2219
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2220
    deadProcesses do: [:p | EnteredMonitorsPerProcess removeKey: p ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2221
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2222
    "
2353
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
     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
  2224
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
    "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
  2226
    "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
  2227
    "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
  2228
!
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
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
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
  2231
    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
  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
    "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
  2234
!
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
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
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
  2237
    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
  2238
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2239
    "Created: / 30-07-2012 / 17:13:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2240
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2241
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2242
systemProperties
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2243
    |props|
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2244
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2245
    props := Dictionary new.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2246
    self initializeSystemPropertiesInto:props.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2247
    ^ props
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2248
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2249
    "Created: / 3.1.1998 / 14:25:58 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2250
    "Modified: / 3.1.1998 / 14:32:38 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2251
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2252
2353
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
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
  2254
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
    "
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
    #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
  2257
    (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
  2258
    "
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
    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
  2260
        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
  2261
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2262
        ^self.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2263
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2264
2353
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
    "#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
  2266
    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
  2267
    (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
  2268
    "
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
    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
  2270
        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
  2271
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2272
        ^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
  2273
    ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2274
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2275
     JavaVM initializeVM
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2276
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2277
2353
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
    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
  2279
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
    "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
  2281
    "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
  2282
    "Modified: / 17-08-2012 / 15:35:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2283
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2284
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2285
!JavaVM class methodsFor:'Signal constants'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2286
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2287
badMessageSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2288
    ^ BadMessageSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2289
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2290
    "Created: / 2.1.1998 / 18:06:52 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2291
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2292
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2293
callHandlerSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2294
    ^ CallHandlerSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2295
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2296
    "Created: / 2.1.1998 / 18:07:16 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2297
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2298
2353
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
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
  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
    <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
  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
    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
  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
    ^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
  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
    "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
  2308
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2309
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2310
internalErrorSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2311
    ^ InternalErrorSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2312
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2313
    "Created: / 2.1.1998 / 18:07:05 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2314
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2315
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2316
javaExceptionSignal
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2317
    "^ JavaExceptionSignal"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2318
    ^JavaError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2319
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2320
    "Created: / 02-01-1998 / 18:05:58 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2321
    "Modified: / 01-03-2011 / 21:50:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2322
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2323
2353
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
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
  2325
    ^ 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
  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
    "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
  2328
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2329
576
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2330
stdinReplacementFileQuerySignal
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2331
    ^ StdinReplacementFileQuerySignal
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2332
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2333
    "Created: / 2.1.1998 / 18:06:52 / cg"
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2334
!
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2335
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2336
unhandledJavaExceptionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2337
    ^ UnhandledJavaExceptionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2338
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2339
    "Created: / 2.1.1998 / 18:05:19 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2340
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2341
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2342
unimplementedInstructionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2343
    ^ UnimplementedInstructionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2344
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2345
    "Created: / 2.1.1998 / 18:06:15 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2346
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2347
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2348
unimplementedNativeMethodSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2349
    ^ UnimplementedNativeMethodSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2350
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2351
    "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
  2352
    "Modified: / 15-01-2013 / 22:30:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2353
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2354
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2355
!JavaVM class methodsFor:'accessing'!
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2356
2353
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
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
  2358
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
    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
  2360
    ^ 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
  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
    "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
  2363
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2364
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
addSelector:newSelector withMethod:newMethod
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2366
    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
  2367
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2368
    "/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
  2369
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2370
    (Smalltalk at:#JavaNativeMethod)
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2371
        ifNotNil:[JavaNativeMethod flushAllCachedNativeMethods].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2372
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2373
    "Created: / 24-12-1999 / 03:12:05 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2374
    "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
  2375
    "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
  2376
!
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
    AssertionsEnabled := aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2381
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2382
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2383
        JavaVM assertionsEnabled: true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2384
        JavaVM assertionsEnabled: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2385
    "
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
    "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
  2388
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2389
2353
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
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
  2391
    ^ 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
  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
    "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
  2394
!
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
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
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
  2397
    ^ 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
  2398
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
    "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
  2400
    "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
  2401
!
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
    ^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
  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
    "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
  2408
!
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
    ^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
  2413
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2414
    "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
  2415
!
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2416
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2417
javaEventQueueThread
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2418
     ^ JavaEventQueueThread
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
    "Created: / 24.12.1999 / 02:34:35 / cg"
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2421
!
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2422
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2423
javaEventThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2424
     ^ JavaEventThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2425
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2426
    "Created: / 8.1.1999 / 17:05:02 / cg"
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2427
!
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2428
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2429
javaScreenUpdaterThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2430
     ^ JavaScreenUpdaterThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2431
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2432
    "Created: / 8.1.1999 / 17:06:52 / cg"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2433
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2434
2353
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
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
  2436
    ^ 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
  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
    "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
  2439
!
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
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
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
  2442
    "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
  2443
    ^ 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
  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
    "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
  2446
!
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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2448
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
  2449
    ^ Reflection
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2450
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2451
    "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
  2452
    "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
  2453
!
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
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
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
  2456
    ^ 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
  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
    "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
  2459
!
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
    ^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
  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
    "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
  2466
!
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
    ^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
  2471
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2472
    "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
  2473
!
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
useSmalltalkInterpreter
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
    JavaMethod makeMetaMethod
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
    "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
  2480
!
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
useVMInterpreter
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
    JavaMethod makeJavaMethod
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
    "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
  2487
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2488
2618
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2489
!JavaVM class methodsFor:'accessing-builtin classes'!
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2490
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2491
builtInClassNames
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2492
    "Returns an array with (binary) names of classes known by the runtime system.
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2493
     When a builtin class is loaded and registered in class registry,
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2494
     JavaClassRegistry is sent #registerBuiltIn:
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2495
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2496
     NOTE: If you add class here, you may want to update
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2497
     JavaClassRegistry>>registerBuiltIn:.
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2498
    "
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2499
    ^#(
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2500
        #'java/lang/Object'
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2501
        #'java/lang/String'
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2502
        #'java/lang/System'        
2620
263045d15796 Initial support for generalized built-in class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2618
diff changeset
  2503
        #'java/lang/Class'  
263045d15796 Initial support for generalized built-in class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2618
diff changeset
  2504
263045d15796 Initial support for generalized built-in class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2618
diff changeset
  2505
        #'java/lang/reflect/Constructor'      
263045d15796 Initial support for generalized built-in class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2618
diff changeset
  2506
        #'java/lang/reflect/Method'
263045d15796 Initial support for generalized built-in class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2618
diff changeset
  2507
        #'java/lang/reflect/Field'
263045d15796 Initial support for generalized built-in class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2618
diff changeset
  2508
2618
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2509
    )
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2510
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2511
    "Created: / 22-05-2013 / 20:38:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2512
! !
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2513
2353
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
!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
  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
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
  2517
    "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
  2518
     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
  2519
     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
  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
    aClass methodDictionary do:[:mthd|
2577
20f1eddba58b Call __jbindnative() when initializing Java native method.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2568
diff changeset
  2522
        (mthd isJavaMethod and:[mthd isNative not and:[mthd isResolved not]]) 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
  2523
            "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
  2524
            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
  2525
            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
  2526
        ].
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
    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
  2529
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
    "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
  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
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
!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
  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
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
  2536
    ^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
  2537
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
    "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
  2539
!
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
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
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
  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
    ^ 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
  2544
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
    "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
  2546
    "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
  2547
!
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
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
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
  2550
    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
  2551
    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
  2552
    "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
  2553
    ^ 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
  2554
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
    "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
  2556
    "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
  2557
!
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
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
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
  2560
    "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
  2561
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
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
    ^ 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
  2564
        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
  2565
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
    "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
  2567
    "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
  2568
!
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
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
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
  2571
    "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
  2572
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2573
    | result binaryName |
2605
f343a5ef30b6 An experiment: access to known class java.lang.Class through pool var.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2601
diff changeset
  2574
2617
1bbc3b4a686f Removed debug print in JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2605
diff changeset
  2575
"/    classLoader isNil ifTrue:[
1bbc3b4a686f Removed debug print in JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2605
diff changeset
  2576
"/        Logger log: 'JavaVM>>classForName: ''', className , ''' definedBy: nil' severity: #trace.
1bbc3b4a686f Removed debug print in JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2605
diff changeset
  2577
"/    ].
2605
f343a5ef30b6 An experiment: access to known class java.lang.Class through pool var.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2601
diff changeset
  2578
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2579
    binaryName := className asSlashedJavaClassName.
2353
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
    result := self
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2581
                classForName: binaryName
2353
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
                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
  2583
                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
  2584
                    | class  classLoaderEnsured |
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2585
                    self assert: (binaryName includes: $.) not.
2353
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
                    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
  2587
                        "class loaders allowed after vm boot, until then, only primordial"
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2588
                        class := self usePrimordialCLToLoadClassNamed: binaryName.
2353
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
                        self assert:(class notNil)
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2590
                            message:'Couldnt load class ' , binaryName , ' while booting Java VM'.
2353
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
                        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
  2592
                    ] ifTrue: [
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
                        self assert:(self booted)
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2594
                            message:'Java VM is not booted and we are not using primordial class loader to load: ' , 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
  2595
                        (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
  2596
                            "we will use primordial class loader for classes in rt.jar etc"
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2597
                            class := self usePrimordialCLToLoadClassNamed: binaryName.
2353
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
                            self assert:(class notNil)
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2599
                                message:'Class ' , binaryName , ' is supposed to be in boot classpath, but we couldnt load 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
  2600
                            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
  2601
                        ] ifFalse: [
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2602
                            (Java release extDirsIncludesClassNamed: binaryName) ifTrue: [
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2603
                                class := self useExtCLToLoadClassNamed: binaryName.
2353
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
                                self assert:(class notNil)
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2605
                                    message:'Class ' , binaryName  , ' is supposed to be in java.ext,dirs, but we couldnt load 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
  2606
                                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
  2607
                            ] 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
  2608
                                "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
  2609
                                 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
  2610
                                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
  2611
                                    self assert:(self systemClassLoader notNil)
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2612
                                        message:'We needed system class loader, but its not loaded yet'.
2353
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
                                    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
  2614
                                ] 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
  2615
                                class := self useUserDefinedCL: classLoaderEnsured
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2616
                                            toLoadClassNamed: binaryName.
2353
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
                                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
  2618
                                    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
  2619
                                        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
  2620
                                                , 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
  2621
                                        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
  2622
                                        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
  2623
                                    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
  2624
                                ] 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
  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
                        ]
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
                ].
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
    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
  2630
        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
  2631
            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
  2632
            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
  2633
            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
  2634
    ] 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
  2635
    ^ 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
  2636
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
    "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
  2638
    "Modified: / 02-11-2011 / 16:49:45 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2639
    "Modified: / 07-05-2013 / 12:27:56 / 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
  2640
!
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
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
  2643
    "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
  2644
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
    | 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
  2646
    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
  2647
        ^ (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
  2648
    ].
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
    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
  2650
                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
  2651
                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
  2652
                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
  2653
    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
  2654
        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
  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
    ^ 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
  2657
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
    "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
  2659
    "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
  2660
    "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
  2661
!
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
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
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
  2664
    "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
  2665
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
    ^ 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
  2667
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
    "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
  2669
    "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
  2670
    "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
  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
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
  2674
    "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
  2675
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
    | 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
  2677
    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
  2678
        ^ (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
  2679
    ].
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
    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
  2681
                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
  2682
                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
  2683
                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
  2684
    ^ 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
  2685
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
    "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
  2687
    "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
  2688
    "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
  2689
!
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
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
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
  2692
"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
  2693
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
  2694
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
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
  2696
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
^ 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
  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
    "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
  2700
    "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
  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
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
  2704
    "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
  2705
     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
  2706
     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
  2707
     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
  2708
     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
  2709
     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
  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
    | 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
  2712
    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
  2713
    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
  2714
    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
  2715
    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
  2716
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
    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
  2718
        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
  2719
            :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
  2720
            (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
  2721
                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
  2722
                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
  2723
                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
  2724
                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
  2725
                (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
  2726
                    (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
  2727
                        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
  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
                ]
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
            ]
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
        ].
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
    ].
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
    ^ 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
  2734
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
    "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
  2736
    "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
  2737
! !
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
!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
  2740
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
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
  2742
    | 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
  2743
    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
  2744
    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
  2745
    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
  2746
    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
  2747
                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
  2748
                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
  2749
    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
  2750
    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
  2751
            , ' 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
  2752
                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
  2753
                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
  2754
    ^ 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
  2755
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
    "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
  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
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
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
  2760
    | 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
  2761
    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
  2762
        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
  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
    ^ 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
  2765
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
    "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
  2767
    "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
  2768
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2769
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2770
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
  2771
    | 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
  2772
    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
  2773
                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
  2774
                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
  2775
    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
  2776
    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
  2777
    ^ 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
  2778
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2779
    "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
  2780
    "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
  2781
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2782
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2783
!JavaVM class methodsFor:'debugging support'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2784
2353
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
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
  2786
    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
  2787
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
    "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
  2789
!
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
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
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
  2792
    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
  2793
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
    "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
  2795
    "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
  2796
!
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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2798
exceptionDebug
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2799
    ^ ExceptionDebug
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2800
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2801
    "Created: / 27.1.1999 / 20:14:51 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2802
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2803
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2804
exceptionDebug:aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2805
    ExceptionDebug := aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2806
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2807
    "Created: / 27.1.1999 / 20:15:00 / cg"
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
exceptionDebugPatterns
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2811
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2812
    ^ ExceptionDebugPatterns
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2813
    "
2353
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
    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
  2815
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
    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
  2817
    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
  2818
    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
  2819
    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
  2820
    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
  2821
    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
  2822
    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
  2823
    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
  2824
    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
  2825
    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
  2826
    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
  2827
    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
  2828
    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
  2829
    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
  2830
    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
  2831
    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
  2832
    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
  2833
    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
  2834
    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
  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
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
    ExceptionDebug := true.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2838
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2839
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2840
    "Created: / 25-02-2011 / 08:08:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2597
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2841
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2842
!
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2843
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2844
exceptionTrace:aBoolean
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2845
    ExceptionTrace := aBoolean
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2846
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2847
! !
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2848
2353
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
!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
  2850
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
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
  2852
    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
  2853
    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
  2854
    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
  2855
        | 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
  2856
        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
  2857
        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
  2858
            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
  2859
        ]
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
    ].
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
    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
  2862
        | 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
  2863
        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
  2864
        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
  2865
            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
  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
    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
  2869
        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
  2870
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2871
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2872
    "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
  2873
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2874
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2875
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
  2876
    ^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
  2877
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2878
    "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
  2879
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2880
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2881
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
  2882
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2883
    | 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
  2884
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2885
    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
  2886
    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
  2887
        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
  2888
            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
  2889
            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
  2890
            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
  2891
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2892
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2893
    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
  2894
        ('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
  2895
            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
  2896
                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
  2897
                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
  2898
        )
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2899
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
    "
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
        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
  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
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
    "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
  2905
! !
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
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2907
!JavaVM class methodsFor:'defaults'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2908
359
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2909
audioEnabled
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2910
    ^ NoAudio not
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2911
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2912
    "Created: / 18.7.1998 / 22:31:36 / cg"
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2913
!
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2914
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2915
audioEnabled:aBoolean
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2916
    NoAudio := aBoolean not
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2917
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2918
    "Created: / 18.7.1998 / 22:31:20 / cg"
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2919
!
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2920
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2921
defaultCLASSPATH
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2922
    |s|
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2923
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2924
    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
  2925
    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
  2926
        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
  2927
        separatedBy: [s nextPut: OperatingSystem pathSeparator].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2928
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2929
    ^ s contents
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2930
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2931
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2932
     self defaultCLASSPATH
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2933
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2934
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2935
    "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
  2936
    "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
  2937
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2938
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2939
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
  2940
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2941
    ^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
  2942
        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
  2943
            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
  2944
        ] 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
  2945
            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
  2946
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2947
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2948
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2949
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2950
    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
  2951
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2952
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2953
    "Created: / 31-08-2011 / 20:03:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2954
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2955
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2956
defaultHotJavaHome
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2957
    ^ '/usr/local/java/hotjava'.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2958
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2959
    "Modified: / 5.8.1997 / 04:13:36 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2960
    "Created: / 3.1.1998 / 14:27:34 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2961
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2962
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2963
defaultJAVAHome
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2964
    ^ Java javaHome
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2965
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2966
    "Modified: / 6.8.1997 / 00:54:44 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2967
    "Created: / 3.1.1998 / 14:27:01 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2968
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2969
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2970
defaultJWSHome
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  2971
    '/phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS' asFilename exists ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2972
	^ '/phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS'
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  2973
    ].
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  2974
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2975
    ^ '/usr/local/java/JWS'.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2976
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2977
    "Created: / 3.1.1998 / 14:27:42 / cg"
479
0ae3179779eb checkin from browser
cg
parents: 477
diff changeset
  2978
    "Modified: / 3.12.1998 / 14:54:08 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2979
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2980
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2981
defaultJavaLibraryPath
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2982
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2983
    | dirs |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2984
    dirs := OrderedCollection new
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2985
            add: Java release javaHome asFilename / 'lib';
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2986
            add: Java release javaHome asFilename / 'lib' / 'amd64';
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2987
            add: Java release javaHome asFilename / 'lib' / 'i386';
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2988
            add: Java release javaHome asFilename / 'jre' / 'lib' ;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2989
            add: Java release javaHome asFilename / 'jre' / 'lib' / 'amd64'  ;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2990
            add: Java release javaHome asFilename / 'jre' / 'lib' / 'i386' ;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2991
            add: Java release javaHome asFilename / 'jre' / 'bin' ;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2992
            yourself.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2993
    OperatingSystem isMSWINDOWSlike ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2994
        dirs
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2995
            add: Java release javaHome asFilename / 'bin'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2996
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2997
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2998
    ^String streamContents:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2999
        [:path|
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3000
        (dirs select:[:d|d exists])
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3001
            do:[:d|path nextPutAll:d pathName]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3002
            separatedBy:[path nextPut: OperatingSystem pathSeparator]]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3003
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3004
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3005
        JavaVM defaultJavaLibraryPath
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3006
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3007
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3008
    "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
  3009
    "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
  3010
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3011
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3012
defaultSunBootLibraryPath
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3013
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3014
    |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
  3015
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3016
    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
  3017
    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
  3018
        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
  3019
        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
  3020
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3021
    ^ s contents
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3022
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3023
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3024
        JavaVM defaultSunBootLibraryPath
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3025
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3026
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3027
    "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
  3028
    "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
  3029
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3030
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3031
defaultWindowingToolKit
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3032
    "/ prefer the windows toolkit ...
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3033
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3034
    (self classForName: 'sun.awt.windows.WToolkit') notNil ifTrue: [
2092
7da11fcd701b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2085
diff changeset
  3035
        ^ 'sun.awt.windows.WToolkit'.
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  3036
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3037
    (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
  3038
        self halt: 'MotifToolKit: this is untested code'.
2092
7da11fcd701b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2085
diff changeset
  3039
        ^ 'sun.awt.motif.MToolkit'.
7da11fcd701b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2085
diff changeset
  3040
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3041
    self halt: 'TinyToolKit: this is untested code'.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3042
    ^ 'sun.awt.tiny.TinyToolkit'.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3043
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3044
    "/    ^ '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
  3045
    "/    ^ 'sun.awt.motif.MToolkit'.
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  3046
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3047
     self defaultWindowingToolKit"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3048
    "Created: / 3.1.1998 / 14:27:49 / cg"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  3049
    "Modified: / 27.1.1998 / 21:52:52 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3050
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3051
546
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3052
fileAccessTrace
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3053
    ^ FileAccessTrace
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3054
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3055
    "Created: / 27.1.1999 / 18:55:40 / cg"
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3056
!
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3057
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3058
fileAccessTrace:aBoolean
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3059
    FileAccessTrace := aBoolean
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3060
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3061
    "Created: / 19.10.1998 / 16:01:44 / cg"
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3062
    "Modified: / 27.1.1999 / 18:55:52 / cg"
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3063
!
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3064
390
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3065
fileOpenConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3066
    ^ FileOpenConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3067
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3068
    "Created: / 19.10.1998 / 16:01:44 / cg"
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3069
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3070
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3071
fileOpenConfirmation:aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3072
    FileOpenConfirmation := aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3073
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3074
    "Created: / 19.10.1998 / 16:01:56 / cg"
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3075
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3076
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3077
javaConsole:aStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3078
    JavaConsoleStream := aStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3079
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3080
    "
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3081
     JavaVM javaConsole:Transcript
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3082
    "
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3083
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3084
    "Modified: / 6.8.1997 / 00:34:13 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3085
    "Created: / 3.1.1998 / 14:27:58 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3086
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3087
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3088
javaConsoleStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3089
    ^ JavaConsoleStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3090
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3091
    "Created: / 3.1.1998 / 14:32:16 / cg"
390
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3092
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3093
572
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3094
nullPointerExceptionDebug
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3095
    ^ NullPointerExceptionDebug
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3096
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3097
    "Created: / 27.1.1999 / 20:14:51 / cg"
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3098
!
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3099
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3100
nullPointerExceptionDebug:aBoolean
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3101
    NullPointerExceptionDebug := aBoolean
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3102
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3103
    "Created: / 27.1.1999 / 20:15:00 / cg"
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3104
!
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3105
390
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3106
socketConnectConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3107
    ^ SocketConnectConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3108
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3109
    "Created: / 19.10.1998 / 16:02:15 / cg"
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3110
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3111
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3112
socketConnectConfirmation:aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3113
    SocketConnectConfirmation := aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3114
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3115
    "Created: / 19.10.1998 / 16:02:06 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3116
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3117
2353
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
!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
  3119
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
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
  3121
    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
  3122
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
    "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
  3124
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3126
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
  3127
    ^ 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
  3128
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
    "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
  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
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
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
  3133
     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
  3134
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3135
    "Created: / 08-12-2011 / 21:06:03 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3136
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3137
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3138
!JavaVM class methodsFor:'helpers'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3139
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3140
canCast: s to: t
2582
475c9a63b723 Fixed CHECKCAST insn implementation to support JIT-compiled code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
  3141
    "Helper for _CHECKCAST(_R):_:/_INSTANCEOF(_R):_:"
2353
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
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
    | sc  tc |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3144
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3145
    "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
  3146
    s isJavaPrimitiveType ifTrue: [
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3147
        "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
  3148
        ^ 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
  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
     "
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
     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
  3152
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
     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
  3154
     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
  3155
     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
  3156
     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
  3157
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
     - 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
  3159
     - 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
  3160
     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
  3161
     - 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
  3162
    "
2353
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
    (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
  3164
        ^ (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
  3165
    ].
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
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3167
     - 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
  3168
     - 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
  3169
     - 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
  3170
     superinterface of S.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3171
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3172
    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
  3173
        ^ 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
  3174
            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
  3175
            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
  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
     - 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
  3179
     ponents of type SC , then:
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3180
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3181
    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
  3182
    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
  3183
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3184
     - 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
  3185
    "
2601
3d4b433fb25c Performance optimization - classForName: (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2597
diff changeset
  3186
    t isJavaClassType ifTrue: [ ^ t == (self classForName: 'java.lang.Object' definedBy: 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
  3187
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3188
     - 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
  3189
     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
  3190
     - 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
  3191
     - 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
  3192
     recursive application of these rules.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3193
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3194
    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
  3195
        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
  3196
        ^ 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
  3197
            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
  3198
            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
  3199
    ].
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
     - 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
  3202
     by arrays (JLS3 4.10.3).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3203
    "
2353
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
    ((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
  3205
        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
  3206
    ^ false
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3207
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3208
    "Modified: / 09-01-1999 / 00:45:21 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3209
    "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
  3210
    "Modified: / 21-10-2011 / 13:50:36 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2601
3d4b433fb25c Performance optimization - classForName: (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2597
diff changeset
  3211
    "Modified: / 18-05-2013 / 12:57:19 / 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
  3212
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3214
javaStringObjectForString:string
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3215
    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
  3216
    ^ self reflection javaStringObjectForString:string interned:false
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3217
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3218
    "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
  3219
    "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
  3220
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3221
2353
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
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
  3223
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3224
    ^self reflection javaStringObjectForString:string interned:intern.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3225
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3226
    "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
  3227
    "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
  3228
    "Modified: / 09-02-2011 / 01:04:21 / Marcel Hlopko <hlopik@gmail.com>"
321
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 319
diff changeset
  3229
!
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 319
diff changeset
  3230
2353
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
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
  3232
    | 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
  3233
    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
  3234
    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
  3235
    ^ 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
  3236
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
    "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
  3238
    "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
  3239
    "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
  3240
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3241
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3242
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
  3243
    | 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
  3244
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
    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
  3246
    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
  3247
        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
  3248
        "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
  3249
        dimensions := dimensions - 1.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3250
    ].
2353
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
    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
  3252
        ^ 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
  3253
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3254
    "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
  3255
    "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
  3256
!
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
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
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
  3259
    | 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
  3260
    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
  3261
    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
  3262
    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
  3263
    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
  3264
    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
  3265
        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
  3266
    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
  3267
    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
  3268
    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
  3269
    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
  3270
    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
  3271
    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
  3272
        ((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
  3273
            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
  3274
            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
  3275
274
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3276
    "/
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3277
    "/ that on was only temporarily present in JDK1.1.3 (sigh)
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3278
    "/
2353
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
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
    (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
  3281
        thread instVarAt: i put: 0.
274
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3282
    ].
2353
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
    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
  3284
    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
  3285
        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
  3286
    ] 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
  3287
        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
  3288
    ].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3289
    ^ thread
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3290
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3291
    "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
  3292
    "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
  3293
    "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
  3294
    "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
  3295
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3296
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3297
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
  3298
    | 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
  3299
    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
  3300
    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
  3301
    ^ 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
  3302
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3303
    "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
  3304
    "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
  3305
    "Modified: / 09-12-2011 / 13:12:39 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3306
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3307
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3308
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
  3309
    | 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
  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
    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
  3312
        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
  3313
        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
  3314
        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
  3315
        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
  3316
        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
  3317
            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
  3318
        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
  3319
        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
  3320
        (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
  3321
            standardGroup instVarNamed: 'vmAllowSuspension' put: 0.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3322
        ].
2353
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
        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
  3324
        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
  3325
        standardGroup instVarNamed: 'groups' put: nil.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3326
        StandardThreadGroup := standardGroup.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3327
    ].
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3328
    ^ StandardThreadGroup
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3329
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3330
    "Created: / 03-01-1998 / 01:41:54 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3331
    "Modified: / 17-11-1998 / 22:55:30 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3332
    "Modified: / 25-04-2011 / 20:27:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3333
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3334
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3335
!JavaVM class methodsFor:'helpers - exceptions'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3336
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3337
throwAbstractMethodError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3338
    ^ self throwExceptionClassName: 'java.lang.AbstractMethodError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3339
        withMessage: 'resolving a method ref failed'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3340
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3341
    "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
  3342
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3343
2353
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
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
  3345
    | 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
  3346
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3347
    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
  3348
    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
  3349
    ^ self throwException: ex
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3350
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3351
    "Created: / 14.1.1998 / 21:36:05 / cg"
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3352
    "Modified: / 20.11.1998 / 13:27:14 / cg"
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3353
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3354
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3355
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
  3356
    | 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
  3357
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
    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
  3359
    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
  3360
    ^ self throwException: ex
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3361
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3362
    "Modified: / 20.11.1998 / 13:27:14 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3363
    "Created: / 8.1.1999 / 15:03:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3364
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3365
581
124338be273b checkin from browser
cg
parents: 579
diff changeset
  3366
throwArrayStoreException:badArray
582
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3367
    ^ self
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3368
        throwExceptionClassName:'java.lang.ArrayStoreException'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3369
         withMessage:('bad array store: ' , badArray class printString)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3370
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3371
    "Modified: / 23-06-2011 / 09:19:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
581
124338be273b checkin from browser
cg
parents: 579
diff changeset
  3372
!
124338be273b checkin from browser
cg
parents: 579
diff changeset
  3373
530
3ad16c28ff2b checkin from browser
cg
parents: 529
diff changeset
  3374
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
  3375
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
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.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
  3378
        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
  3379
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3380
    "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
  3381
    "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
  3382
    "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
  3383
!
3ad16c28ff2b checkin from browser
cg
parents: 529
diff changeset
  3384
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3385
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
  3386
    ^ self throwClassFormatError: 'Invalid class format'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3387
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3388
    "Created: / 04-01-1998 / 22:26:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3389
    "Modified: / 10-11-1998 / 13:20:31 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3390
    "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
  3391
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3392
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3393
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
  3394
    ^ 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
  3395
        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
  3396
        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
  3397
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3398
    "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
  3399
    "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
  3400
    "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
  3401
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3402
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3403
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
  3404
    ^ 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
  3405
	throwExceptionClassName:'java.lang.ClassNotFoundException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3406
	withMessage:'no such class'
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3407
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3408
    "Created: / 4.1.1998 / 22:25:26 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3409
    "Modified: / 7.1.1998 / 15:25:35 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3410
!
de483f561c9e *** empty log message ***
cg
parents:
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
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
  3413
    ^ 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
  3414
        withMessage: 'no such class: ' , className
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3415
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3416
    "Created: / 4.1.1998 / 22:26:09 / cg"
429
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  3417
    "Modified: / 10.11.1998 / 13:20:31 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3418
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3419
2353
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
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
  3421
    ^ 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
  3422
        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
  3423
        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
  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
    "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
  3426
!
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
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3428
throwDivisionByZeroException
582
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3429
    DivisionByZeroExceptionDebug == true ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3430
	self halt:'division by zero'.
582
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3431
    ].
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3432
    ^ self
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3433
	throwExceptionClassName:'java.lang.ArithmeticException'
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3434
	withMessage:'division by zero'
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3435
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3436
    "Created: / 8.1.1999 / 14:28:15 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3437
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3438
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3439
throwException: aJavaException
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3440
    <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
  3441
    | 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
  3442
    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
  3443
        | 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
  3444
        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
  3445
        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
  3446
            tmpMessage := Java as_ST_String: tmpMessage
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3447
        ].
2353
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
        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
  3449
            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
  3450
                    , tmpMessage , ')'
2597
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  3451
            severity: #trace
2353
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
            facility: 'JVM'
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3453
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3454
    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
  3455
        "/        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
  3456
        (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
  3457
            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
  3458
                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
  3459
                    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
  3460
            ])
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
                ifTrue: [
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
                    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
  3463
                ]
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3464
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3465
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3466
    "/
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3467
    "/ search stack for a javaContext which handles that exception
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3468
    "/
2353
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3470
2587
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3471
    srchCon := thisContext.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3472
    [ handlerContext isNil and: [ srchCon notNil ] ] whileTrue: [
2587
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3473
        srchCon := srchCon findSpecialHandle:true raise:false.
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3474
        srchCon notNil ifTrue:[
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3475
            (srchCon isJavaContext) ifTrue: [
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3476
                method := srchCon method.
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3477
                method exceptionTable notNil ifTrue:[
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3478
                    self assert: srchCon isHandleContext.
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3479
                ].
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3480
                pc := srchCon pc.
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3481
                (hPC := method handlerFor: aJavaException at: pc) notNil ifTrue: [
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3482
                    handlerPC := hPC.
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3483
                    handlerContext := srchCon
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3484
                ].
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3485
            ] ifFalse:[
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3486
                srchCon isHandleContext ifTrue:[
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3487
                    handler := srchCon receiver
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3488
                        handlerForSignal: aJavaException class context: srchCon originator:thisContext sender.
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3489
                    handler notNil ifTrue:[
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3490
                        "We have found a Smalltalk handler for Java exception here"
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3491
                        handlerContext := srchCon.
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3492
                    ]
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3493
                ].
2353
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
            ].
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3495
        ].
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3496
    ].
2353
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
    handlerContext isNil ifTrue: [
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3498
        "/
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3499
        "/ no JavaHandler ... let smalltalk handle it
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3500
        "/
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3501
        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
  3502
        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
  3503
            "/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
  3504
            ^ 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
  3505
        ].
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3506
        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
  3507
        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
  3508
        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
  3509
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
        "/ for our convenience: skip ST contexts
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3511
        "/ (i.e. the handler or debugger will see the javaContext first )
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3512
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3513
        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
  3514
        [ 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
  3515
        con isNil ifTrue: [ con := thisContext sender ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3516
        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
  3517
            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
  3518
            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
  3519
            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
  3520
    ] 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
  3521
        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
  3522
            "/
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
            "/ 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
  3524
            "/
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
            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
  3526
            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
  3527
            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
  3528
            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
  3529
            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
  3530
        ] 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
  3531
            | 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
  3532
            "/
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
            "/ 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
  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
            "/ 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
  3536
            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
  3537
            "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
  3538
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
            "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
  3540
            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
  3541
            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
  3542
            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
  3543
            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
  3544
            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
  3545
        ].
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  3546
    ].
2353
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
    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
  3548
    Processor activeProcess == JavaEventQueueThread ifTrue: [ self halt ].
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  3549
    Processor activeProcess terminate.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3550
2353
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
     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
  3553
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3554
    "Created: / 07-01-1998 / 15:28:22 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3555
    "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
  3556
    "Modified: / 01-12-2011 / 18:32:58 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2587
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3557
    "Modified: / 07-05-2013 / 01:59:08 / 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
  3558
!
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
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
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
  3561
    | 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
  3562
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
    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
  3564
    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
  3565
    ^ 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
  3566
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
    "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
  3568
    "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
  3569
    "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
  3570
    "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
  3571
!
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
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
  3574
    | 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
  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
    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
  3577
    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
  3578
    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
  3579
    ^ 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
  3580
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
    "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
  3582
!
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
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
  3585
    "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
  3586
     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
  3587
     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
  3588
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3589
    |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
  3590
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
    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
  3592
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3593
    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
  3594
    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
  3595
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3596
    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
  3597
    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
  3598
    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
  3599
        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
  3600
            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
  3601
            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
  3602
            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
  3603
            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
  3604
    ] 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
  3605
        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
  3606
            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
  3607
                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
  3608
                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
  3609
                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
  3610
                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
  3611
        ] 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
  3612
            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
  3613
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3614
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3615
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3616
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3617
    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
  3618
    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
  3619
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3620
    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
  3621
    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
  3622
    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
  3623
    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
  3624
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3625
    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
  3626
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
    "Created: / 03-04-2012 / 16:56:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3628
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3629
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3630
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
  3631
    ^ 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
  3632
        throwExceptionClassName:'java.lang.ExceptionInInitializerError'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3633
        withMessage:'error when initializing class: ' , className
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3634
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3635
    "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
  3636
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3637
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3638
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
  3639
    ^ 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
  3640
        throwExceptionClassName:'java.io.FileNotFoundException'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3641
        withMessage: message
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3642
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3643
    "Created: / 04-01-1998 / 22:26:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3644
    "Modified: / 10-11-1998 / 13:20:31 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3645
    "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
  3646
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3647
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3648
throwIOExceptionWithMessage:message
584
9e346fcad5d9 oops - kept interrupts blocked sometimes
cg
parents: 582
diff changeset
  3649
    IOExceptionDebug == true ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3650
	self halt:'IO Exception'.
584
9e346fcad5d9 oops - kept interrupts blocked sometimes
cg
parents: 582
diff changeset
  3651
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3652
    ^ 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
  3653
	throwExceptionClassName:'java.io.IOException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3654
	withMessage:message
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3655
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3656
    "Created: / 7.1.1998 / 10:34:24 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3657
    "Modified: / 7.1.1998 / 15:26:25 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3658
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3659
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3660
throwIllegalAccessError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3661
    ^ self throwExceptionClassName: 'java.lang.IllegalAccessError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3662
        withMessage: 'illegal access'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3663
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3664
    "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
  3665
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3666
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3667
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
  3668
    ^ 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
  3669
	throwExceptionClassName:'java.lang.IllegalAccessException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3670
	withMessage:'illegal access'
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3671
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3672
    "Modified: / 7.1.1998 / 15:25:35 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3673
    "Created: / 14.1.1998 / 23:13:44 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3674
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3675
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3676
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
  3677
    ^ 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
  3678
        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
  3679
        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
  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
    "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
  3682
    "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
  3683
    "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
  3684
!
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
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
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
  3687
    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
  3688
            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
  3689
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
    "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
  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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3693
throwIncompatibleClassChangeError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3694
        ^ self throwExceptionClassName: 'java.lang.IncompatibleClassChangeError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3695
                withMessage: 'illegal change'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3696
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3697
    "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
  3698
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3699
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3700
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
  3701
    ^ 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
  3702
	throwExceptionClassName:'java.lang.InstantiationException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3703
	withMessage:'cannot instantiate'
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3704
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3705
    "Modified: / 7.1.1998 / 15:25:35 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3706
    "Created: / 14.1.1998 / 23:15:01 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3707
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3708
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3709
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
  3710
    ^ 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
  3711
        throwExceptionClassName:'java.lang.InstantiationException'
691
8dcc24aeaa95 *** empty log message ***
cg
parents: 682
diff changeset
  3712
        withMessage:('cannot instantiate: ' , aJavaClass javaName)
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3713
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3714
    "Modified: / 7.1.1998 / 15:25:35 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3715
    "Created: / 14.1.1998 / 23:17:02 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3716
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3717
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3718
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
  3719
    ^ 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
  3720
        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
  3721
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3722
    "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
  3723
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3724
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3725
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
  3726
    | 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
  3727
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3728
    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
  3729
    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
  3730
    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
  3731
    ^ 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
  3732
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3733
    "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
  3734
!
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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3736
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
  3737
    ^ 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
  3738
        throwExceptionClassName:'java.lang.LinkageError'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3739
        withMessage: message
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3740
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3741
    "Modified: / 10-11-1998 / 13:20:31 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3742
    "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
  3743
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3744
2353
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
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
  3746
    ^ 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
  3747
        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
  3748
        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
  3749
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3750
    "Created: / 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
  3751
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3752
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3753
throwNoSuchFieldException
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3754
  ^ self throwExceptionClassName: 'java.lang.NoSuchFieldError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3755
        withMessage: 'looking up a field failed'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3756
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3757
    "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
  3758
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3759
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3760
throwNoSuchMethodError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3761
      ^ self throwExceptionClassName: 'java.lang.NoSuchMethodError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3762
              withMessage: 'looking up a method failed'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3763
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3764
    "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
  3765
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3766
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3767
throwNullPointerException
2515
bcfe9f4dca6b Improvements in JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2457
diff changeset
  3768
    self throwNullPointerException:'null pointer'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3769
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3770
    "Created: / 09-01-1998 / 02:26:08 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3771
    "Modified: / 28-01-1998 / 02:30:09 / cg"
2515
bcfe9f4dca6b Improvements in JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2457
diff changeset
  3772
    "Modified: / 15-04-2013 / 21:18:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3773
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3774
2353
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
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
  3776
    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
  3777
        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
  3778
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3779
    ^ 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
  3780
        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
  3781
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3782
    "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
  3783
    "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
  3784
    "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
  3785
    "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
  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
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
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
  3789
    ^ 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
  3790
	throwExceptionClassName:'java.lang.NumberFormatException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3791
	withMessage:'bad number format'
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3792
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3793
    "Modified: / 7.1.1998 / 15:25:35 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3794
    "Created: / 11.1.1998 / 16:08:22 / cg"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3795
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3796
2353
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
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
  3798
    ^ 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
  3799
        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
  3800
        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
  3801
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
    "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
  3803
    "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
  3804
    "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
  3805
!
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
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
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
  3808
    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
  3809
        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
  3810
        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
  3811
            ^ 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
  3812
                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
  3813
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3814
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3815
    "Created: / 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
  3816
!
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
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
  3819
    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
  3820
        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
  3821
            ^ 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
  3822
                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
  3823
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3824
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
    "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
  3826
!
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
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
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
  3829
    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
  3830
        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
  3831
            ^ 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
  3832
                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
  3833
        ].
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
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
    "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
  3836
    "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
  3837
!
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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3839
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
  3840
    ^ self throwZipException:'error in opening zip file'.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3841
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3842
    "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
  3843
    "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
  3844
!
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
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
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
  3847
    ^ 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
  3848
           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
  3849
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3850
    "Created: / 20-07-2012 / 19:15:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3851
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3852
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3853
!JavaVM class methodsFor:'helpers - io'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3854
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3855
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
  3856
    "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
  3857
     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
  3858
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3859
    | 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
  3860
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
    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
  3862
    [ 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
  3863
        (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
  3864
            "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
  3865
            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
  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
                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
  3868
                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
  3869
                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
  3870
                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
  3871
                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
  3872
            ] 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
  3873
                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
  3874
            ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3875
        ] 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
  3876
            ex pass.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3877
        ].
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  3878
    ].
2353
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
    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
  3880
        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
  3881
        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
  3882
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3883
    ^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
  3884
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3885
    "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
  3886
    "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
  3887
    "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
  3888
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3889
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3890
!JavaVM class methodsFor:'helpers - reflection'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3891
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3892
classForJavaClassObject:aJavaClassObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3893
    "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
  3894
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3895
    ^ self reflection classForJavaClassObject:aJavaClassObject
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3896
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3897
    "Created: / 23-01-1998 / 17:44:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3898
    "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
  3899
    "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
  3900
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3901
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3902
javaClassObjectForClass: aClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3903
    "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
  3904
     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
  3905
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3906
"/    | 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
  3907
"/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3908
"/    "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
  3909
"/    (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
  3910
"/        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
  3911
"/    ] 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
  3912
    ^ self reflection javaClassObjectForClass: aClass.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3913
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3914
    "Created: / 23-01-1998 / 17:43:38 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3915
    "Modified: / 05-12-1998 / 15:29:32 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3916
    "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
  3917
    "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
  3918
    "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
  3919
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3920
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3921
javaConstructorObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3922
    "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
  3923
     instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3924
    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
  3925
    ^ self reflection javaConstructorObjectForMethod: method.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3926
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3927
    "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
  3928
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3929
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3930
javaFieldObjectForField: aJavaField in: aJavaLangClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3931
    "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
  3932
     instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3933
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3934
        See OpenJDK7 source:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3935
        jdk7/hotspot/src/share/vm/runtime/reflection.cpp,
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3936
        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
  3937
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3938
    | field  clazz  name  slot  type  modifiers |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3939
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3940
    clazz := aJavaLangClass.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3941
    name := self reflection javaStringObjectForString: aJavaField name
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3942
                interned: true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3943
    slot := aJavaField index.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3944
    type := self javaClassObjectForClass: aJavaField typeClass.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3945
    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
  3946
    field := (self classForName: 'java.lang.reflect.Field') new.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3947
    field
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3948
        instVarNamed: #clazz put: clazz;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3949
        instVarNamed: #name put: name;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3950
        instVarNamed: #slot put: slot;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3951
        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
  3952
        instVarNamed: #modifiers put: modifiers;
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3953
        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
  3954
    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
  3955
        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
  3956
            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
  3957
                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
  3958
        ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3959
    ^ field.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3960
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3961
    "Modified: / 05-12-1998 / 15:29:32 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3962
    "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
  3963
    "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
  3964
    "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
  3965
    "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
  3966
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3967
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3968
javaMethodObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3969
    "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
  3970
     instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3971
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3972
    ^ self reflection javaMethodObjectForMethod:method.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3973
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3974
    "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
  3975
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3976
2353
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
methodForJavaConstructorObject:constructor
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3978
    "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
  3979
     it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3980
    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
  3981
    ^ self reflection methodForJavaConstructorObject: constructor.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3982
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3983
    "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
  3984
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3985
2353
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
methodForJavaMethodObject:aJavaMethodObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3987
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3988
        Given an instance of java.lang.reflect.Method, answers
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3989
        real method associated with it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3990
   ^ self reflection methodForJavaMethodObject:aJavaMethodObject.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3991
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3992
    "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
  3993
    "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
  3994
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3995
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3996
!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
  3997
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
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
  3999
    | 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
  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
    "/    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
  4002
    "/                   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
  4003
    "/    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
  4004
    "/        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
  4005
    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
  4006
    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
  4007
        LockTable at:someObject put:(mon := JavaMonitor for:someObject)
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4008
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4009
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4010
"/        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4011
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4012
    ^ 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
  4013
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
    "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
  4015
    "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
  4016
    "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
  4017
!
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
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
  4020
    | 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
  4021
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4022
    "/ 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
  4023
    "/ JavaMethods (they are smalltalk trampolines) and thus their
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4024
    "/ activation does not create Java context
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4025
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4026
    "/ 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
  4027
    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
  4028
        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
  4029
        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
  4030
        ^ self
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4031
    ].
2353
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
    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
  4033
    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
  4034
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4035
            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
  4036
                    bindWith:(self monitorFriendlyPrintStringOf:someObject)
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4037
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4038
                    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
  4039
            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
  4040
            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
  4041
    ].
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
    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
  4043
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4044
    "/ 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
  4045
    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
  4046
    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
  4047
        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
  4048
    ] 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
  4049
        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
  4050
            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
  4051
        ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4052
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4053
2353
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
    "/ 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
  4055
    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
  4056
"/    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
  4057
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4058
    wasBlocked 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
  4059
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4060
    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
  4061
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4062
            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
  4063
                    bindWith:(self monitorFriendlyPrintStringOf:someObject)
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4064
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4065
                    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
  4066
            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
  4067
            facility:#JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4068
    ].
2353
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
    "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
  4071
    "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
  4072
!
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
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
  4075
    | 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
  4076
"/    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
  4077
    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
  4078
        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
  4079
        self breakPoint: #mh.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4080
        ^ self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4081
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4082
    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
  4083
    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
  4084
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4085
            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
  4086
                    bindWith: (self monitorFriendlyPrintStringOf: someObject)
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4087
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4088
                    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
  4089
            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
  4090
            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
  4091
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4092
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
    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
  4095
"/    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
  4096
    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
  4097
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
    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
  4099
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4100
            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
  4101
                    bindWith: (self monitorFriendlyPrintStringOf: someObject)
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4102
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4103
                    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
  4104
            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
  4105
            facility: #JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4106
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4107
2353
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
    "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
  4109
    "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
  4110
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4111
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4112
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
  4113
    | 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
  4114
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4115
    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
  4116
    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
  4117
    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
  4118
    (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
  4119
        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
  4120
        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
  4121
            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
  4122
        ^self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4123
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4124
    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
  4125
    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
  4126
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4127
    "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
  4128
    "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
  4129
!
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
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
  4132
    | 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
  4133
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
    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
  4135
    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
  4136
    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
  4137
    (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
  4138
        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
  4139
        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
  4140
            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
  4141
        ^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
  4142
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4143
    ].
2353
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
    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
  4145
    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
  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
    "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
  4148
    "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
  4149
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4150
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4151
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
  4152
    "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
  4153
     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
  4154
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  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
  4156
    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
  4157
        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
  4158
            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
  4159
            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
  4160
            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
  4161
    ].
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
    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
  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
    wasBlocked := OperatingSystem blockInterrupts.
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4165
    "/self assert: aJavaContext method isSynchronized.
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4166
    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
  4167
    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
  4168
        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
  4169
    ] 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
  4170
        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
  4171
    ].
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
%{
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
    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
  4174
      __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
  4175
    }
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4176
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4177
    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
  4178
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
    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
  4180
        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
  4181
            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
  4182
            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
  4183
            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
  4184
    ].
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4186
    "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
  4187
!
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
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
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
  4190
    "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
  4191
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 |
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
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
    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
  4195
    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
  4196
        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
  4197
        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
  4198
    ].
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
    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
  4200
    (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
  4201
    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
  4202
        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
  4203
        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
  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
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
    "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
  4207
    "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
  4208
    "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
  4209
    "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
  4210
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4211
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
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
  4213
    "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
  4214
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4215
    | 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
  4216
    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
  4217
    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
  4218
        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
  4219
        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
  4220
            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
  4221
    ].
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
    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
  4223
    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
  4224
    (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
  4225
        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
  4226
        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
  4227
        ^self.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4228
    ].
2353
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
    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
  4230
    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
  4231
    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
  4232
    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
  4233
        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
  4234
        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
  4235
            throwInterruptedException: 'process was interrupted before/during wait !!?'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4236
    ].
2353
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
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
    "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
  4239
    "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
  4240
    "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
  4241
    "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
  4242
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4243
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
!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
  4245
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4246
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
  4247
    "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
  4248
     *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
  4249
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4250
    | 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
  4251
    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
  4252
    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
  4253
    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
  4254
        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
  4255
            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
  4256
                    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
  4257
                    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
  4258
            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
  4259
            facility: #JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4260
    ].
2353
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
    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
  4262
    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
  4263
"/    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
  4264
"/    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
  4265
"/    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
  4266
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4267
    "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
  4268
    "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
  4269
!
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
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
  4272
    | 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
  4273
    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
  4274
    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
  4275
    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
  4276
    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
  4277
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4278
    "Created: / 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
  4279
    "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
  4280
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4281
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4282
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
  4283
    "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
  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
    | 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
  4286
    (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
  4287
        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
  4288
        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
  4289
        enteredMonitors do: [:each | self acquireMonitor: each ofProcess: aProcess. ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4290
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4291
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4292
    "Created: / 17-11-2011 / 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
  4293
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4294
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4295
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
  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
    ^ (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
  4298
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
    "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
  4300
    "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
  4301
!
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
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
  4304
"/    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
  4305
    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
  4306
        self assert: ((self acquiredMonitorsOfProcess: aProcess) last first == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4307
    ] 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
  4308
        self assert: ((self acquiredMonitorsOfProcess: aProcess) last == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4309
    ].
2353
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
    (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
  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
    "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
  4313
    "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
  4314
    "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
  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
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
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
  4318
    ^ 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
  4319
        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
  4320
            | 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
  4321
            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
  4322
            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
  4323
            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
  4324
        ]
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
            .
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4326
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4327
    "Created: / 17-11-2011 / 18: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
  4328
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4329
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4330
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
  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
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
    ^ 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
  4334
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4335
    "Created: / 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
  4336
    "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
  4337
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4338
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4339
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
  4340
    "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
  4341
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
    ^ (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
  4343
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
    "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
  4345
    "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
  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
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
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
  4349
    "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
  4350
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4351
    ^ (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
  4352
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4353
    "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
  4354
    "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
  4355
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4356
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
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
  4358
    | 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
  4359
    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
  4360
    ^ 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
  4361
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
    "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
  4363
!
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
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
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
  4366
    | 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
  4367
    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
  4368
    ^ 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
  4369
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
    "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
  4371
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4372
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4373
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
  4374
    "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
  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
    | 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
  4377
    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
  4378
        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
  4379
        objInLists := { obj . MonitorTraceId }
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4380
    ] 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
  4381
        objInLists := obj
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4382
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4383
"/    self 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
  4384
    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
  4385
    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
  4386
    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
  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
        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
  4389
            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
  4390
                    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
  4391
                    with: aProcess id
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4392
                    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
  4393
            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
  4394
            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
  4395
            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
  4396
            "/attachment: thisContext fullPrintAllString
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4397
    ].
2353
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
    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
  4399
    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
  4400
"/    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
  4401
"/    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
  4402
"/    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
  4403
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
    "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
  4405
    "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
  4406
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4407
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4408
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
  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
    ^ (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
  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
    "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
  4413
    "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
  4414
    "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
  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
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
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
  4418
"/    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
  4419
"/    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
  4420
    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
  4421
        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
  4422
    ] 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
  4423
        self assert: ((self enteredMonitorsOfProcess: aProcess) last == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4424
    ].
2353
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
    (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
  4428
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
    "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
  4430
    "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
  4431
    "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
  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
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
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
  4435
    ^ 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
  4436
        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
  4437
            | 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
  4438
            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
  4439
            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
  4440
            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
  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
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
    "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
  4445
    "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
  4446
!
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
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
  4449
    "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
  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
    ^ 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
  4452
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
    "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
  4454
    "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
  4455
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4456
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4457
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
  4458
   |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
  4459
   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
  4460
   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
  4461
   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
  4462
    each exit.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4463
    ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4464
2353
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
    "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
  4466
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4467
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4468
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
  4469
    ^ (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
  4470
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
    "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
  4472
!
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
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
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
  4475
   | 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
  4476
   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
  4477
   ^ 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
  4478
   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
  4479
           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
  4480
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4481
    "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
  4482
!
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
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
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
  4485
   | 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
  4486
   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
  4487
   ^ 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
  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
    "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
  4490
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4491
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4492
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
  4493
     | 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
  4494
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4495
    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
  4496
    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
  4497
%}.
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
    ^ 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
  4499
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
    "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
  4501
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4502
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
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
  4504
    "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
  4505
     *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
  4506
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4507
    | mon |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4508
    mon := obj getJavaMonitor.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4509
    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
  4510
    "/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
  4511
    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
  4512
        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
  4513
        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
  4514
                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
  4515
                with: aProcess name
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4516
                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
  4517
        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
  4518
        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
  4519
        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
  4520
        "/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
  4521
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4522
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4523
    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
  4524
"/    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
  4525
"/    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
  4526
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4527
    "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
  4528
    "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
  4529
!
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
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
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
  4532
    "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
  4533
     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
  4534
     (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
  4535
     *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
  4536
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
    | 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
  4538
    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
  4539
    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
  4540
        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
  4541
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
            | 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
  4543
            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
  4544
            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
  4545
                (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
  4546
                    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
  4547
                        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
  4548
                        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
  4549
                        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
  4550
                    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
  4551
                    mon exit
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4552
                ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4553
            ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4554
        ].
2353
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
        EnteredMonitorsPerProcess removeKey: aProcess.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4556
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4557
2353
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
    "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
  4559
    "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
  4560
!
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
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
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
  4563
    | 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
  4564
    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
  4565
    (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
  4566
        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
  4567
    ] 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
  4568
        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
  4569
            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
  4570
                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
  4571
                        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
  4572
                        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
  4573
                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
  4574
                facility: #JVM
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4575
        ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4576
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4577
2353
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: / 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
  4579
    "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
  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
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
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
  4583
    | 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
  4584
    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
  4585
        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
  4586
                    , someObject identityHash printString.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4587
    ].
2353
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
    ^ 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
  4589
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4590
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4591
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
  4592
    "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
  4593
     *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
  4594
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
    | 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
  4596
    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
  4597
    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
  4598
    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
  4599
    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
  4600
        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
  4601
            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
  4602
                    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
  4603
                    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
  4604
            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
  4605
            facility: #JVM.
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4606
    ].
2353
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
    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
  4608
    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
  4609
"/    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
  4610
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: / 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
  4612
    "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
  4613
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4614
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4615
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
  4616
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
    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
  4618
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
    "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
  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
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
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
  4623
    "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
  4624
     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
  4625
     *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
  4626
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4627
    | 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
  4628
    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
  4629
    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
  4630
        monitors do: [:obj | self releaseMonitor: obj ofProcess: aProcess. ].
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4631
    ].
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4632
2353
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
    "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
  4634
    "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
  4635
    "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
  4636
!
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
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
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
  4639
    "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
  4640
     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
  4641
     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
  4642
     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
  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
    ^ [
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
        | 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
  4646
        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
  4647
            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
  4648
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4649
        self releaseMonitorsOfUnwindingContext: aJavaContext.
544
18535acdec91 checkin from browser
cg
parents: 541
diff changeset
  4650
    ].
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4651
2353
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
    "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
  4653
    "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
  4654
    "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
  4655
! !
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4656
2353
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
!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
  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
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
  4660
    "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
  4661
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
    | 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
  4663
    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
  4664
    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
  4665
    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
  4666
    (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
  4667
        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
  4668
            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
  4669
                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
  4670
                        , (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
  4671
                            , ' 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
  4672
                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
  4673
                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
  4674
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4675
        self releaseMonitorsOfProcess: thisProcess.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4676
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4677
    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
  4678
    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
  4679
    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
  4680
        (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
  4681
            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
  4682
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4683
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4684
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4685
    "/ 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
  4686
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4687
    (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
  4688
        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
  4689
        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
  4690
            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
  4691
                    , (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
  4692
                        , ' 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
  4693
            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
  4694
            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
  4695
        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
  4696
        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
  4697
        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
  4698
        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
  4699
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4700
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
    "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
  4702
    "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
  4703
    "Modified: / 20-11-2011 / 12:36:47 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
  4704
! !
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
  4705
2353
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
!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
  4707
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
_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
  4709
    "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
  4710
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
    ^ 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
  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
    "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
  4714
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4715
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4716
!JavaVM class methodsFor:'others'!
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4717
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4718
version_HG
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4719
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4720
    ^ '$Changeset: <not expanded> $'
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4721
! !
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4722
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4723
!JavaVM class methodsFor:'queries'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4724
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4725
booted
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4726
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4727
    | jVM |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4728
2353
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
    "/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
  4730
    ^SystemClassLoader notNil and:[
2578
fc6186a4961f Performance optimization: rewrote 'JavaVM classNamed:' to 'JavaVM classNamed:...definedBy:...'.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2577
diff changeset
  4731
        jVM := JavaVM classNamed: 'sun.misc.VM' definedBy: 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
  4732
        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
  4733
    ].
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
"/    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
  4736
"/    ^ 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
  4737
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4738
    "
2353
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
     JavaVM booted"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4740
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4741
    "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
  4742
    "Modified: / 02-11-2011 / 22:08:53 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2578
fc6186a4961f Performance optimization: rewrote 'JavaVM classNamed:' to 'JavaVM classNamed:...definedBy:...'.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2577
diff changeset
  4743
    "Modified: / 02-05-2013 / 01:22:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
572
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  4744
! !
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  4745
2353
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
!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
  4747
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
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
  4749
    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
  4750
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
    "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
  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
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
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
  4755
    ^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
  4756
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
    "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
  4758
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4759
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
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
  4761
    "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
  4762
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
    | 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
  4764
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
    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
  4766
    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
  4767
        ParkUnparkSemaphores := Dictionary new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4768
    ].
2353
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
    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
  4770
    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
  4771
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
    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
  4773
    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
  4774
    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
  4775
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4776
    "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
  4777
!
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
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
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
  4780
    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
  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
    "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
  4783
!
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
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
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
  4786
    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
  4787
    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
  4788
    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
  4789
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
    "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
  4791
    "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
  4792
!
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
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
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
  4795
    "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
  4796
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
    | 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
  4798
    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
  4799
    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
  4800
    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
  4801
                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
  4802
    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
  4803
    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
  4804
    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
  4805
    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
  4806
        nm := jName
520
64e7e53cdfac checkin from browser
cg
parents: 519
diff changeset
  4807
    ].
2353
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
    "/ 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
  4810
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
    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
  4812
        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
  4813
            (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
  4814
                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
  4815
            ].
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
        ]
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  4817
    ].
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  4818
2353
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
    "/ 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
  4820
    "/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
  4821
    "/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
  4822
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4823
    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
  4824
        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
  4825
            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
  4826
                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
  4827
                        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
  4828
                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
  4829
                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
  4830
            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
  4831
            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
  4832
            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
  4833
            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
  4834
                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
  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
        ].
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
    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
  4838
    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
  4839
    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
  4840
    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
  4841
    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
  4842
    ^ 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
  4843
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4844
    "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
  4845
    "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
  4846
    "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
  4847
    "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
  4848
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4849
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4850
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
  4851
    "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
  4852
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4853
    | 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
  4854
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4855
    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
  4856
    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
  4857
    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
  4858
    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
  4859
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4860
    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
  4861
    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
  4862
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
    "Created: / 16-08-2012 / 21:52:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4864
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4865
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4866
!JavaVM class methodsFor:'vm support'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4867
2568
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  4868
_AALOAD: arr _: index
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  4869
    "Called from the VM (___aaload()) for unhandled cases"
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  4870
     
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  4871
    arr basicAt: index + 1
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  4872
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  4873
    "Created: / 29-04-2013 / 21:22:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  4874
!
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  4875
2567
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4876
_AASTORE: arr _: val _: index
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4877
    "Called from the VM (___aastore()) for unhandled cases"
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4878
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4879
     (val notNil and:[arr isJavaArray])"false" ifTrue:[
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4880
        (self canCast: val class to: arr class javaComponentClass) ifFalse: [
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4881
            self throwArrayStoreException: 'Incompatible types'.
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4882
            ^ nil "Not reached"
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4883
        ].
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4884
    ].
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4885
    arr basicAt: index + 1 put: val
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4886
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4887
    "Created: / 29-04-2013 / 21:22:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4888
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4889
!
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  4890
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4891
_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
  4892
    "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
  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
    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
  4895
    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
  4896
        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
  4897
                         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
  4898
        ^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
  4899
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4900
    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
  4901
    ^ cls javaArrayClass new:size
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4902
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4903
    "Created: / 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
  4904
    "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
  4905
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4906
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4907
_ARRAYLENGTH:arr
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  4908
    arr isNil ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4909
        "/self halt:'should not happen'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4910
        self throwNullPointerException.
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  4911
    ].
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4912
    ^ arr size
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4913
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4914
    "Created: / 08-01-1999 / 14:38:27 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4915
    "Modified: / 31-05-2011 / 10:09:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4916
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4917
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  4918
_ATHROW:aJavaException
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4919
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4920
    <resource: #skipInDebuggersWalkBack>
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4921
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4922
    | message |
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4923
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  4924
    aJavaException isNil ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4925
        self halt:'cannot happen'
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  4926
    ].
2353
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
    "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
  4928
     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
  4929
     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
  4930
     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
  4931
     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
  4932
     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
  4933
     Hence following hack: we teleport back to handler caller"
2527
c380a7c258fb Makes JavaUnresolvedCompilationError proceedable.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2526
diff changeset
  4934
    aJavaException class == JavaContext finallyTokenClass 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
  4935
        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
  4936
        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
  4937
    ].
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4938
    "Another kludge: ECJ compiler throws java.lang.Error in case
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4939
     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
  4940
     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
  4941
     to JavaUnresolvedCompilationError"
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4942
    aJavaException class name == #'java/lang/Error' ifTrue:[
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4943
        message := aJavaException getMessage.
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4944
        (message startsWith: 'Unresolved compilation problem:') ifTrue:[
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4945
            JavaUnresolvedCompilationError newException
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4946
                messageText: (message copyFrom: 'Unresolved compilation problem:' size + 1) trimSeparators;
2527
c380a7c258fb Makes JavaUnresolvedCompilationError proceedable.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2526
diff changeset
  4947
                proceedable: true;
c380a7c258fb Makes JavaUnresolvedCompilationError proceedable.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2526
diff changeset
  4948
                raiseSignal.
c380a7c258fb Makes JavaUnresolvedCompilationError proceedable.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2526
diff changeset
  4949
            ^thisContext sender return
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4950
        ]
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4951
    ].
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  4952
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4953
    self throwException:aJavaException
519
0df8dbbb5a7a checkin from browser
cg
parents: 518
diff changeset
  4954
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4955
    "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
  4956
    "Modified: / 08-11-2011 / 16:32:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2527
c380a7c258fb Makes JavaUnresolvedCompilationError proceedable.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2526
diff changeset
  4957
    "Modified: / 18-04-2013 / 23:49:33 / 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
  4958
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4959
2593
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  4960
_CHECKCAST: obj _: cls
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  4961
    "A principal implementation of CHECKCAST instruction. Called by the bytecode
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  4962
     interpreter for unhandled cases."     
2592
2139919f0f85 Updates for fast checkcast implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2591
diff changeset
  4963
    
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  4964
    obj isNil ifTrue:[ ^ obj ].
2593
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  4965
    (self canCast: obj class to: cls) ifFalse: [
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  4966
        self throwClassCastException.
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  4967
        ^ nil
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  4968
    ].
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  4969
    ^ obj
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  4970
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4971
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4972
2587
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  4973
_CHECKCAST_R: object _: classRef
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  4974
    "An implementation of CHECKCAST instruction. Called by the jitted code
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  4975
     when if the classRef hasn't been resolved at the time of jitting."
2587
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  4976
    | class |
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  4977
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  4978
    object isNil ifTrue: [ ^ object ].
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  4979
    class := classRef resolve.
2594
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  4980
    (self canCast: object class to: class) ifFalse:[
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  4981
        self throwClassCastException.
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  4982
        ^nil.
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  4983
    ].
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  4984
    ^object.
2587
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  4985
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  4986
    "Created: / 19-05-2011 / 10:12:23 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  4987
    "Modified (comment): / 09-10-2012 / 11:56:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  4988
!
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  4989
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4990
_D2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4991
    |v|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4992
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4993
    v := op1 asInteger.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4994
    v > 16r7FFFFFFF ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4995
	self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4996
	v := 16r7FFFFFFF
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  4997
    ] ifFalse:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4998
	v < 16r80000000 negated ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  4999
	    self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5000
	    v := 16r80000000 negated
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5001
	]
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5002
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5003
    ^ v
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5004
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5005
    "Modified: / 17.10.1998 / 21:55:49 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5006
    "Created: / 8.1.1999 / 14:47:13 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5007
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5008
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5009
_D2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5010
    |v|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5011
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5012
    v := op1 asInteger.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5013
    v > 16r7FFFFFFFFFFFFFFF ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5014
	self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5015
	v := 16r7FFFFFFFFFFFFFFF
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5016
    ] ifFalse:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5017
	v < 16r8000000000000000 negated ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5018
	    self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5019
	    v := 16r8000000000000000 negated
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5020
	]
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5021
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5022
    ^ v
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5023
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5024
    "Modified: / 17.10.1998 / 21:55:49 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5025
    "Created: / 8.1.1999 / 14:46:44 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5026
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5027
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5028
_DADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5029
    ^ op1 asFloat + op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5030
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5031
    "Created: / 8.1.1999 / 15:11:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5032
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5033
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5034
_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
  5035
    ^ 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
  5036
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5037
    "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
  5038
    "Modified: / 06-09-2011 / 19:31:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5039
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5040
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5041
_DMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5042
    ^ op1 asFloat * op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5043
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5044
    "Created: / 8.1.1999 / 14:49:52 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5045
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5046
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5047
_DNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5048
    ^ op asFloat negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5049
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5050
    "Created: / 8.1.1999 / 15:06:15 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5051
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5052
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5053
_DSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5054
    ^ op1 asFloat - op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5055
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5056
    "Created: / 8.1.1999 / 15:10:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5057
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5058
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5059
_F2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5060
    ^ self _D2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5061
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5062
    "Created: / 8.1.1999 / 14:47:42 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5063
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5064
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5065
_F2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5066
    ^ self _D2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5067
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5068
    "Created: / 8.1.1999 / 14:47:53 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5069
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5070
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5071
_FADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5072
    ^ op1 asShortFloat + op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5073
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5074
    "Created: / 8.1.1999 / 15:11:36 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5075
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5076
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5077
_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
  5078
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
    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
  5080
        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
  5081
    ].
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
    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
  5083
        ^ 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
  5084
    ].
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5085
    ^ op1 asShortFloat / op2 asShortFloat.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5086
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5087
    "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
  5088
    "Modified: / 06-07-2012 / 13:12:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5089
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5090
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5091
_FMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5092
    ^ op1 asShortFloat * op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5093
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5094
    "Created: / 8.1.1999 / 14:50:10 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5095
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5096
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5097
_FNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5098
    ^ op asShortFloat negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5099
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5100
    "Created: / 8.1.1999 / 15:06:33 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5101
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5102
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5103
_FSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5104
    ^ op1 asShortFloat - op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5105
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5106
    "Created: / 8.1.1999 / 15:08:17 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5107
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5108
2594
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5109
_INSTANCEOF:obj _:cls
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5110
    "A principal implementation of INSTANCEOF instruction. Called by the bytecode
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5111
     interpreter for unhandled cases."     
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5112
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5113
    obj isNil ifTrue: [ ^ 0 ].
2594
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5114
    (self canCast: obj class to: cls) ifFalse: [
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5115
        ^ 0
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5116
    ].
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5117
    ^ 1
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5118
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5119
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5120
    "Created: / 08-01-1999 / 14:52:54 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5121
    "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
  5122
    "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
  5123
    "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
  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
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
_INSTANCEOF_R: object _: classRef
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5127
    "An implementation of INSTANCEOF instruction. Called by the jitted code
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5128
     when if the classRef hasn't been resolved at the time of jitting."
2582
475c9a63b723 Fixed CHECKCAST insn implementation to support JIT-compiled code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
  5129
   
2353
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
    | 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
  5131
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
    object isNil ifTrue: [ ^ 0 ].
2582
475c9a63b723 Fixed CHECKCAST insn implementation to support JIT-compiled code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
  5133
    class := classRef resolve.    
2594
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5134
     ^(self canCast: object class to: class) 
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5135
        ifTrue:  [ 1 ]
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5136
        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
  5137
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5138
    "Created: / 15-10-2012 / 21:51:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5139
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5140
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5141
_L2D:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5142
    ^ op1 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5143
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5144
    "Created: / 8.1.1999 / 14:46:09 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5145
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5146
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5147
_L2F:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5148
    ^ op1 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5149
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5150
    "Created: / 8.1.1999 / 14:46:18 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5151
    "Modified: / 8.1.1999 / 14:50:18 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5152
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5153
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5154
_LADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5155
    |sum|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5156
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5157
    sum := (op1 + op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5158
    ^ sum
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5159
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5160
    "Created: / 8.1.1999 / 15:07:39 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5161
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5162
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5163
_LAND:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5164
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5165
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5166
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5167
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5168
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5169
    rslt := op1 bitAnd: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5170
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5171
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5172
    "Modified: / 7.1.1998 / 21:21:53 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5173
    "Created: / 8.1.1999 / 14:54:22 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5174
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5175
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5176
_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
  5177
    "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
  5178
     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
  5179
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5180
    ^ref isJavaClassRef ifTrue:[
2584
af1783f58d87 Bugfix in _LDC_R: - do not initilalize class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2582
diff changeset
  5181
        self javaClassObjectForClass: (ref resolve: 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
  5182
    ] 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
  5183
        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
  5184
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5185
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5186
    "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
  5187
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5188
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5189
_LDIV:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5190
    |quo|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5191
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5192
    quo := op1 quo: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5193
    ^ quo
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5194
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5195
    "Created: / 8.1.1999 / 15:04:47 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5196
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5197
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5198
_LMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5199
    |prod o1 o2 sign|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5200
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5201
"/ self halt.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5202
    "/ ST's largeIntegers compute a correct result;
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5203
    "/ but here, we want the overflow to flow into the
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5204
    "/ sign bit ... (sigh)
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5205
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5206
    sign := 1.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5207
    (o1 := op1) < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5208
	sign := -1.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5209
	o1 := o1 negated.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5210
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5211
    (o2 := op2) < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5212
	sign := sign negated.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5213
	o2 := o2 negated.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5214
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5215
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5216
    prod := (o1 * o2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5217
    (prod bitAnd:16r8000000000000000) ~~ 0 ifTrue:[
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5218
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5219
    sign == -1 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5220
	prod := prod negated
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5221
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5222
    ^ prod
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5223
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5224
    "Created: / 8.1.1999 / 15:10:04 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5225
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5226
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5227
_LNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5228
    ^ op asInteger negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5229
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5230
    "Created: / 8.1.1999 / 15:06:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5231
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5232
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5233
_LOR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5234
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5235
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5236
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5237
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5238
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5239
    rslt := op1 bitOr: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5240
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5241
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5242
    "Created: / 8.1.1999 / 15:05:10 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5243
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5244
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5245
_LREM:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5246
    |rem|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5247
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5248
    rem := op1 rem: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5249
    ^ rem
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5250
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5251
    "Modified: / 7.1.1998 / 00:23:11 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5252
    "Created: / 8.1.1999 / 15:04:23 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5253
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5254
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5255
_LSHL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5256
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5257
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5258
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5259
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5260
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5261
    rslt := (op1 bitShift:op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5262
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5263
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5264
    "Created: / 8.1.1999 / 14:51:08 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5265
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5266
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5267
_LSHR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5268
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5269
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5270
    op1 < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5271
	self halt
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5272
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5273
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5274
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5275
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5276
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5277
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5278
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5279
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5280
    "Created: / 8.1.1999 / 14:51:57 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5281
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5282
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5283
_LSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5284
    |diff|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5285
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5286
    diff := (op1 - op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5287
    ^ diff
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5288
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5289
    "Created: / 8.1.1999 / 15:10:33 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5290
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5291
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5292
_LUSHR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5293
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5294
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5295
    op1 < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5296
	self halt
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5297
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5298
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5299
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5300
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5301
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5302
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5303
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5304
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5305
    "Modified: / 7.1.1998 / 21:22:17 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5306
    "Created: / 8.1.1999 / 14:51:32 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5307
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5308
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5309
_LXOR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5310
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5311
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5312
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5313
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5314
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5315
    rslt := op1 bitXor: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5316
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5317
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5318
    "Created: / 8.1.1999 / 15:12:28 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5319
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5320
2353
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
_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
  5322
    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
  5323
    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
  5324
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5325
    self monitorEnter: someObject in: thisContext sender.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  5326
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5327
    "Created: / 08-01-1999 / 14:23:10 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5328
    "Modified: / 08-01-1999 / 18:47:26 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5329
    "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
  5330
    "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
  5331
    "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
  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
_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
  5335
    self monitorExit: someObject in: thisContext sender.
528
99eb49a63c1a checkin from browser
cg
parents: 526
diff changeset
  5336
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5337
    "Created: / 08-01-1999 / 14:23:19 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5338
    "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
  5339
    "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
  5340
    "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
  5341
!
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
_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
  5344
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5345
    | 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
  5346
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
    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
  5348
        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
  5349
                         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
  5350
        ^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
  5351
    ].
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
    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
  5353
    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
  5354
    arr := arrCls new: dim1.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5355
    ^ arr.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5356
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5357
    "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
  5358
    "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
  5359
!
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
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
_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
  5362
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5363
    | 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
  5364
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
    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
  5366
        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
  5367
                         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
  5368
        ^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
  5369
    ].
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
    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
  5371
        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
  5372
                         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
  5373
        ^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
  5374
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5375
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5376
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5377
    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
  5378
    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
  5379
    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
  5380
    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
  5381
        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
  5382
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5383
    ^ arr.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5384
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5385
    "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
  5386
    "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
  5387
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5388
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5389
_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
  5390
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5391
    | 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
  5392
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5393
    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
  5394
        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
  5395
                         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
  5396
        ^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
  5397
    ].
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
    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
  5399
        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
  5400
                         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
  5401
        ^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
  5402
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5403
    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
  5404
        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
  5405
                         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
  5406
        ^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
  5407
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5408
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5410
    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
  5411
    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
  5412
    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
  5413
    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
  5414
        | 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
  5415
        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
  5416
        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
  5417
            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
  5418
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5419
        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
  5420
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5421
    ^ arr.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5422
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5423
    "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
  5424
    "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
  5425
!
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
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
_MULTINEW:typeRef _:dim1
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5428
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5429
    |arr|
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5430
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5431
    arr := typeRef new:dim1.
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5432
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5433
    ^ arr
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5434
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5435
    "Created: / 08-01-1999 / 14:15:42 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5436
    "Modified: / 08-01-1999 / 18:03:05 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5437
    "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
  5438
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5439
2353
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
_MULTINEW: typeRef _: dim1 _: dim2
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5441
    | arr |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5442
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5443
    arr := typeRef new: dim2.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5444
    1 to: dim2
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5445
        do: [:idx | arr at: idx put: (self _MULTINEW: typeRef javaComponentClass _: dim1) ].
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5446
    ^ arr
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5447
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5448
    "Created: / 08-01-1999 / 14:15:46 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5449
    "Modified: / 08-01-1999 / 17:58:11 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5450
    "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
  5451
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5452
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5453
_MULTINEW:typeRef _:dim1 _:dim2 _:dim3
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5454
    |clsRef cls arr elType elSizes|
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5455
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5456
    clsRef := typeRef asClassPointerRef.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5457
    cls := clsRef javaArrayClass.
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5458
    arr := cls new:dim3.
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5459
    elType := typeRef deref.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5460
    1 to:dim3
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5461
        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
  5462
            [:idx |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5463
            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
  5464
                put:(self
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5465
                        _MULTINEW:elType
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5466
                        _:dim1
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5467
                        _: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
  5468
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5469
"/ 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
  5470
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5471
    ^ arr
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5472
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5473
    "Modified: / 6.1.1998 / 23:34:35 / cg"
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5474
    "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
  5475
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5476
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
_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
  5478
    | 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
  5479
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
    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
  5481
    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
  5482
    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
  5483
    ^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
  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
    "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
  5486
    "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
  5487
!
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
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
_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
  5490
    "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
  5491
     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
  5492
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
    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
  5494
        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
  5495
    ]
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
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
    "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
  5498
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5499
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5500
_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
  5501
    | 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
  5502
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
    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
  5504
    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
  5505
    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
  5506
    ^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
  5507
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5508
    "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
  5509
    "Modified: / 02-11-2012 / 21:10:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  5510
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  5511
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5512
!JavaVM class methodsFor:'windows - events'!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5513
2353
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
awtEventsForEvent: anEvent javaWindow: jWin
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5515
    "given an ST/X event, create corresponding AWT event(s) for it"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5516
2353
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
    | 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
  5518
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5519
    type := anEvent type.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5520
    eventArgs := anEvent arguments.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5521
    key := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5522
    modifiers := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5523
    x := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5524
    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
  5525
    ((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
  5526
        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
  5527
            ifTrue: [
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
                "/        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
  5529
                "/        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
  5530
                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
  5531
                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
  5532
                ((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
  5533
                    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
  5534
                        ifTrue: [
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
                            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
  5536
                            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
  5537
                            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
  5538
                            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
  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
                        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
  5541
                            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
  5542
                            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
  5543
                            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
  5544
                            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
  5545
                        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5546
                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
  5547
                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
  5548
                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
  5549
                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
  5550
                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
  5551
                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
  5552
                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
  5553
                jEv instVarNamed: 'updateRect' put: jRect.
476
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  5554
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  5555
"/        jEv instVarNamed:'g'         put:jWin.
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  5556
2353
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
                ^ 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
  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
    (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
  5560
        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
  5561
            ifTrue: [
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
                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
  5563
                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
  5564
                    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
  5565
                ].
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
                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
  5567
                    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
  5568
                ].
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
                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
  5570
                    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
  5571
                ].
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
                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
  5573
                    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
  5574
                                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
  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
                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
  5577
                    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
  5578
                                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
  5579
                ].
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
                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
  5581
                    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
  5582
                                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
  5583
                ].
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
                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
  5585
                    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
  5586
                                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
  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
                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
  5589
                    "/ 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
  5590
                    "/ 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
  5591
                    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
  5592
                    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
  5593
                ].
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
    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
  5596
        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
  5597
        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
  5598
        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
  5599
        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
  5600
        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
  5601
            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
  5602
                        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
  5603
            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
  5604
                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
  5605
            ].
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
            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
  5607
                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
  5608
                "/ 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
  5609
            ].
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
            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
  5611
                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
  5612
                "/ 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
  5613
            ].
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
            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
  5615
                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
  5616
                "/ 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
  5617
            ].
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
            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
  5619
                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
  5620
                "/ 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
  5621
            ].
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
            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
  5623
                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
  5624
            ].
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
            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
  5626
                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
  5627
            ].
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
            (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
  5629
                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
  5630
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5631
            (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
  5632
                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
  5633
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5634
            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
  5635
                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
  5636
            ].
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
            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
  5638
                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
  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
            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
  5641
                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
  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
            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
  5644
                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
  5645
            ].
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
            (#( #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
  5647
                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
  5648
                    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
  5649
        ].
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
        (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
  5651
            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
  5652
        ] 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
  5653
        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
  5654
        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
  5655
        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
  5656
        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
  5657
        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
  5658
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5659
"/        jEv instVarNamed:'x'         put:x.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5660
"/        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
  5661
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5662
        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
  5663
        ^ Array with: jEv
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5664
    ].
2353
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
    (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
  5666
        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
  5667
        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
  5668
        (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
  5669
            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
  5670
        ] 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
  5671
            (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
  5672
                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
  5673
            ] 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
                (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
  5675
                    (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
  5676
                        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
  5677
                    ] 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
  5678
                ] 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
  5679
                    "/                    (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
  5680
                    "/                        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
  5681
                    "/                    ] 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
  5682
                    (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
  5683
                        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
  5684
                    ] 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
  5685
                        (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
  5686
                            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
  5687
                        ] 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
  5688
                            (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
  5689
                                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
  5690
                                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
  5691
                            ] 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
  5692
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5693
"/                        ]
2353
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
                        ]
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
                    ]
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
                ]
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
            ]
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
        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
  5700
        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
  5701
        jEv instVarNamed: 'id' put: id.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5702
        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
  5703
        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
  5704
        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
  5705
        ^ Array with: jEv
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5706
    ].
2353
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
    (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
  5708
        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
  5709
        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
  5710
        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
  5711
        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
  5712
        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
  5713
        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
  5714
        moved := (x ~~ view left or: [ y ~~ view top ]).
493
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  5715
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  5716
"/        (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
  5717
        "/ 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
  5718
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
        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
  5720
493
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  5721
"/        ].
2353
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
        "/
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
        "/ 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
  5724
        "/ 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
  5725
        "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5726
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5727
        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
  5728
            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
  5729
                "/
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
                "/ 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
  5731
                "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5732
                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
  5733
                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
  5734
                    "/ 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
  5735
                    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
  5736
                ]
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
            ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5738
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5739
        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
  5740
        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
  5741
        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
  5742
        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
  5743
        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
  5744
        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
  5745
            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
  5746
            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
  5747
            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
  5748
        ].
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
        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
  5750
            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
  5751
            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
  5752
            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
  5753
        ].
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
        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
  5755
            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
  5756
            ^ 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
  5757
        ] 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
  5758
        ^ Array with: jEv1 with: jEv2.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5759
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5760
    (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
  5761
        "/ '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
  5762
        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
  5763
        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
  5764
        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
  5765
        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
  5766
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5767
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5768
    (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
  5769
        "/ '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
  5770
        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
  5771
        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
  5772
        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
  5773
        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
  5774
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5775
    ].
2353
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
    (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
  5777
        "/ '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
  5778
        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
  5779
        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
  5780
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5781
"/        x := eventArgs at:1.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5782
"/        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
  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
        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
  5785
        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
  5786
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5787
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5788
    (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
  5789
        "/ '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
  5790
        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
  5791
        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
  5792
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5793
"/        x := eventArgs at:1.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5794
"/        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
  5795
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
        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
  5797
        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
  5798
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5799
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5800
    (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
  5801
        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
  5802
         "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
  5803
         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
  5804
        " "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
  5805
        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
  5806
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
        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
  5808
        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
  5809
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5810
    ].
2353
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
    EventTrace == true ifTrue: [ ('JAVA: unhandled event:' , type) infoPrintCR. ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5812
    ^ nil.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5813
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5814
    "Created: / 6.1.1998 / 20:38:58 / cg"
537
28e26396d17d *** empty log message ***
cg
parents: 536
diff changeset
  5815
    "Modified: / 9.1.1999 / 09:29:58 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5816
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5817
603
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5818
delegatesTo:someOne
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5819
    ^ false
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5820
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5821
    "Created: / 25.9.1999 / 16:11:48 / cg"
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5822
!
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  5823
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5824
doWindowsEventThread
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5825
    "invoked in an endless loop by the WToolkit-eventLoop
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5826
     native method."
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5827
2353
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
    | 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
  5829
    (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
  5830
        "/ '*** 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
  5831
        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
  5832
        "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
  5833
            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
  5834
            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
  5835
            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
  5836
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
        "/ 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
  5838
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
        ^ self
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5840
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5841
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5842
    "/ wait for an event to arrive ...
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5843
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5844
    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
  5845
    [ 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
  5846
        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
  5847
        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
  5848
        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
  5849
            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
  5850
            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
  5851
            timeOut: nil.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5852
    ].
2353
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
    EventTrace ifTrue: [ '*** eventThread event arrived ...' printCR. ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5854
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5855
    "/ 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
  5856
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  5857
    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
  5858
    [ 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
  5859
        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
  5860
            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
  5861
            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
  5862
        ] 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
  5863
        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
  5864
            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
  5865
            ^ 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
  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
        more := self processEvent: event
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  5868
    ]
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5869
2353
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
    "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
  5871
    "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
  5872
    "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
  5873
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5875
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
  5876
    | 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
  5877
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5878
    KnownWindows isNil ifTrue: [ ^ false ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5879
    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
  5880
    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
  5881
    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
  5882
        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
  5883
            "/ 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
  5884
            "/ 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
  5885
            "/ 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
  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
            "/ 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
  5888
            "/ 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
  5889
            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
  5890
                ('*** 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
  5891
                    , '-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
  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
            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
  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
        ^ true
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5896
    ].
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5897
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5898
    "/ change:
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5899
    "/ in the previous version, events for ST/X widgets (i.e. buttons etc)
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5900
    "/ where not passed to java, but instead forwarded directly to the widget
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5901
    "/ by the code below.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5902
    "/ This has changed, to pass it to Java, which eventually passes it to the
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5903
    "/ peer via the handleEvent native method (unless the event got consumed).
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5904
    "/ 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
  5905
2353
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
    (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
  5907
        "/    "/ 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
  5908
        "/
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
        "/    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
  5910
        "/"/        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
  5911
        "/"/            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
  5912
        "/"/                    ('*** 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
  5913
        "/"/            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5914
        "/"/            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
  5915
        "/"/            ^ 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
  5916
        "/"/        ].
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
        "/        (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
  5918
        "/        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
  5919
        "/            "/ 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
  5920
        "/            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
  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
        "/    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5923
        (#( #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
  5924
         #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
  5925
         #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
  5926
         #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
  5927
         #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
  5928
            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
  5929
        ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5930
    ].
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5931
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5932
    "/ what a kludge - some events are passed back to
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5933
    "/ ST via the WComponent-handleEvent native method.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5934
    "/ However, repaints are not.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5935
    "/ In order to let ST widgets do the drawing,
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5936
    "/ selectively filter exposeEvents from Java ...
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5937
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5938
    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
  5939
    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
  5940
        "/ 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
  5941
    ] 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
  5942
        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
  5943
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
        "/ 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
  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
        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
  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
        "/ 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
  5949
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5950
        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
  5951
            (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
  5952
            (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
  5953
            (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
  5954
            (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
  5955
            (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
  5956
            (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
  5957
            (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
  5958
        ].
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  5959
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5960
    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
  5961
    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
  5962
        ('*** 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
  5963
            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
  5964
        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
  5965
        ' (' 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
  5966
        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
  5967
        ')' infoPrintCR.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5968
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5969
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5970
    "/ create an event
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5971
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5972
    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
  5973
    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
  5974
        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
  5975
            ('*** 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
  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
        ^ true
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5978
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5979
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5980
"/    v superView isNil ifTrue:[
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5981
"/        ('*** eventThread: event ignored for topView: ' , event type) printCR.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5982
"/        ^ self
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5983
"/    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  5984
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5985
    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
  5986
439
9c3603a90f30 *** empty log message ***
cg
parents: 434
diff changeset
  5987
    "/ 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
  5988
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5989
    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
  5990
                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
  5991
    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
  5992
        :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
  5993
        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
  5994
        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
  5995
        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
  5996
            "/ 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
  5997
            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
  5998
            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
  5999
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6000
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
        "/ 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
  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
        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
  6004
        jWToolKit "class" perform: #'postEvent(Ljava/awt/AWTEvent;)V' with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  6005
    ].
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  6006
    ^ false
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  6007
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  6008
    "Created: / 6.1.1998 / 20:36:36 / cg"
493
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  6009
    "Modified: / 10.12.1998 / 19:36:59 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  6010
! !
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  6011
2353
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
!JavaVM::Performance class methodsFor:'documentation'!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6013
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6014
documentation
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6015
"
2353
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
    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
  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
    [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
  6019
        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
  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
    [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
  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
    [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
  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
    [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
  6026
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6027
"
2353
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
! !
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
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
!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
  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
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
  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
    ^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
  6035
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6036
    "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
  6037
! !
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
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6039
!JavaVM::Performance methodsFor:'accessing'!
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6040
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6041
counters
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6042
    ^ counters
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6043
! !
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6044
2353
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
!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
  6046
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6047
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
  6048
    "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
  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
    ^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
  6051
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6052
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6053
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
  6054
    "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
  6055
     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
  6056
     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
  6057
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6058
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6059
    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
  6060
    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
  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
    ^ 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
  6063
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
    "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
  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
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
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
  6068
    "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
  6069
     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
  6070
     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
  6071
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6072
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6073
    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
  6074
    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
  6075
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6076
    ^ 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
  6077
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6078
    "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
  6079
!
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
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
  6082
    "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
  6083
     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
  6084
     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
  6085
     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
  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
    | 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
  6088
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6089
    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
  6090
    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
  6091
%}.
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
    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
  6093
        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
  6094
        ^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
  6095
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6096
    ^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
  6097
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6098
    "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
  6099
! !
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
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
!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
  6102
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6103
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
  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
    "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
  6106
    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
  6107
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6108
    vm := aJavaVM.
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6109
    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
  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
    "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
  6112
    "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
  6113
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6114
2353
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
!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
  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
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
  6118
    "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
  6119
     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
  6120
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6121
    | 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
  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
    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
  6124
        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
  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
    '%-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
  6128
        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
  6129
        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
  6130
        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
  6131
        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
  6132
    } 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
  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
    ^ 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
  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
        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
  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
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
    "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
  6141
!
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
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
  6144
    | 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
  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
    (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
  6147
        | 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
  6148
        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
  6149
        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
  6150
            ^ '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
  6151
        ].
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
    ].
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
    (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
  6154
        | 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
  6155
        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
  6156
            (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
  6157
                ^ '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
  6158
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6159
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6160
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6161
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
    ((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
  6163
        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
  6164
            ^ '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
  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
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6167
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6168
    ((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
  6169
        (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
  6170
            ^ '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
  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
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
    ((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
  6175
        (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
  6176
            ^ '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
  6177
        ].
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
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
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
    "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
  6183
    "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
  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
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
  6187
    ^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
  6188
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
    "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
  6190
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6191
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6192
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
  6193
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6194
    | 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
  6195
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
    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
  6197
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6198
    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
  6199
    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
  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
    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
  6202
    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
  6203
    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
  6204
        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
  6205
            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
  6206
            (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
  6207
                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
  6208
            ].
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
            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
  6210
        ]
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
    ].
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
    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
  6213
    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
  6214
        ('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
  6215
            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
  6216
                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
  6217
                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
  6218
                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
  6219
        ).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6220
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
    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
  6222
    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
  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
    "
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
        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
  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
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
    "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
  6229
    "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
  6230
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6231
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
!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
  6233
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
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
  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
    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
  6237
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
    "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
  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
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
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
  6242
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6243
    aStream 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
  6244
    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
  6245
    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
  6246
    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
  6247
    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
  6248
    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
  6249
    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
  6250
    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
  6251
    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
  6252
    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
  6253
    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
  6254
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6255
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6256
        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
  6257
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6258
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
    "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
  6260
    "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
  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_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
  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 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
  6266
    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
  6267
    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
  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
    "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
  6270
!
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
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
  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 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
  6275
    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
  6276
    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
  6277
    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
  6278
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6279
    "Created: / 15-10-2012 / 15: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
  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
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
  6283
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6284
    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
  6285
    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
  6286
    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
  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
    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
  6289
    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
  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
    "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
  6292
    "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
  6293
!
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
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
  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
    | 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
  6298
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
    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
  6300
    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
  6301
                        [: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
  6302
    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
  6303
        | 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
  6304
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6305
        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
  6306
        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
  6307
        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
  6308
        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
  6309
            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
  6310
            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
  6311
            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
  6312
            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
  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
    "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
  6316
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6317
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6318
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
  6319
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6320
    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
  6321
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6322
    "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
  6323
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6324
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6325
!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
  6326
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6327
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
  6328
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6329
    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
  6330
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
    "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
  6332
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6333
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6334
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
  6335
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6336
    [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6337
        '  %-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
  6338
    ] 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
  6339
        '  %-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
  6340
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6341
    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
  6342
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6343
    "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
  6344
!
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
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
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
  6347
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
    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
  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: / 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
  6351
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6352
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6353
!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
  6354
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6355
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
  6356
"
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
    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
  6358
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6359
    [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
  6360
        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
  6361
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
    [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
  6363
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6364
    [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
  6365
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6366
    [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
  6367
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6368
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6369
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6370
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6371
!JavaVM::ReflectionRegistry class methodsFor:'instance creation'!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6372
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6373
for: aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6374
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6375
    ^self new setVM: aJavaVM.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6376
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6377
    "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
  6378
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6379
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6380
new
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6381
    "return an initialized instance"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6382
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6383
    ^ self basicNew initialize.
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
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6386
!JavaVM::ReflectionRegistry methodsFor:'debugging'!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6387
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6388
returnNilIfMissing
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6389
    ^ returnNilIfMissing.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6390
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6391
    "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
  6392
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6393
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6394
returnNilIfMissing:aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6395
    returnNilIfMissing:= aBoolean.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6396
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6397
    "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
  6398
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6399
2353
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
!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
  6401
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6402
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
  6403
    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
  6404
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6405
    "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
  6406
!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6407
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6408
initialize
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6409
    constantPoolMapping := IdentityDictionary new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6410
    javaClasses := Dictionary new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6411
    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
  6412
    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
  6413
    javaMethodsPerMethod := Dictionary new
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6414
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6415
    "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
  6416
    "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
  6417
    "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
  6418
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6419
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6420
setVM: aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6421
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6422
    "Now, aJavaVM == JavaVM (i.e, the class JavaVM
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6423
    itself, not its instance)"
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
    vm := aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6426
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6427
    "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
  6428
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6429
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6430
!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
  6431
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6432
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
  6433
    ^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
  6434
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6435
    "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
  6436
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6438
classForJavaClassObject: aJavaClassObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6439
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6440
        Given an instance of java.lang.Class, answers
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6441
        real (Java) class associated with it. The instance
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6442
        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
  6443
        (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
  6444
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
    ^ 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
  6446
        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
  6447
            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
  6448
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6449
            "/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
  6450
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
            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
  6452
        ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6453
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6454
    "Created: / 28-01-2011 / 15:22:39 / 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
  6455
    "Modified: / 21-10-2011 / 13:41:12 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2578
fc6186a4961f Performance optimization: rewrote 'JavaVM classNamed:' to 'JavaVM classNamed:...definedBy:...'.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2577
diff changeset
  6456
    "Modified: / 02-05-2013 / 01:16:57 / 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
  6457
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6459
javaClassObjectArrayForClasses: classes
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6460
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6461
        Answers an instance of java.lang.Class[] for given
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6462
        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
  6463
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
    | 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
  6465
2605
f343a5ef30b6 An experiment: access to known class java.lang.Class through pool var.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2601
diff changeset
  6466
    array := java_lang_Class javaArrayClass
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6467
                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
  6468
    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
  6469
    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
  6470
        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
  6471
    ^ array
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6472
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6473
    "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
  6474
    "Created: / 04-02-2011 / 22:08:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2605
f343a5ef30b6 An experiment: access to known class java.lang.Class through pool var.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2601
diff changeset
  6475
    "Modified: / 21-05-2013 / 16:29:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6476
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6477
2353
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
javaClassObjectForClass:aClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6479
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6480
    ^self javaClassObjectForClass:aClass init: true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6481
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6482
    "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
  6483
    "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
  6484
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6485
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6486
javaClassObjectForClass: aClass init: init
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6487
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6488
        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
  6489
        real (Java) class."
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6490
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6491
    | javaClassObj |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6492
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6493
    self assert: aClass isBehavior message: 'aClass is not behavior'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6494
    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
  6495
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6496
    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
  6497
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6498
    "/ 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
  6499
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6500
    "/ 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
  6501
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6502
    "/ 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
  6503
    "/ 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
  6504
    (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
  6505
        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
  6506
        aClass lookupObject: JavaLookup instance.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6507
    ].
2605
f343a5ef30b6 An experiment: access to known class java.lang.Class through pool var.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2601
diff changeset
  6508
    javaClassObj := 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
  6509
    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
  6510
    ^ javaClassObj
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6511
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6512
    "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
  6513
    "Created: / 12-08-2011 / 19:07:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2605
f343a5ef30b6 An experiment: access to known class java.lang.Class through pool var.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2601
diff changeset
  6514
    "Modified: / 21-05-2013 / 16:28:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6515
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6516
2353
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
javaClassObjectForClassNamed: className
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6518
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6519
        Answers an instance of java.lang.Class for given
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6520
        (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
  6521
        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
  6522
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6523
    | cls |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6524
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6525
    cls := JavaDescriptor baseTypesByTypeName at: className
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6526
                ifAbsent: [ vm classForName: className ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6527
    ^ self javaClassObjectForClass: cls.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6528
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6529
    "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
  6530
    "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
  6531
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6533
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
  6534
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6535
    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
  6536
    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
  6537
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
    "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
  6539
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6540
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6541
!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
  6542
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6543
constantPoolFor:javaConstantPoolObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6544
    ^ constantPoolMapping at:javaConstantPoolObject
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6545
        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
  6546
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6547
    "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
  6548
    "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
  6549
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6550
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6551
javaConstantPoolObjectFor: aConstantPool
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6552
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6553
    ^constantPoolMapping at: aConstantPool ifAbsent:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6554
        [| javaConstantPoolObject |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6555
        javaConstantPoolObject := (vm classForName:'sun.reflect.ConstantPool') new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6556
        constantPoolMapping at: aConstantPool put: javaConstantPoolObject.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6557
        constantPoolMapping at: javaConstantPoolObject put: aConstantPool.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6558
        javaConstantPoolObject]
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: / 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
  6561
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6562
2353
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
!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
  6564
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6565
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
  6566
     "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
  6567
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
    | 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
  6569
    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
  6570
    ^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
  6571
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6572
    "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
  6573
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6574
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6575
javaConstructorObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6576
     "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
  6577
      instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6578
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6579
    | jCtor |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6580
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6581
    javaMethodsPerMethod at:method ifPresent:[:existingCtor|^existingCtor].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6582
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6583
    jCtor := (Java classForName:'java.lang.reflect.Constructor') new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6584
    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
  6585
    self rememberJavaMethodObject: jCtor for: method.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6586
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6587
    ^ jCtor
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6588
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6589
    "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
  6590
    "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
  6591
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6592
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
javaMethodObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6594
     "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
  6595
      instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6596
     | jMethod |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6597
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6598
    javaMethodsPerMethod at:method ifPresent:[:existingCtor|^existingCtor].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6599
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6600
    jMethod := (Java classForName:'java.lang.reflect.Method') new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6601
    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
  6602
    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
  6603
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
    jMethod
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6605
        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
  6606
        instVarNamed: #returnType put: (method descriptor returnClassObject);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6607
        instVarNamed: #annotationDefault put: (method annotations default bytes);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6608
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6609
        yourself.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6610
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6611
    ^jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6612
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6613
    "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
  6614
    "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
  6615
!
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
javaMethodObjectLikeSlotsInto: jMethod forMethod: method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6618
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6619
       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
  6620
       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
  6621
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6622
    | desc |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6623
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6624
    desc := method descriptor.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6625
    jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6626
        instVarNamed: #clazz put: (self javaClassObjectForClass: method javaClass);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6627
        instVarNamed: #slot put: 0;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6628
        instVarNamed: #modifiers put: method accessFlags;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6629
        instVarNamed: #parameterTypes
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6630
            put: (self javaClassObjectArrayForClasses: desc parameterClasses);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6631
        instVarNamed: #exceptionTypes
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6632
            put: (self javaClassObjectArrayForClasses: method javaExceptionTable);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6633
        instVarNamed: #annotations put: (method annotations runtimeVisible bytes);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6634
        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
  6635
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6636
    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
  6637
        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
  6638
            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
  6639
            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
  6640
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6641
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6642
    ^ jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6643
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6644
    "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
  6645
    "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
  6646
    "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
  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
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
methodForJavaConstructorObject:constructor
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6650
     "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
  6651
      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
  6652
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6653
    | 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
  6654
    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
  6655
    ^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
  6656
"/    ^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
  6657
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6658
"/    |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
  6659
"/    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
  6660
"/    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
  6661
"/    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
  6662
"/        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
  6663
"/            ^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
  6664
"/        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6665
"/    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6666
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6667
    "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
  6668
    "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
  6669
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6670
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6671
methodForJavaMethodObject:jmethod
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6672
     "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6673
         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
  6674
         real method associated with it.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6675
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6676
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6677
    | 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
  6678
    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
  6679
    ^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
  6680
"/    ^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
  6681
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6682
"/    |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
  6683
"/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6684
"/    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
  6685
"/    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
  6686
"/    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
  6687
"/    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
  6688
"/        (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
  6689
"/            ^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
  6690
"/        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6691
"/    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6692
"/    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
  6693
"/    ^nil.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6694
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6695
    "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
  6696
    "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
  6697
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6698
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6699
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
  6700
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6701
    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
  6702
    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
  6703
    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
  6704
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6705
    "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
  6706
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6707
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6708
!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
  6709
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6710
javaStringObjectForString:string
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6711
    ^ self javaStringObjectForString: string interned: false
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6712
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6713
    "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
  6714
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6715
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6716
javaStringObjectForString:string interned:intern
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6717
    | s |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6718
    s := Java as_String: string.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6719
    ^intern ifTrue:[Java intern: s] ifFalse:[s]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6720
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6721
    "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
  6722
    "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
  6723
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6724
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  6725
!JavaVM class methodsFor:'documentation'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  6726
2157
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6727
version
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6728
    ^ '$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
  6729
!
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6730
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6731
version_CVS
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6732
    ^ '$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
  6733
!
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  6734
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6735
version_SVN
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  6736
    ^ 'Id'
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  6737
! !
2108
ca8c4e7db2e8 category change
Claus Gittinger <cg@exept.de>
parents: 2100
diff changeset
  6738
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6739
2085
dc0785700fbb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  6740
JavaVM initialize!