JavaVM.st
author Claus Gittinger <cg@exept.de>
Sun, 23 Feb 2020 14:03:15 +0100
branchcvs_MAIN
changeset 3997 5bb44f7e1d20
parent 3968 a2f749d76588
permissions -rw-r--r--
#REFACTORING by exept class: Java class changed: #dumpConfigOn:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
     1
"
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3264
diff changeset
     2
 COPYRIGHT (c) 1996-2015 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
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3264
diff changeset
     6
 COPYRIGHT (c) 2010-2015 by Jan Vrany, Jan Kurs and Marcel Hlopko
2151
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
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
    23
"{ NameSpace: Smalltalk }"
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
    24
518
312c697e7385 *** empty log message ***
cg
parents: 517
diff changeset
    25
Object subclass:#JavaVM
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
    26
	instanceVariableNames:''
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
    27
	classVariableNames:'UnhandledJavaExceptionSignal JavaExceptionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
    28
		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
    29
		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
    30
		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
    31
		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
    32
		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
    33
		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
    34
		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
    35
		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
    36
		O_FramePeer_pNativeWidget O_FramePeer_pData LastGraphics LastGC
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    37
		ExceptionDebugPatterns NullPointerExceptionDebug
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    38
		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
    39
		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
    40
		FinalizationEnabled FinalizationLobby ParkUnparkSemaphores
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
    41
		ThreadInterrupts NativeMethodsImplementation SystemProperties'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    42
	poolDictionaries:'JavaConstants JavaVMData'
2108
ca8c4e7db2e8 category change
Claus Gittinger <cg@exept.de>
parents: 2100
diff changeset
    43
	category:'Languages-Java-Support'
749
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents: 748
diff changeset
    44
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents: 748
diff changeset
    45
2353
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
Object subclass:#Performance
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
    47
	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
    48
	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
    49
	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
    50
	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
    51
!
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
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
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
    54
	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
    55
		javaMethodsPerMethod returnNilIfMissing realMethods'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    56
	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
    57
	poolDictionaries:'JavaVMData'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    58
	privateIn:JavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    59
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    60
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
    61
!JavaVM class methodsFor:'documentation'!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
    62
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    63
copyright
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    64
"
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3264
diff changeset
    65
 COPYRIGHT (c) 1996-2015 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
    66
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    67
 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
    68
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3264
diff changeset
    69
 COPYRIGHT (c) 2010-2015 by Jan Vrany, Jan Kurs and Marcel Hlopko
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    70
                            SWING Research Group, Czech Technical University in Prague
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    71
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    72
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    73
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    74
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    75
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    76
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    77
 hereby transferred.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    78
2353
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
 [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
    80
     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
    81
     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
    82
     as of 1.9.2010
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    83
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    84
"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    85
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    86
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    87
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
    88
"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
    89
You shouldn't communicate with JavaVM directly,
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    90
use Java class instead. JavaVM is layer between
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    91
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
    92
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
    93
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
    94
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
    95
control class loading and reflection"
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    96
!
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    97
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
    98
nativeMethods
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
    99
"
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   100
    all native methods:
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   101
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   102
        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
   103
            m isNative
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   104
        ]
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   105
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   106
    implemented methods:
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   107
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   108
        JavaMethod allSubInstances select:[:m |
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   109
            |sel|
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   110
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   111
            m isNative ifTrue:[
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   112
                sel := ('_' , m javaClass lastName , '_' , m name , ':') asSymbol.
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   113
                JavaVM class implements:sel.
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   114
            ] ifFalse:[
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   115
                false
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   116
            ]
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   117
        ]
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   118
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   119
    unimplemented methods:
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   120
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   121
        JavaMethod allSubInstances select:[:m |
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   122
            |sel|
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   123
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   124
            m isNative ifTrue:[
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   125
                sel := ('_' , m javaClass lastName , '_' , m name , ':') asSymbol.
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   126
                (JavaVM class implements:sel) not
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   127
            ] ifFalse:[
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   128
                false
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   129
            ]
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
   130
        ]
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   131
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   132
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   133
    list of all native methods as in jdk1.1.3:
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   134
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   135
      X - implemented
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   136
      * - implemented to be validated
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   137
      x - implemented with limited functionality
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   138
      o - implemented as dummy (no functionality)
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   139
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   140
    X (Math::double sin (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   141
    X (Math::double cos (double))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   142
    X (Math::double tan (double))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   143
    X (Math::double asin (double))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   144
    X (Math::double acos (double))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   145
    X (Math::double atan (double))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   146
    X (Math::double exp (double))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   147
    X (Math::double log (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   148
    X (Math::double sqrt (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   149
      (Math::double IEEEremainder (double double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   150
    X (Math::double ceil (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   151
    X (Math::double floor (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   152
      (Math::double rint (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   153
      (Math::double atan2 (double double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   154
    X (Math::double pow (double double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   155
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   156
    X (Class::java.lang.Class forName (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   157
    X (Class::java.lang.Object newInstance ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   158
    * (Class::boolean isInstance (java.lang.Object))
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   159
    X (Class::boolean isAssignableFrom (java.lang.Class))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   160
    X (Class::boolean isInterface ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   161
      (Class::boolean isArray ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   162
    X (Class::boolean isPrimitive ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   163
    X (Class::java.lang.String getName ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   164
    X (Class::java.lang.ClassLoader getClassLoader ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   165
    X (Class::java.lang.Class getSuperclass ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   166
      (Class::java.lang.Class[] getInterfaces ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   167
      (Class::java.lang.Class getComponentType ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   168
      (Class::int getModifiers ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   169
      (Class::java.lang.Object[] getSigners ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   170
      (Class::void setSigners (java.lang.Object[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   171
    X (Class::java.lang.Class getPrimitiveClass (java.lang.String))
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   172
      (Class::java.lang.reflect.Field getField0 (java.lang.String int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   173
      (Class::java.lang.reflect.Field[] getFields0 (int))
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   174
    X (Class::java.lang.reflect.Method getMethod0 (java.lang.String java.lang.Class[] int))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   175
    X (Class::java.lang.reflect.Method[] getMethods0 (int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   176
      (Class::java.lang.reflect.Constructor[] getConstructors0 (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   177
      (Class::java.lang.reflect.Constructor getConstructor0 (java.lang.Class[] int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   178
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   179
    X (InetAddressImpl::java.lang.String getLocalHostName ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   180
    X (InetAddressImpl::void makeAnyLocalAddress (java.net.InetAddress))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   181
    X (InetAddressImpl::byte[][] lookupAllHostAddr (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   182
      (InetAddressImpl::java.lang.String getHostByAddr (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   183
    X (InetAddressImpl::int getInetFamily ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   184
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   185
    X (ResourceBundle::java.lang.Class[] getClassContext ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   186
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   187
    X (System::void setIn0 (java.io.InputStream))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   188
    X (System::void setOut0 (java.io.PrintStream))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   189
    X (System::void setErr0 (java.io.PrintStream))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   190
    X (System::long currentTimeMillis ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   191
    X (System::void arraycopy (java.lang.Object int java.lang.Object int int))
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   192
    X (System::int identityHashCode (java.lang.Object))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   193
    X (System::java.util.Properties initProperties (java.util.Properties))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   194
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   195
    X (Thread::java.lang.Thread currentThread ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   196
    X (Thread::void yield ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   197
    X (Thread::void sleep (long))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   198
    X (Thread::void start ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   199
    X (Thread::boolean isInterrupted (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   200
    X (Thread::boolean isAlive ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   201
      (Thread::int countStackFrames ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   202
    X (Thread::void setPriority0 (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   203
    X (Thread::void stop0 (java.lang.Object))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   204
    X (Thread::void suspend0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   205
    X (Thread::void resume0 ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   206
    * (Thread::void interrupt0 ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   207
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   208
      (String::java.lang.String intern ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   209
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   210
    X (Float::int floatToIntBits (float))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   211
    X (Float::float intBitsToFloat (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   212
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   213
      (ObjectStreamClass::int getClassAccess (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   214
      (ObjectStreamClass::java.lang.String[] getMethodSignatures (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   215
      (ObjectStreamClass::int getMethodAccess (java.lang.Class java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   216
      (ObjectStreamClass::java.lang.String[] getFieldSignatures (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   217
      (ObjectStreamClass::int getFieldAccess (java.lang.Class java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   218
      (ObjectStreamClass::java.io.ObjectStreamField[] getFields0 (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   219
      (ObjectStreamClass::long getSerialVersionUID (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   220
      (ObjectStreamClass::boolean hasWriteObject (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   221
      (ObjectInputStream::java.lang.Class loadClass0 (java.lang.Class java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   222
      (ObjectInputStream::void inputClassFields (java.lang.Object java.lang.Class int[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   223
      (ObjectInputStream::java.lang.Object allocateNewObject (java.lang.Class java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   224
      (ObjectInputStream::java.lang.Object allocateNewArray (java.lang.Class int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   225
      (ObjectInputStream::boolean invokeObjectReader (java.lang.Object java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   226
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   227
      (SecurityManager::java.lang.Class[] getClassContext ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   228
    X (SecurityManager::java.lang.ClassLoader currentClassLoader ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   229
      (SecurityManager::int classDepth (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   230
    X (SecurityManager::int classLoaderDepth ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   231
      (SecurityManager::java.lang.Class currentLoadedClass0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   232
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   233
    X (ClassLoader::void init ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   234
    X (ClassLoader::java.lang.Class defineClass0 (java.lang.String byte[] int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   235
    X (ClassLoader::void resolveClass0 (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   236
    X (ClassLoader::java.lang.Class findSystemClass0 (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   237
    X (ClassLoader::java.io.InputStream getSystemResourceAsStream0 (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   238
      (ClassLoader::java.lang.String getSystemResourceAsName0 (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   239
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   240
    X (FileDescriptor::boolean valid ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   241
      (FileDescriptor::void sync ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   242
    X (FileDescriptor::java.io.FileDescriptor initSystemFD (java.io.FileDescriptor int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   243
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   244
    X (Object::java.lang.Class getClass ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   245
    X (Object::int hashCode ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   246
    X (Object::java.lang.Object clone ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   247
    X (Object::void notify ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   248
    X (Object::void notifyAll ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   249
    X (Object::void wait (long))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   250
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   251
    X (FileOutputStream::void open (java.lang.String))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   252
    X (FileOutputStream::void openAppend (java.lang.String))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   253
    X (FileOutputStream::void write (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   254
    X (FileOutputStream::void writeBytes (byte[] int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   255
    X (FileOutputStream::void close ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   256
    X (FileInputStream::void open (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   257
    X (FileInputStream::int read ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   258
    X (FileInputStream::int readBytes (byte[] int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   259
      (FileInputStream::long skip (long))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   260
    X (FileInputStream::int available ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   261
    X (FileInputStream::void close ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   262
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   263
      (VM::int getState ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   264
      (VM::boolean threadsSuspended ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   265
      (VM::void unsuspendThreads ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   266
      (VM::void unsuspendSomeThreads ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   267
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   268
    X (File::boolean exists0 ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   269
    X (File::boolean canWrite0 ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   270
    X (File::boolean canRead0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   271
    X (File::boolean isFile0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   272
    X (File::boolean isDirectory0 ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   273
    X (File::long lastModified0 ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   274
    X (File::long length0 ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   275
    X (File::boolean mkdir0 ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   276
    X (File::boolean renameTo0 (java.io.File))
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   277
    X (File::boolean delete0 ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   278
      (File::boolean rmdir0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   279
    X (File::java.lang.String[] list0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   280
      (File::java.lang.String canonPath (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   281
    X (File::boolean isAbsolute ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   282
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   283
      (ObjectOutputStream::void outputClassFields (java.lang.Object java.lang.Class int[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   284
      (ObjectOutputStream::boolean invokeObjectWriter (java.lang.Object java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   285
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   286
    X (Throwable::void printStackTrace0 (java.lang.Object))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   287
    X (Throwable::java.lang.Throwable fillInStackTrace ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   288
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   289
    X (Double::long doubleToLongBits (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   290
    X (Double::double longBitsToDouble (long))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   291
    X (Double::double valueOf0 (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   292
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   293
    X (Runtime::void exitInternal (int))
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   294
    o (Runtime::void runFinalizersOnExit0 (boolean))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   295
    o (Runtime::java.lang.Process execInternal (java.lang.String[] java.lang.String[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   296
    X (Runtime::long freeMemory ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   297
    X (Runtime::long totalMemory ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   298
    X (Runtime::void gc ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   299
      (Runtime::void runFinalization ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   300
      (Runtime::void traceInstructions (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   301
      (Runtime::void traceMethodCalls (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   302
    X (Runtime::java.lang.String initializeLinkerInternal ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   303
    X (Runtime::java.lang.String buildLibName (java.lang.String java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   304
    X (Runtime::int loadFileInternal (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   305
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   306
      (WDrawingSurfaceInfo::int lock ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   307
      (WDrawingSurfaceInfo::void unlock ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   308
      (WDrawingSurfaceInfo::int getHWnd ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   309
      (WDrawingSurfaceInfo::int getHBitmap ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   310
      (WDrawingSurfaceInfo::int getPBits ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   311
      (WDrawingSurfaceInfo::int getHDC ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   312
      (WDrawingSurfaceInfo::int getDepth ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   313
      (WDrawingSurfaceInfo::int getHPalette ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   314
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   315
    X (WDefaultFontCharset::boolean canConvert (char))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   316
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   317
      (ColorModel::void deletepData ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   318
    X (WToolkit::void init (java.lang.Thread))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   319
    X (WToolkit::void eventLoop ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   320
      (WToolkit::java.awt.image.ColorModel makeColorModel ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   321
    X (WToolkit::int getScreenResolution ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   322
    X (WToolkit::int getScreenWidth ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   323
    X (WToolkit::int getScreenHeight ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   324
      (WToolkit::void sync ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   325
    * (WToolkit::void beep ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   326
    X (WToolkit::void loadSystemColors (int[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   327
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   328
      (WPrintJob::void end ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   329
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   330
    X (WDialogPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   331
    X (WDialogPeer::void _show ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   332
    X (WDialogPeer::void _hide ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   333
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   334
    X (WWindowPeer::void toFront ())
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   335
    X (WWindowPeer::void toBack ())
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   336
    X (WWindowPeer::void _setTitle (java.lang.String))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   337
    X (WWindowPeer::void _setResizable (boolean))
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   338
    X (WWindowPeer::void create (sun.awt.windows.WComponentPeer))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   339
    o (WWindowPeer::void updateInsets (java.awt.Insets))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   340
      (WWindowPeer::java.awt.Component getContainerElement (java.awt.Container int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   341
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   342
    X (WCanvasPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   343
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   344
    X (WTextAreaPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   345
    X (WTextAreaPeer::void insertText (java.lang.String int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   346
      (WTextAreaPeer::void replaceText (java.lang.String int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   347
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   348
    X (WTextComponentPeer::java.lang.String getText ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   349
    X (WTextComponentPeer::void setText (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   350
    X (WTextComponentPeer::int getSelectionStart ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   351
    X (WTextComponentPeer::int getSelectionEnd ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   352
    X (WTextComponentPeer::void select (int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   353
    X (WTextComponentPeer::void enableEditing (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   354
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   355
    X (WComponentPeer::void show ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   356
    X (WComponentPeer::void hide ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   357
    X (WComponentPeer::void enable ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   358
    X (WComponentPeer::void disable ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   359
    X (WComponentPeer::java.awt.Point getLocationOnScreen ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   360
    X (WComponentPeer::void reshape (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   361
    o (WComponentPeer::void handleEvent (java.awt.AWTEvent))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   362
    o (WComponentPeer::void _dispose ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   363
    X (WComponentPeer::void _setForeground (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   364
    X (WComponentPeer::void _setBackground (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   365
    o (WComponentPeer::void setFont (java.awt.Font))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   366
    o (WComponentPeer::void requestFocus ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   367
    o (WComponentPeer::void setCursor (java.awt.Cursor))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   368
    o (WComponentPeer::void start ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   369
      (WComponentPeer::void _beginValidate ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   370
      (WComponentPeer::void endValidate ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   371
    o (WComponentPeer::void setZOrderPosition (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   372
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   373
    X (WFramePeer::void setMenuBar0 (sun.awt.windows.WMenuBarPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   374
    X (WFramePeer::void create (sun.awt.windows.WComponentPeer))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   375
    X (WFramePeer::void _setIconImage (sun.awt.image.ImageRepresentation))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   376
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   377
    o (WFontMetrics::boolean needsConversion (java.awt.Font sun.awt.FontDescriptor))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   378
    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
   379
      (WFontMetrics::int bytesWidth (byte[] int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   380
      (WFontMetrics::void init ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   381
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   382
    o (WChoicePeer::void select (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   383
    o (WChoicePeer::void remove (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   384
    o (WChoicePeer::void addItem (java.lang.String int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   385
    X (WChoicePeer::void reshape (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   386
    X (WChoicePeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   387
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   388
    X (WLabelPeer::void setText (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   389
    o (WLabelPeer::void setAlignment (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   390
    X (WLabelPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   391
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   392
    X (WMenuItemPeer::void _setLabel (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   393
    X (WMenuItemPeer::void create (sun.awt.windows.WMenuPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   394
    X (WMenuItemPeer::void enable (boolean))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   395
    o (WMenuItemPeer::void _dispose ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   396
      (WMenuPeer::void addSeparator ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   397
      (WMenuPeer::void delItem (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   398
    X (WMenuPeer::void createMenu (sun.awt.windows.WMenuBarPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   399
      (WMenuPeer::void createSubMenu (sun.awt.windows.WMenuPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   400
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   401
      (WPopupMenuPeer::void createMenu (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   402
      (WPopupMenuPeer::void _show (java.awt.Event))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   403
      (WMenuBarPeer::void addMenu (java.awt.Menu))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   404
      (WMenuBarPeer::void delMenu (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   405
    X (WMenuBarPeer::void create (sun.awt.windows.WFramePeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   406
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   407
      (WCheckboxMenuItemPeer::void setState (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   408
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   409
    X (WFileDialogPeer::void show ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   410
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   411
    X (WCheckboxPeer::void setState (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   412
    X (WCheckboxPeer::void setCheckboxGroup (java.awt.CheckboxGroup))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   413
      (WCheckboxPeer::void setLabel (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   414
    X (WCheckboxPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   415
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   416
    X (WClipboard::void init ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   417
      (WClipboard::void setClipboardText (java.awt.datatransfer.StringSelection))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   418
      (WClipboard::java.lang.String getClipboardText ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   419
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   420
    X (WListPeer::void addItem (java.lang.String int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   421
    X (WListPeer::void delItems (int int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   422
    X (WListPeer::void select (int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   423
      (WListPeer::void deselect (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   424
      (WListPeer::void makeVisible (int))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   425
    X (WListPeer::void setMultipleSelections (boolean))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   426
    X (WListPeer::void create (sun.awt.windows.WComponentPeer))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   427
    X (WListPeer::boolean isSelected (int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   428
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   429
    x (WScrollbarPeer::void _setValues (int int int int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   430
    x (WScrollbarPeer::void setLineIncrement (int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   431
    x (WScrollbarPeer::void setPageIncrement (int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   432
    x (WScrollbarPeer::void create (sun.awt.windows.WComponentPeer))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   433
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   434
    x (ImageRepresentation::void offscreenInit (java.awt.Color))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   435
    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
   436
    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
   437
    x (ImageRepresentation::boolean finish (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   438
    X (ImageRepresentation::void imageDraw (java.awt.Graphics int int java.awt.Color))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   439
    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
   440
    x (ImageRepresentation::void disposeImage ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   441
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   442
    X (WTextFieldPeer::void create (sun.awt.windows.WComponentPeer))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   443
    X (WTextFieldPeer::void setEchoCharacter (char))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   444
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   445
    X (WScrollPanePeer::void create (sun.awt.windows.WComponentPeer))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   446
    o (WScrollPanePeer::int getOffset (int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   447
      (WScrollPanePeer::void setInsets ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   448
      (WScrollPanePeer::void setScrollPosition (int int))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   449
    x (WScrollPanePeer::int _getHScrollbarHeight ())
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   450
    x (WScrollPanePeer::int _getVScrollbarWidth ())
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   451
    o (WScrollPanePeer::void setSpans (int int int int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   452
      (WScrollPanePeer::java.awt.Component getScrollChild ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   453
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   454
      (WEmbeddedFramePeer::void create (sun.awt.windows.WComponentPeer))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   455
    X (WButtonPeer::void setLabel (java.lang.String))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   456
    X (WButtonPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   457
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   458
    x (WColor::java.awt.Color getDefaultColor (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   459
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   460
    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
   461
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   462
    x (WGraphics::void createFromComponent (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   463
    x (WGraphics::void createFromGraphics (sun.awt.windows.WGraphics))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   464
      (WGraphics::void createFromPrintJob (sun.awt.windows.WPrintJob))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   465
      (WGraphics::void createFromHDC (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   466
    x (WGraphics::void imageCreate (sun.awt.image.ImageRepresentation))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   467
    x (WGraphics::void pSetFont (java.awt.Font))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   468
    X (WGraphics::void pSetForeground (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   469
      (WGraphics::void _dispose ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   470
    x (WGraphics::void dispose ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   471
    x (WGraphics::void setPaintMode ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   472
    x (WGraphics::void setXORMode (java.awt.Color))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   473
    o (WGraphics::java.awt.Rectangle getClipBounds ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   474
    o (WGraphics::void changeClip (int int int int boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   475
      (WGraphics::void removeClip ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   476
    X (WGraphics::void clearRect (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   477
    X (WGraphics::void fillRect (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   478
    X (WGraphics::void drawRect (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   479
      (WGraphics::void drawSFChars (char[] int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   480
    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
   481
      (WGraphics::int drawMFCharsConvertedSegment (java.awt.Font sun.awt.FontDescriptor byte[] int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   482
      (WGraphics::void drawBytes (byte[] int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   483
    X (WGraphics::void drawLine (int int int int))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   484
    X (WGraphics::void copyArea (int int int int int int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   485
    o (WGraphics::void drawRoundRect (int int int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   486
    o (WGraphics::void fillRoundRect (int int int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   487
    X (WGraphics::void drawPolygon (int[] int[] int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   488
      (WGraphics::void drawPolyline (int[] int[] int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   489
    X (WGraphics::void fillPolygon (int[] int[] int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   490
    x (WGraphics::void drawOval (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   491
    x (WGraphics::void fillOval (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   492
    x (WGraphics::void drawArc (int int int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   493
    x (WGraphics::void fillArc (int int int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   494
      (WGraphics::void print (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   495
      (WGraphics::void close (sun.awt.windows.WPrintJob))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   496
      (JPEGImageDecoder::void readImage (java.io.InputStream byte[]))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   497
    o (OffScreenImageSource::void sendPixels ())
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   498
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   499
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   500
    additional native methods added by microsoft (sigh):
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   501
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   502
    X (java.lang.String::boolean equals (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   503
    X (java.lang.String::int length (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   504
    o (java.lang.Runtime::void setInputStreamLocalised (java.io.DataInputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   505
    o (java.lang.Runtime::void setOutputStreamLocalised (java.io.DataOutputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   506
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   507
      (java.lang.String::int compareTo (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   508
      (java.lang.String::boolean equalsIgnoreCase (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   509
      (java.lang.String::int indexOf (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   510
      (java.lang.String::boolean startsWith (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   511
      (java.lang.String::boolean regionMatches (int java.lang.String int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   512
      (java.lang.String::boolean regionMatches (boolean int java.lang.String int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   513
      (java.lang.String::int lastIndexOf (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   514
      (java.lang.ClassLoader::void resolveClass (java.lang.Class))
661
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
   515
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   516
      (java.lang.ClassLoader::java.lang.Class createArrayClass (java.lang.String java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   517
      (java.io.PrintStream::boolean isOutputStreamLocalised (java.io.DataOutputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   518
      (java.lang.Runtime::boolean isOutputStreamLocalised (java.io.DataOutputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   519
      (java.lang.Runtime::boolean isInputStreamLocalised (java.io.DataInputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   520
      (java.lang.ThreadGroup::void initMainThreadGroup0 (java.lang.ThreadGroup))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   521
      (java.lang.System::void validateSecurityManager (java.lang.SecurityManager))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   522
      (java.lang.Class::java.lang.reflect.Method getMethod2 (int java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   523
      (java.io.ObjectOutputStream::void invokeDefaultWriteObject (java.lang.Object java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   524
      (java.io.ObjectOutputStream::void invokeWriteObject (java.lang.Object java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   525
      (java.io.ObjectInputStream::void invokeDefaultReadObject (java.lang.Object java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   526
      (java.io.ObjectInputStream::void invokeReadObject (java.lang.Object java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   527
      (java.util.TimeZone::java.util.TimeZone getWin32TimeZone ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   528
      (java.net.InetAddress::java.lang.Object[] lookupHostByName (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   529
      (java.net.InetAddress::java.lang.Object[] lookupHostByAddr (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   530
      (java.io.ObjectStreamClass::void doMismatchedRead (java.io.ObjectInputStream java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   531
      (java.io.ObjectStreamClass::long getClassDefinedUID (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   532
      (java.io.ObjectStreamClass::boolean findObjectMethod0 (java.lang.Class int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   533
      (java.lang.reflect.Method::java.lang.String getDescriptor ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   534
      (java.lang.reflect.Array::void setShort (java.lang.Object int unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   535
      (java.lang.reflect.Array::char getChar (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   536
      (java.lang.reflect.Array::void setChar (java.lang.Object int char))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   537
      (java.lang.reflect.Array::void setDouble (java.lang.Object int double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   538
      (java.lang.reflect.Array::java.lang.Object get (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   539
      (java.lang.reflect.Array::void set (java.lang.Object int java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   540
      (java.lang.reflect.Array::int getInt (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   541
      (java.lang.reflect.Array::void setInt (java.lang.Object int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   542
      (java.lang.reflect.Array::java.lang.Object multiNewArray (java.lang.Class int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   543
      (java.lang.reflect.Array::boolean getBoolean (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   544
      (java.lang.reflect.Array::byte getByte (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   545
      (java.lang.reflect.Array::float getFloat (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   546
      (java.lang.reflect.Array::void setBoolean (java.lang.Object int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   547
      (java.lang.reflect.Array::long getLong (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   548
      (java.lang.reflect.Array::void setByte (java.lang.Object int byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   549
      (java.lang.reflect.Array::void setLong (java.lang.Object int long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   550
      (java.lang.reflect.Array::void setFloat (java.lang.Object int float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   551
      (java.lang.reflect.Array::java.lang.Object newArray (java.lang.Class int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   552
      (java.lang.reflect.Array::int getLength (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   553
      (java.lang.reflect.Array::unsigned short getShort (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   554
      (java.lang.reflect.Array::double getDouble (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   555
      (java.lang.reflect.Field::void setShort (java.lang.Object unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   556
      (java.lang.reflect.Field::char getChar (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   557
      (java.lang.reflect.Field::void setChar (java.lang.Object char))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   558
      (java.lang.reflect.Field::void setDouble (java.lang.Object double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   559
      (java.lang.reflect.Field::java.lang.Object get (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   560
      (java.lang.reflect.Field::void set (java.lang.Object java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   561
      (java.lang.reflect.Field::int getInt (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   562
      (java.lang.reflect.Field::void setInt (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   563
      (java.lang.reflect.Field::boolean getBoolean (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   564
      (java.lang.reflect.Field::byte getByte (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   565
      (java.lang.reflect.Field::float getFloat (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   566
      (java.lang.reflect.Field::long getLong (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   567
      (java.lang.reflect.Field::void setBoolean (java.lang.Object boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   568
      (java.lang.reflect.Field::void setByte (java.lang.Object byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   569
      (java.lang.reflect.Field::void setLong (java.lang.Object long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   570
      (java.lang.reflect.Field::void setFloat (java.lang.Object float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   571
      (java.lang.reflect.Field::int getModifiers ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   572
      (java.lang.reflect.Field::unsigned short getShort (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   573
      (java.lang.reflect.Field::double getDouble (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   574
      (java.lang.reflect.Constructor::java.lang.Object newInstance (java.lang.Object[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   575
      (java.lang.reflect.Constructor::int getModifiers ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   576
      (java.util.zip.Inflater::void setDictionary0 (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   577
      (java.util.zip.Inflater::int getTotalIn0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   578
      (java.util.zip.Inflater::void reset0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   579
      (java.util.zip.Inflater::void end0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   580
      (java.util.zip.Inflater::int inflate0 (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   581
      (java.util.zip.Inflater::int getTotalOut0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   582
      (java.util.zip.Inflater::int getAdler0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   583
      (java.util.zip.CRC32::void update1 (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   584
      (java.util.zip.CRC32::void update (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   585
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   586
      (com.ms.security.PolicyEngine::boolean isSystemClass (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   587
      (com.ms.security.PolicyEngine::void denyPermission (com.ms.security.PermissionID))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   588
      (com.ms.security.PolicyEngine::void revertPermission (com.ms.security.PermissionID))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   589
      (com.ms.security.PolicyEngine::void initPolicyEngine ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   590
      (com.ms.security.PolicyEngine::java.lang.Class _getClassOfCaller (java.lang.Class[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   591
      (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
   592
      (com.ms.security.PolicyEngine::com.ms.security.PermissionDataSet getPermissionsOfClass (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   593
      (com.ms.security.PolicyEngine::void assertPermission (com.ms.security.PermissionID))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   594
      (com.ms.security.PolicyEngine::void deepCheck (com.ms.security.PermissionID java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   595
      (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
   596
      (com.ms.security.PolicyEngine::java.security.Principal getPrincipalOfClass (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   597
      (com.ms.security.permissions.ThreadPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   598
      (com.ms.security.permissions.ThreadPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   599
      (com.ms.security.permissions.RegistryPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   600
      (com.ms.security.permissions.RegistryPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   601
      (com.ms.security.management.ZonePermissions::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   602
      (com.ms.security.management.ZonePermissions::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   603
      (com.ms.security.permissions.UIPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   604
      (com.ms.security.permissions.UIPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   605
      (com.ms.security.permissions.NetIOPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   606
      (com.ms.security.permissions.NetIOPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   607
      (com.ms.security.permissions.ReflectionPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   608
      (com.ms.security.permissions.ReflectionPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   609
      (com.ms.vm.WeakReference::void storeRef (int java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   610
      (com.ms.vm.WeakReference::int allocRef (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   611
      (com.ms.vm.WeakReference::void freeRef (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   612
      (com.ms.vm.WeakReference::java.lang.Object fetchRef (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   613
      (com.ms.dll.DllLib::void CoTaskMemFree (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   614
      (com.ms.dll.DllLib::void CopyWithDstOffset (int float[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   615
      (com.ms.dll.DllLib::void CopyWithDstOffset (int double[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   616
      (com.ms.dll.DllLib::int numParamBytes0 (java.lang.reflect.Method))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   617
      (com.ms.dll.DllLib::void CopyWithDstOffset (int java.lang.Object int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   618
      (com.ms.dll.DllLib::void write2 (java.lang.Object int unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   619
      (com.ms.dll.DllLib::void write2 (int int unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   620
      (com.ms.dll.DllLib::void write2 (java.lang.Object int char))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   621
      (com.ms.dll.DllLib::void write2 (int int char))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   622
      (com.ms.dll.DllLib::int GlobalAlloc (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   623
      (com.ms.dll.DllLib::void resize (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   624
      (com.ms.dll.DllLib::long read8 (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   625
      (com.ms.dll.DllLib::long read8 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   626
      (com.ms.dll.DllLib::int lstrcpy (java.lang.StringBuffer int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   627
      (com.ms.dll.DllLib::int lstrlenA (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   628
      (com.ms.dll.DllLib::int read4 (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   629
      (com.ms.dll.DllLib::int CoTaskMemAlloc (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   630
      (com.ms.dll.DllLib::void write8 (java.lang.Object int long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   631
      (com.ms.dll.DllLib::int sizeOf0 (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   632
      (com.ms.dll.DllLib::int getSystemDefaultCharSize ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   633
      (com.ms.dll.DllLib::void write8 (int int long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   634
      (com.ms.dll.DllLib::int read4 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   635
      (com.ms.dll.DllLib::byte read1 (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   636
      (com.ms.dll.DllLib::byte read1 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   637
      (com.ms.dll.DllLib::int lstrlen (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   638
      (com.ms.dll.DllLib::void CopyMemoryAnsi (int java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   639
      (com.ms.dll.DllLib::void CopyMemoryAnsi (java.lang.StringBuffer int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   640
      (com.ms.dll.DllLib::boolean isStruct (java.lang.reflect.Field))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   641
      (com.ms.dll.DllLib::boolean GlobalFree (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   642
      (com.ms.dll.DllLib::void internalAttemptCopyPtrToStruct (int java.lang.Object int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   643
      (com.ms.dll.DllLib::int getLastError ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   644
      (com.ms.dll.DllLib::void write4 (java.lang.Object int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   645
      (com.ms.dll.DllLib::void write4 (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   646
      (com.ms.dll.DllLib::unsigned short read2 (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   647
      (com.ms.dll.DllLib::unsigned short read2 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   648
      (com.ms.dll.DllLib::void release (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   649
      (com.ms.dll.DllLib::void write1 (java.lang.Object int byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   650
      (com.ms.dll.DllLib::void write1 (int int byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   651
      (com.ms.dll.DllLib::boolean isStructCls (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   652
      (com.ms.dll.DllLib::void prelink (java.lang.reflect.Method))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   653
      (com.ms.dll.DllLib::void CopyMemoryUni (int java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   654
      (com.ms.dll.DllLib::void CopyMemoryUni (java.lang.StringBuffer int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   655
      (com.ms.dll.DllLib::void internalAttemptCopyStructToPtr (java.lang.Object int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   656
      (com.ms.dll.DllLib::void CopyWithSrcOffset (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   657
      (com.ms.dll.DllLib::void CopyWithSrcOffset (byte[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   658
      (com.ms.dll.DllLib::void CopyWithSrcOffset (char[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   659
      (com.ms.dll.DllLib::void CopyWithSrcOffset (unsigned short[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   660
      (com.ms.dll.DllLib::void CopyWithSrcOffset (int[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   661
      (com.ms.dll.DllLib::void CopyWithSrcOffset (long[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   662
      (com.ms.dll.DllLib::void CopyWithSrcOffset (float[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   663
      (com.ms.dll.DllLib::void CopyWithSrcOffset (double[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   664
      (com.ms.dll.DllLib::void CopyWithSrcOffset (java.lang.Object int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   665
      (com.ms.dll.DllLib::void CopyWithDstOffset (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   666
      (com.ms.dll.DllLib::int lstrlenW (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   667
      (com.ms.dll.DllLib::void CopyWithDstOffset (int byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   668
      (com.ms.dll.DllLib::void CopyWithDstOffset (int char[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   669
      (com.ms.dll.DllLib::void CopyWithDstOffset (int unsigned short[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   670
      (com.ms.dll.DllLib::void CopyWithDstOffset (int int[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   671
      (com.ms.dll.DllLib::void CopyWithDstOffset (int long[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   672
      (com.ms.dll.DllLib::int internalGetStructAddr (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   673
      (com.ms.dll.DllLib::int offsetOf (java.lang.reflect.Field))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   674
      (com.ms.dll.DllLib::int lstrcpy (int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   675
      (com.ms.dll.DllLib::int sizeOf (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   676
      (com.ms.lang.RegKey::com.ms.lang.RegKeyEnumValue pRegEnumValue (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   677
      (com.ms.lang.RegKey::java.lang.String pRegQueryStringValue (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   678
      (com.ms.lang.RegKey::byte[] pRegQueryBinaryValue (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   679
      (com.ms.lang.RegKey::int pRegQueryIntValue (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   680
      (com.ms.lang.RegKey::void pRegSetStringValue (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   681
      (com.ms.lang.RegKey::void pRegSetIntValue (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   682
      (com.ms.lang.RegKey::void pRegSetBinaryValue (java.lang.String byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   683
      (com.ms.lang.RegKey::void pRegDeleteValue (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   684
      (com.ms.lang.RegKey::void pRegFlushKey ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   685
      (com.ms.lang.RegKey::void pRegDeleteKey (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   686
      (com.ms.lang.RegKey::void pRegOpenBaseKey (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   687
      (com.ms.lang.RegKey::void pRegOpenKey (com.ms.lang.RegKey java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   688
      (com.ms.lang.RegKey::int pRegQueryInfoKey (com.ms.lang.RegQueryInfo))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   689
      (com.ms.lang.RegKey::void pRegUnLoadKey (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   690
      (com.ms.lang.RegKey::void pRegCreateKey (com.ms.lang.RegKey java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   691
      (com.ms.lang.RegKey::void pRegRestoreKey (java.lang.String boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   692
      (com.ms.lang.RegKey::void pRegLoadKey (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   693
      (com.ms.lang.RegKey::void pRegCloseKey ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   694
      (com.ms.lang.RegKey::java.lang.String pRegEnumKey (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   695
      (com.ms.lang.RegKey::void pRegReplaceKey (java.lang.String java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   696
      (com.ms.awt.peer.NativeServices::int pGetKeyboardLayouts (int[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   697
      (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
   698
      (com.ms.awt.peer.NativeServices::int getColourDataDepth ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   699
      (com.ms.awt.peer.NativeServices::java.lang.String pGetFontEnumeratedFamily (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   700
      (com.ms.awt.peer.NativeServices::int pNewFontEnumeration ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   701
      (com.ms.awt.peer.NativeServices::int getScreenClipRgn (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   702
      (com.ms.awt.peer.NativeServices::int pSetKeyboardLayout (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   703
      (com.ms.awt.peer.NativeServices::void ClipboardInit (com.ms.awt.peer.IToolkit))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   704
      (com.ms.awt.peer.NativeServices::void getDeviceCaps (int int[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   705
      (com.ms.awt.peer.NativeServices::void getAfcMetrics (int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   706
      (com.ms.awt.peer.NativeServices::void setUserLocale (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   707
      (com.ms.awt.peer.NativeServices::void getDCDI (com.ms.awt.peer.DirectColourDataInfo))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   708
      (com.ms.awt.peer.NativeServices::int pGetNumKeyboardLayouts ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   709
      (com.ms.awt.peer.NativeServices::void getIndexedColours (byte[] byte[] byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   710
      (com.ms.awt.peer.NativeServices::int getNativeFont (java.lang.String int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   711
      (com.ms.awt.peer.NativeServices::int pGetKeyboardLayout ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   712
      (com.ms.awt.peer.NativeServices::int getSystemLCID ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   713
      (com.ms.awt.peer.NativeServices::void caretSetPos (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   714
      (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
   715
      (com.ms.awt.peer.NativeServices::java.lang.String ClipboardGetText ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   716
      (com.ms.awt.peer.NativeServices::int systemMetric (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   717
      (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
   718
      (com.ms.awt.peer.NativeServices::void caretHide (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   719
      (com.ms.awt.peer.NativeServices::int chooseColor (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   720
      (com.ms.awt.peer.NativeServices::java.lang.String pGetKeyboardLayoutName (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   721
      (com.ms.awt.peer.NativeServices::int matchFontAndLanguage (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   722
      (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
   723
      (com.ms.awt.peer.NativeServices::java.lang.String getSystemFont (int com.ms.awt.peer.LogFontX))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   724
      (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
   725
      (com.ms.awt.peer.NativeServices::void caretDispose (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   726
      (com.ms.awt.peer.NativeServices::void caretShow (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   727
      (com.ms.awt.peer.NativeServices::void deleteObject (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   728
      (com.ms.awt.peer.NativeServices::void setDebugOutput (com.ms.awt.peer.COMPrintCallback))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   729
      (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
   730
      (com.ms.awt.peer.NativeServices::int getSystemColourValue (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   731
      (com.ms.awt.peer.NativeServices::void caretCreate (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   732
      (com.ms.awt.peer.NativeServices::void ClipboardSetText (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   733
      (com.ms.awt.peer.NativeServices::void println (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   734
      (com.ms.security.SecurityClassLoader::boolean getSecureState ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   735
      (com.ms.security.SecurityClassLoader::void setSecureState (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   736
      (com.ms.security.SecurityClassLoader::java.lang.Class internalDefineClass (java.lang.String byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   737
      (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
   738
      (com.ms.security.SecurityClassLoader::java.util.Hashtable getHashTable ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   739
      (com.ms.security.auditing.SecurityAuditor::boolean isThreadAuditingEnabled ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   740
      (com.ms.security.auditing.SecurityAuditor::void disableThreadAuditing ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   741
      (com.ms.security.auditing.SecurityAuditor::void enableThreadAuditing ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   742
      (com.ms.security.auditing.SecurityAuditor::void initSecurityAuditor ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   743
      (com.ms.security.PermissionDataSet::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   744
      (com.ms.security.PermissionDataSet::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   745
      (com.ms.lang.SystemX::int pAnsiToUnicode (byte[] char[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   746
      (com.ms.lang.SystemX::int pQueryUnicodeToAnsi (char[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   747
      (com.ms.lang.SystemX::void gc ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   748
      (com.ms.lang.SystemX::boolean arrayCompare (java.lang.Object[] int java.lang.Object[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   749
      (com.ms.lang.SystemX::int pUnicodeToAnsi (char[] byte[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   750
      (com.ms.lang.SystemX::boolean isLocalCharDBCSLeadByte (byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   751
      (com.ms.lang.SystemX::int pQueryAnsiToUnicode (byte[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   752
      (com.ms.lang.SystemX::boolean isBaseDBCS ())
661
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
   753
      (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
   754
      (com.ms.packagemanager.JavaPackage::byte[] nativeGetSigner (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   755
      (com.ms.packagemanager.JavaPackage::byte[] nativeGetCapabilities (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   756
      (com.ms.com._Guid::void IIDFromString (java.lang.String com.ms.com._Guid))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   757
      (com.ms.com._Guid::java.lang.String StringFromIID (com.ms.com._Guid))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   758
      (com.ms.security.auditing.PrintStreamAuditor::int GetModuleHandle (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   759
      (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
   760
      (com.ms.security.permissions.CustomPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   761
      (com.ms.security.permissions.CustomPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   762
      (com.ms.security.permissions.X509Signer::boolean pLoad (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   763
      (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
   764
      (com.ms.packagemanager.PackageManager::java.lang.Object nativeGetPackage (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   765
      (com.ms.packagemanager.PackageManager::java.lang.String[] nativeGetBeansList ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   766
      (com.ms.packagemanager.PackageManager::com.ms.com.IStream nativeGetFileIStream (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   767
      (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
   768
      (com.ms.security.permissions.UserFileIOPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   769
      (com.ms.security.permissions.UserFileIOPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   770
      (com.ms.security.permissions.PropertyPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   771
      (com.ms.security.permissions.PropertyPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   772
      (com.ms.security.permissions.ClientStoragePermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   773
      (com.ms.security.permissions.ClientStoragePermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   774
      (com.ms.security.permissions.ExecutionPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   775
      (com.ms.security.permissions.ExecutionPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   776
      (com.ms.util.EventLog::boolean DeregisterEventSource (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   777
      (com.ms.util.EventLog::void reportEvent0 (unsigned short unsigned short int java.lang.String[] byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   778
      (com.ms.util.EventLog::int RegisterEventSource (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   779
      (com.ms.applet.BrowserAppletFrame::void signalViewChange (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   780
      (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
   781
      (com.ms.applet.BrowserAppletFrame::void showSystemStatus (int int boolean java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   782
      (com.ms.applet.BrowserAppletFrame::com.ms.security.management.SecurityPolicy getSecurityPolicy0 (int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   783
      (com.ms.applet.BrowserAppletFrame::void setDownloadState (int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   784
      (com.ms.applet.BrowserAppletFrame::int GetSystemDefaultLCID ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   785
      (com.ms.applet.BrowserAppletFrame::void requestResize (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   786
      (com.ms.applet.BrowserAppletFrame::void signalObjectLoadDone (int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   787
      (com.ms.applet.BrowserAppletFrame::com.ms.applet.BrowserAppletFrame findOfflineContext ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   788
      (com.ms.applet.BrowserAppletFrame::void showStatus0 (int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   789
      (com.ms.applet.BrowserAppletFrame::boolean checkGlobalOfflineMode0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   790
      (com.ms.applet.BrowserAppletFrame::void showDocument0 (int java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   791
      (com.ms.security.permissions.SystemStreamsPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   792
      (com.ms.security.permissions.SystemStreamsPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   793
      (com.ms.security.permissions.FileIOPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   794
      (com.ms.security.permissions.FileIOPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   795
      (com.ms.com.ComLib::int newGCHandle (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   796
      (com.ms.com.ComLib::java.lang.Object derefGCHandle (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   797
      (com.ms.com.ComLib::void dprinthelper (char[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   798
      (com.ms.com.ComLib::void release (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   799
      (com.ms.com.ComLib::int jcdwClassSizeOf (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   800
      (com.ms.com.ComLib::int jcdwOffsetOf (java.lang.Object java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   801
      (com.ms.com.ComLib::int jcdwClassOffsetOf (java.lang.Class java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   802
      (com.ms.com.ComLib::boolean isJavaOwned (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   803
      (com.ms.com.ComLib::void brk (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   804
      (com.ms.com.ComLib::void setDataWrapperSize (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   805
      (com.ms.com.ComLib::void brk (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   806
      (com.ms.com.ComLib::void setJCDWHomeThread (java.lang.Object java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   807
      (com.ms.com.ComLib::void propagateOwnership (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   808
      (com.ms.com.ComLib::void threadStartMTA (java.lang.Thread))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   809
      (com.ms.com.ComLib::void IENVNextMarshalerJ2C (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   810
      (com.ms.com.ComLib::boolean supportsInterface (java.lang.Object com.ms.com._Guid))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   811
      (com.ms.com.ComLib::java.lang.Object ptrToStruct (java.lang.Class int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   812
      (com.ms.com.ComLib::int jcdwSizeOf (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   813
      (com.ms.com.ComLib::void declareMessagePumpThread ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   814
      (com.ms.com.ComLib::void IENVNextMarshalerC2J (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   815
      (com.ms.com.ComLib::void freeGCHandle (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   816
      (com.ms.com.ComLib::boolean isEqualUnknown (java.lang.Object java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   817
      (com.ms.com.Dispatch::boolean NIsArray (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   818
      (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
   819
      (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
   820
      (com.ms.com.ComException::int FormatMessage (int int int int java.lang.StringBuffer int int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   821
      (com.ms.com.Variant::int toInt ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   822
      (com.ms.com.Variant::double toDate ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   823
      (com.ms.com.Variant::boolean toBoolean ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   824
      (com.ms.com.Variant::double toDouble ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   825
      (com.ms.com.Variant::long toCurrency ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   826
      (com.ms.com.Variant::void putVariantArray (com.ms.com.Variant[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   827
      (com.ms.com.Variant::com.ms.com.Variant[] getVariantArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   828
      (com.ms.com.Variant::void putByteArray (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   829
      (com.ms.com.Variant::void putShortRef (unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   830
      (com.ms.com.Variant::void putIntRef (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   831
      (com.ms.com.Variant::void putDoubleRef (double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   832
      (com.ms.com.Variant::void putDateRef (double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   833
      (com.ms.com.Variant::void putStringRef (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   834
      (com.ms.com.Variant::unsigned short getShortRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   835
      (com.ms.com.Variant::int getIntRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   836
      (com.ms.com.Variant::double getDoubleRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   837
      (com.ms.com.Variant::double getDateRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   838
      (com.ms.com.Variant::java.lang.String getStringRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   839
      (com.ms.com.Variant::java.lang.String internalToString ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   840
      (com.ms.com.Variant::void initSafeArrayByRef (com.ms.com.SafeArray int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   841
      (com.ms.com.Variant::java.lang.Object toCharArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   842
      (com.ms.com.Variant::java.lang.Object toDispatch ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   843
      (com.ms.com.Variant::byte toByte ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   844
      (com.ms.com.Variant::java.lang.Object getDispatch ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   845
      (com.ms.com.Variant::void putDispatch (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   846
      (com.ms.com.Variant::boolean getBoolean ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   847
      (com.ms.com.Variant::int toError ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   848
      (com.ms.com.Variant::java.lang.Object toObject ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   849
      (com.ms.com.Variant::void initSafeArrayByVal (com.ms.com.SafeArray int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   850
      (com.ms.com.Variant::java.lang.Object getObject ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   851
      (com.ms.com.Variant::void putObject (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   852
      (com.ms.com.Variant::com.ms.com.SafeArray toSafeArrayHelper (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   853
      (com.ms.com.Variant::void putFloatRef (float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   854
      (com.ms.com.Variant::void putCurrencyRef (long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   855
      (com.ms.com.Variant::void putErrorRef (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   856
      (com.ms.com.Variant::void putBooleanRef (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   857
      (com.ms.com.Variant::void putObjectRef (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   858
      (com.ms.com.Variant::void putByteRef (byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   859
      (com.ms.com.Variant::java.lang.String getString ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   860
      (com.ms.com.Variant::void putString (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   861
      (com.ms.com.Variant::float getFloatRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   862
      (com.ms.com.Variant::long getCurrencyRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   863
      (com.ms.com.Variant::int getErrorRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   864
      (com.ms.com.Variant::boolean getBooleanRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   865
      (com.ms.com.Variant::java.lang.Object getObjectRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   866
      (com.ms.com.Variant::byte getByteRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   867
      (com.ms.com.Variant::float toFloat ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   868
      (com.ms.com.Variant::void putCharArray (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   869
      (com.ms.com.Variant::void putDispatchRef (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   870
      (com.ms.com.Variant::java.lang.Object getDispatchRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   871
      (com.ms.com.Variant::void putVariantArrayRef (com.ms.com.Variant[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   872
      (com.ms.com.Variant::com.ms.com.Variant[] getVariantArrayRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   873
      (com.ms.com.Variant::void changeType (unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   874
      (com.ms.com.Variant::void ncloneIndirect (com.ms.com.Variant))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   875
      (com.ms.com.Variant::void nFinalize (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   876
      (com.ms.com.Variant::void nclone (com.ms.com.Variant))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   877
      (com.ms.com.Variant::unsigned short toShort ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   878
      (com.ms.com.Variant::void putSafeArrayRefHelper (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   879
      (com.ms.com.Variant::com.ms.com.Variant[] toVariantArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   880
      (com.ms.com.Variant::java.lang.Object toByteArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   881
      (com.ms.com.Variant::void TrueVariantClear ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   882
      (com.ms.awt.WToolkit::boolean MessageBeep (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   883
      (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
   884
      (com.ms.applet.AppletPanel::void securedCall0 (int java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   885
      (com.ms.applet.AppletPanel::com.ms.security.PermissionSet getDefaultPermissionsFromLoader (com.ms.vm.loader.URLClassLoader))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   886
      (com.ms.dll.Win32Exception::int FormatMessage (int int int int java.lang.StringBuffer int int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   887
      (com.ms.awt.WGuiCallback::boolean SetEvent (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   888
      (com.ms.awt.WGuiCallback::int CreateSemaphore (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   889
      (com.ms.awt.WGuiCallback::int ReleaseSemaphore (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   890
      (com.ms.awt.WGuiCallback::void userYield (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   891
      (com.ms.awt.WGuiCallback::int MsgWaitForMultipleObjects (int int[] boolean int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   892
      (com.ms.awt.WGuiCallback::int CreateEvent (int boolean boolean int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   893
      (com.ms.activeX.ActiveXToolkit::int GetSysColor (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   894
      (com.ms.awt.peer.NativeGraphics::void setPageDimension (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   895
      (com.ms.awt.peer.NativeGraphics::void setBkColour (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   896
      (com.ms.awt.peer.NativeGraphics::void getClipBounds (com.ms.awt.peer.NativeRect int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   897
      (com.ms.awt.peer.NativeGraphics::void pGetCharOutline (int byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   898
      (com.ms.awt.peer.NativeGraphics::void drawLine (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   899
      (com.ms.awt.peer.NativeGraphics::void setXORMode (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   900
      (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
   901
      (com.ms.awt.peer.NativeGraphics::int getCoClass ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   902
      (com.ms.awt.peer.NativeGraphics::void drawArc (int int int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   903
      (com.ms.awt.peer.NativeGraphics::void getInitialPageDimension (com.ms.awt.peer.NativeRect))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   904
      (com.ms.awt.peer.NativeGraphics::void setVisRgn (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   905
      (com.ms.awt.peer.NativeGraphics::void pSetForeground (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   906
      (com.ms.awt.peer.NativeGraphics::int pGetDC ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   907
      (com.ms.awt.peer.NativeGraphics::void drawPixels (int[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   908
      (com.ms.awt.peer.NativeGraphics::void drawPolygon (int[] int[] int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   909
      (com.ms.awt.peer.NativeGraphics::void createFromImage (com.ms.awt.peer.INativeImage))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   910
      (com.ms.awt.peer.NativeGraphics::void endPage ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   911
      (com.ms.awt.peer.NativeGraphics::int pGetCharOutlineSize (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   912
      (com.ms.awt.peer.NativeGraphics::void pDrawBezier (int int int[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   913
      (com.ms.awt.peer.NativeGraphics::int drawBytes (byte[] int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   914
      (com.ms.awt.peer.NativeGraphics::void changeClip (int int int int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   915
      (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
   916
      (com.ms.awt.peer.NativeGraphics::void drawT2Curve (float float float float float float int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   917
      (com.ms.awt.peer.NativeGraphics::void createFromPrintJob (java.lang.String com.ms.awt.peer.SPJData))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   918
      (com.ms.awt.peer.NativeGraphics::void endPrintJob ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   919
      (com.ms.awt.peer.NativeGraphics::void pSetOrigin (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   920
      (com.ms.awt.peer.NativeGraphics::void createFromHDC (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   921
      (com.ms.awt.peer.NativeGraphics::void drawOval (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   922
      (com.ms.awt.peer.NativeGraphics::int pSetFont (java.lang.String int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   923
      (com.ms.awt.peer.NativeGraphics::void setPaintMode (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   924
      (com.ms.awt.peer.NativeGraphics::void startPage ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   925
      (com.ms.awt.peer.NativeGraphics::void clearClip ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   926
      (com.ms.awt.peer.NativeGraphics::void createFromCopy (com.ms.awt.peer.INativeGraphics))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   927
      (com.ms.awt.peer.NativeGraphics::void scanLines (int int[] int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   928
      (com.ms.awt.peer.NativeGraphics::void drawRoundRect (int int int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   929
      (com.ms.awt.peer.NativeGraphics::void dispose ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   930
      (com.ms.awt.peer.NativeGraphics::void clearRect (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   931
      (com.ms.awt.peer.NativeGraphics::void copyArea (int int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   932
      (com.ms.awt.peer.NativeGraphics::void createFromWindow (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   933
      (com.ms.awt.peer.NativeGraphics::void drawPolyline (int[] int[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   934
      (com.ms.awt.peer.NativeGraphics::void drawRect (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   935
      (com.ms.awt.peer.CToolkit::void callbackEventLoop (com.ms.awt.peer.IToolkitCallback))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   936
      (com.ms.awt.peer.CToolkit::int getToolkitHwnd ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   937
      (com.ms.awt.peer.CToolkit::int createCompHwnd (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   938
      (com.ms.awt.peer.CNativeSystemIME::void setCompositionFont (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   939
      (com.ms.awt.peer.CNativeSystemIME::void setCompositionPos (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   940
      (com.ms.awt.peer.CNativeSystemIME::void setOpenStatus (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   941
      (com.ms.awt.peer.CNativeSystemIME::int getOpenStatus (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   942
      (com.ms.awt.peer.CNativeSystemIME::java.lang.String getCompositionString (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   943
      (com.ms.awt.peer.CNativeSystemIME::java.lang.String getCompositionResultString (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   944
      (com.ms.net.wininet.WininetStreamHandlerFactory::int initNative (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   945
      (com.ms.com.SafeArray::void rawGetVariantAs (int com.ms.com.Variant))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   946
      (com.ms.com.SafeArray::void NSafeArrayInit (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   947
      (com.ms.com.SafeArray::float rawGetDouble (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   948
      (com.ms.com.SafeArray::void NRawBoolCopyToJavaArray (int int boolean[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   949
      (com.ms.com.SafeArray::void validateArray (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   950
      (com.ms.com.SafeArray::void NSafeArrayCreateFromString (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   951
      (com.ms.com.SafeArray::void rawSetString (int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   952
      (com.ms.com.SafeArray::int getInt (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   953
      (com.ms.com.SafeArray::void setInt (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   954
      (com.ms.com.SafeArray::boolean getBoolean (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   955
      (com.ms.com.SafeArray::void setBoolean (int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   956
      (com.ms.com.SafeArray::int computeOffset (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   957
      (com.ms.com.SafeArray::void NSafeArrayNullInit ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   958
      (com.ms.com.SafeArray::void rawSetVariant (int com.ms.com.Variant))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   959
      (com.ms.com.SafeArray::float rawGetFloat (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   960
      (com.ms.com.SafeArray::float getFloat (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   961
      (com.ms.com.SafeArray::void setFloat (int float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   962
      (com.ms.com.SafeArray::int computeOffset2 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   963
      (com.ms.com.SafeArray::void rawSetDouble (int double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   964
      (com.ms.com.SafeArray::java.lang.String asString ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   965
      (com.ms.com.SafeArray::void NRawCopyToJavaArray (int int java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   966
      (com.ms.com.SafeArray::void NSafeArrayCreate (int int int[] int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   967
      (com.ms.com.SafeArray::void NRawBoolCopyFromJavaArray (boolean[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   968
      (com.ms.com.SafeArray::void NSafeArrayDestroy (boolean boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   969
      (com.ms.com.SafeArray::int NSafeArrayCopy ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   970
      (com.ms.com.SafeArray::int rawGetInt (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   971
      (com.ms.com.SafeArray::boolean rawGetBoolean (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   972
      (com.ms.com.SafeArray::void rawSetFloat (int float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   973
      (com.ms.com.SafeArray::java.lang.String rawGetString (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   974
      (com.ms.com.SafeArray::int NTotalNumElems ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   975
      (com.ms.com.SafeArray::double getDouble (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   976
      (com.ms.com.SafeArray::void setDouble (int double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   977
      (com.ms.com.SafeArray::void Nreinit (com.ms.com.SafeArray))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   978
      (com.ms.com.SafeArray::int getPhysicalSafeArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   979
      (com.ms.com.SafeArray::int NgetdwordAt (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   980
      (com.ms.com.SafeArray::void NRawCopyFromJavaArray (java.lang.Object int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   981
      (com.ms.com.SafeArray::void rawSetBoolean (int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   982
      (com.ms.com.SafeArray::void rawSetInt (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   983
      (com.ms.awt.peer.CNativeComponent::void invalidate (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   984
      (com.ms.awt.peer.CNativeComponent::void hideModal ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   985
      (com.ms.awt.peer.CNativeComponent::void hide ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   986
      (com.ms.awt.peer.CNativeComponent::void setOnTop (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   987
      (com.ms.awt.peer.CNativeComponent::void registerDragDrop ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   988
      (com.ms.awt.peer.CNativeComponent::void endValidate ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   989
      (com.ms.awt.peer.CNativeComponent::void enable ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   990
      (com.ms.awt.peer.CNativeComponent::void disable ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   991
      (com.ms.awt.peer.CNativeComponent::void setTitle (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   992
      (com.ms.awt.peer.CNativeComponent::void getBounds (com.ms.awt.peer.NativeRect))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   993
      (com.ms.awt.peer.CNativeComponent::int gethwnd ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   994
      (com.ms.awt.peer.CNativeComponent::void showModal ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   995
      (com.ms.awt.peer.CNativeComponent::void setCursor (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   996
      (com.ms.awt.peer.CNativeComponent::void reshape (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   997
      (com.ms.awt.peer.CNativeComponent::void requestFocus ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   998
      (com.ms.awt.peer.CNativeComponent::void callDefWindowProc (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   999
      (com.ms.awt.peer.CNativeComponent::void registerCustomDropTarget (com.ms.com.IUnknown))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1000
      (com.ms.awt.peer.CNativeComponent::void setNoActivate (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1001
      (com.ms.awt.peer.CNativeComponent::void getPlaceOnScreen (com.ms.awt.peer.NativeRect))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1002
      (com.ms.awt.peer.CNativeComponent::void beginValidate ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1003
      (com.ms.awt.peer.CNativeComponent::void clippedReshape (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1004
      (com.ms.awt.peer.CNativeComponent::void setResizable (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1005
      (com.ms.awt.peer.CNativeComponent::void setIcon (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1006
      (com.ms.awt.peer.CNativeComponent::void toBack ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1007
      (com.ms.awt.peer.CNativeComponent::void setFrameHost (com.ms.awt.peer.IBrowserAppletFrameCallback))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1008
      (com.ms.awt.peer.CNativeComponent::void toFront ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1009
      (com.ms.awt.peer.CNativeComponent::void show ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1010
      (com.ms.awt.peer.CNativeComponent::void updateInsets (com.ms.awt.peer.NativeInsets))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1011
      (com.ms.awt.peer.CNativeComponent::void dispose ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1012
      (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
  1013
      (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
  1014
      (com.ms.awt.peer.CNativeComponent::void beginDrag (com.ms.awt.peer.INativeDragCallback))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1015
      (com.ms.fx.RegionConverter::int computeNativeRegion (int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1016
      (com.ms.fx.RegionConverter::int[] computeJavaRegion (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1017
      (com.ms.net.wininet.URLUtils::java.lang.String canonicalizeURL (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1018
      (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
  1019
      (com.ms.awt.peer.NativeFontMetrics::int bytesWidth (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1020
      (com.ms.awt.peer.NativeFontMetrics::int stringWidth (java.lang.String int int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1021
      (com.ms.awt.peer.NativeFontMetrics::int charsWidth (char[] int int int int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1022
      (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
  1023
      (com.ms.io.console.Console::int MessageBox (int java.lang.String java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1024
      (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
  1025
      (com.ms.security.management.SecurityZone::byte[] pLoadCustomPermissions (int int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1026
      (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
  1027
      (com.ms.awt.peer.NativeImage::void create (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1028
      (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
  1029
      (com.ms.awt.peer.NativeImage::int getCoClass ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1030
      (com.ms.awt.peer.NativeImage::int getIcon (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1031
      (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
  1032
      (com.ms.awt.peer.NativeImage::void sendPixels (com.ms.awt.peer.SPData))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1033
      (com.ms.awt.peer.NativeImage::void fillPixels (com.ms.awt.peer.SPData byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1034
      (com.ms.awt.peer.NativeImage::void dispose ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1035
      (com.ms.awt.peer.NativeImage::void init (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1036
      (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
  1037
      (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
  1038
      (com.ms.awt.peer.NativeImage::int finish (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1039
      (com.ms.awt.peer.NativeImage::void imageDraw (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1040
      (com.ms.awt.peer.NativeResource::java.lang.String loadString (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1041
      (com.ms.awt.peer.NativeResource::int openDialogFromID (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1042
      (com.ms.awt.peer.NativeResource::boolean attach (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1043
      (com.ms.awt.peer.NativeResource::void loadBytes (int int java.lang.String byte[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1044
      (com.ms.awt.peer.NativeResource::int getSize (int int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1045
      (com.ms.awt.peer.NativeResource::void detach ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1046
      (com.ms.awt.peer.NativeResource::int openDialogFromName (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1047
      (com.ms.net.wininet.WininetURLConnection::com.ms.applet.BrowserAppletFrame findOfflineContext ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1048
      (com.ms.com.DispatchProxy::void finalize ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1049
      (com.ms.com.DispatchProxy::void init (com.ms.com._Guid java.lang.reflect.Method[] int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1050
      (com.ms.net.wininet.WininetInputStream::void close ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1051
      (com.ms.net.wininet.WininetInputStream::int read (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1052
      (com.ms.net.wininet.WininetInputStream::int available ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1053
      (com.ms.net.wininet.WininetInputStream::long skip (long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1054
      (com.ms.net.wininet.WininetInputStream::void connect (java.lang.String boolean boolean java.lang.SecurityManager))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1055
      (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
  1056
      (com.ms.net.wininet.http.HttpInputStream::byte[] getResponseHeaders ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1057
      (com.ms.net.wininet.http.HttpInputStream::void close0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1058
      (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
  1059
      (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
  1060
      (com.ms.vm.loader.CabCracker::void getBytes0 (int int byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1061
      (com.ms.vm.loader.CabCracker::void cleanup ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1062
      (com.ms.vm.loader.CabCracker::int GetTempPath (int java.lang.StringBuffer))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1063
      (com.ms.vm.loader.CabCracker::void load0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1064
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1065
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1066
"
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1067
!
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
performance1
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1070
    "
2353
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 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
  1072
     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
  1073
     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
  1074
     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
  1075
     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
  1076
     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
  1077
     JAVA::BenchMark new neweststringmark
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1078
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1079
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1080
    "
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1081
"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1082
                    caffmark  loopmark  logicmark  sievemark  methodmark  stringmark  float  image  graphic dialog newstringmark  neweststringmark
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1083
 linux:
512
033a5cd5237a checkin from browser
cg
parents: 510
diff changeset
  1084
   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
  1085
                      103       133        142       137          28          73       109    167     18    140
520
64e7e53cdfac checkin from browser
cg
parents: 519
diff changeset
  1086
512
033a5cd5237a checkin from browser
cg
parents: 510
diff changeset
  1087
   P6/233 JIT                   479       2459       393         649          28                                       21              12
033a5cd5237a checkin from browser
cg
parents: 510
diff changeset
  1088
   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
  1089
                      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
  1090
                      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
  1091
                      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
  1092
                      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
  1093
                      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
  1094
                                                                             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
  1095
                     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
  1096
                     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
  1097
                     1177      4608       4309      1810        2432         895       532    182     20     35
540
aed82cbbd8de checkin from browser
cg
parents: 539
diff changeset
  1098
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1099
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1100
 w95
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1101
   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
  1102
                      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
  1103
                      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
  1104
                      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
  1105
                      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
  1106
                      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
  1107
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1108
                    caffmark  loopmark  logicmark  sievemark  methodmark  stringmark  float  image  graphic dialog newstringmark  neweststringmark
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1109
"
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1110
!
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1111
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1112
performance2
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1113
    "
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1114
     symantec benchmarks
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1115
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1116
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1117
    "
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1118
"
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1119
		BubbleSort    BidirBubbleSort  QuickSort  Sieve   Hanoi   Dhry   Fib   Array   Tree   Total
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1120
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1121
   ST/X+J Linux
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1122
   233Mhz P6
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1123
   No JIT          352767         354597         69585    43048  101638  28961 108839  48815
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1124
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1125
   ST/X+J Linux
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1126
   233Mhz P6
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1127
   JIT             128724         116810         20259    39733   83160  27613  52093  33166  43996  545554
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1128
		   124744         101428         17239    10052    8264  14004  38821  23252  33709  374660
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1129
   +IINC           120324                                  7265
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1130
   +IADD op2       100173          90737         18128     6996    7423  17093  48559  44209  57056  390374
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1131
   +ISUB op2                       90460         17547             5921                       57056  390461
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1132
   +ICMPEQ/NE       99785          90147                           5792                43482  56486  388255
460
6a2e97955261 checkin from browser
cg
parents: 459
diff changeset
  1133
   +ICMP            87398          78214         15784     7574    5628  12812  38481  24654  32252  302797
461
a9813035ef09 *** empty log message ***
cg
parents: 460
diff changeset
  1134
   +IFICMPLE        84198          74928         13814     5650          11674         23241         293118
a9813035ef09 *** empty log message ***
cg
parents: 460
diff changeset
  1135
   +IFICMPxx        76867          69738         12208                          37505  21973  32104  273569
a9813035ef09 *** empty log message ***
cg
parents: 460
diff changeset
  1136
   +IFICMPEQ/NE                                                    5580  11202         21723
a9813035ef09 *** empty log message ***
cg
parents: 460
diff changeset
  1137
   const IFICMPxx                                11856             5463  11032  37372                272726
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  1138
   +lea for add/sub
463
8c3de864c642 *** empty log message ***
cg
parents: 462
diff changeset
  1139
   +BALOAD                                       11700     4600    5015   9431
8c3de864c642 *** empty log message ***
cg
parents: 462
diff changeset
  1140
   +BASTORE                                                3279
8c3de864c642 *** empty log message ***
cg
parents: 462
diff changeset
  1141
   +CALOAD/CASTORE                                                        8907
466
38245acebed4 checkin from browser
cg
parents: 465
diff changeset
  1142
   regSave change   66119          60365          9997             4917  15386  37851  38202  50027  286497
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1143
		    64858          58360          9476             4889  15001  37211  36288  48313  278478
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1144
		    63146          55949          9302                   14899
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1145
		    62970          56085          9352     3226    4837   8779  37573  22815  33899  241297
471
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1146
   -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
  1147
471
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1148
   +IALOAD          39162          36347
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1149
   +IASTORE         32461          30663          4299             3667                19556  30563  166868
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1150
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1151
   -IALOAD/IASTORE
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1152
										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
  1153
										       19232  29726
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1154
										       18821
496
7771c4f4492c checkin from browser
cg
parents: 495
diff changeset
  1155
   +AALOAD/BALOAD
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1156
		    41490          39527          6776     3315    4077   8443  33895  19152  28018  184693
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1157
		    41291          37034          6593                          32682
497
0066a4a59d5b checkin from browser
cg
parents: 496
diff changeset
  1158
   +ATHROW                                                                6449                       180079
498
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1159
   +IASTORE         38848          35601          6219             3796   6122         17869  30085  175106
503
f43fe1be86bf checkin from browser
cg
parents: 502
diff changeset
  1160
   IINC delayed code
f43fe1be86bf checkin from browser
cg
parents: 502
diff changeset
  1161
   +ANEWARRAY                                              3263
f43fe1be86bf checkin from browser
cg
parents: 502
diff changeset
  1162
   +LADD/LSUB const 38719          35256                                  6062  27071                172859
512
033a5cd5237a checkin from browser
cg
parents: 510
diff changeset
  1163
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1164
							   2837                 22835
514
a1f3d99a4194 checkin from browser
cg
parents: 513
diff changeset
  1165
   +ISTORE into arg
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1166
									  3080
514
a1f3d99a4194 checkin from browser
cg
parents: 513
diff changeset
  1167
   quick L2I for ints                                                     2774  21184
a1f3d99a4194 checkin from browser
cg
parents: 513
diff changeset
  1168
   +*ASTORE / *ALOAD
a1f3d99a4194 checkin from browser
cg
parents: 513
diff changeset
  1169
    again                                                  1621    3654   1525
533
535e4dd386ef checkin from browser
cg
parents: 532
diff changeset
  1170
   +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
  1171
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1172
------------------------------------------------------------------------------------------------------------
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1173
		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
  1174
   ST/X+J Win95
498
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1175
   200Mhz P5
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1176
   JIT              78490          77060         15220     4840    6370   9180  73160  36080         351700
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1177
				   76900         13560             5500   9010         35200         348600
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1178
										66080         69920  370750
507
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1179
   +IADD non consts 76620          73210         13180     3790                 63550         58880  356900
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1180
											      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
  1181
		    77390          72450         12520     3900    6040   8950  62450  34330  57780  335810
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1182
		    77220          71950                           5270   8840                       338650
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1183
		    72390          70690                                                      48010  327370
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1184
		    74910          66740         11420                    8620  61730  33340  47350  313940
507
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1185
   +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
  1186
		    71740                                  2800
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1187
		    71460          65250         11540     2750                 62180  33840  50750  311660
507
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1188
   +LCMP                                                                        59100
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1189
   better abs(I)
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1190
   +xALOAD/IF_ICMPx 66130          61520         12080     3300    5280   8190  56510  33830  50310  297150
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1191
   elim dummy static                                               5210                       48270
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1192
   methods                                                                                    44160
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1193
		   119020         112440         19330     3070    4560   2640  56960  37730  52790  408540
498
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1194
------------------------------------------------------------------------------------------------------------
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1195
		BubbleSort    BidirBubbleSort  QuickSort  Sieve   Hanoi   Dhry   Fib   Array   Tree   Total
498
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1196
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1197
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1198
   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
  1199
   (90Mhz P5)
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1200
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1201
   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
  1202
   (90Mhz P5)
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1203
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1204
   Symantec Cafe    14541          12198          3686     1922    4527   3325   3425  12969  26829   83422
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1205
   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
  1206
   (90Mhz P5)
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1207
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1208
   Symantec Cafe     8292           6970          2714     1613    3345   3235   2013   4516  13180   45878
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1209
   JIT 1.2
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1210
   (90Mhz P5)
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1211
"
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1212
471
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1213
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1214
   |b|
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1215
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1216
   b := JAVA::BubbleSortAlgorithm new.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1217
   b perform:#'setData(JJ)V' with:10000 with:0 with:0 with:0.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1218
   Time millisecondsToRun:[
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1219
       b performTest.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1220
   ]
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1221
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1222
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1223
   |b|
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1224
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1225
   b := JAVA::QSortAlgorithm new.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1226
   b perform:#'setData(JJ)V' with:500000 with:0 with:0 with:0.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1227
   Time millisecondsToRun:[
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1228
       b performTest.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1229
   ]
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1230
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1231
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1232
   |t|
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1233
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1234
   t := JAVA::Tree new.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1235
   t perform:#'setData(JJ)V' with:1000000 with:0 with:0 with:0.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1236
   Time millisecondsToRun:[
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1237
       t performTest.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1238
   ]
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1239
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1240
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1241
   |t|
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1242
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1243
   t := JAVA::Array new.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1244
   t perform:#'setData(JJ)V' with:1000000 with:0 with:0 with:0.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1245
   Time millisecondsToRun:[
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1246
       t performTest.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1247
   ]
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1248
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1249
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1250
! !
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1251
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1252
!JavaVM class methodsFor:'initialization'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1253
2353
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
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
  1255
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
    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
  1257
    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
  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
    "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
  1260
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1261
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1262
compile:source selector:smalltalkSelector asJavaMethod:javaSelector fakedSource:fakedSource in:aClass
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1263
    "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
  1264
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1265
    |cloneCode|
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1266
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1267
    (aClass implements:javaSelector) ifFalse:[
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1268
        Class packageQuerySignal answer:'__temporary__'
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1269
        do:[
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1270
            aClass
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1271
                compile:source
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1272
                classified:'java support'
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1273
                logged:false.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1274
        ].
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1275
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1276
        cloneCode := aClass compiledMethodAt:smalltalkSelector.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1277
        cloneCode source:fakedSource.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1278
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1279
        Class withoutUpdatingChangesDo:[
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1280
            aClass removeSelector:smalltalkSelector.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1281
            aClass addSelector:javaSelector withMethod:cloneCode.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1282
        ]
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1283
    ].
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1284
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1285
    "Created: / 5.11.1998 / 19:30:22 / cg"
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1286
    "Modified: / 5.11.1998 / 19:37:57 / cg"
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1287
!
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1288
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1289
deinitialize
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1290
    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
  1291
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1292
    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
  1293
        KnownWindows do: [:v | v isTopView ifTrue: [ v destroy ] ]
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1294
    ].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1295
    JavaWindowGroup := nil.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1296
    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
  1297
    OpenFileTable := nil.
380
4bc7f45e2994 some more native support for NS4.0 java classes.
cg
parents: 374
diff changeset
  1298
    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
  1299
    SystemClassLoader := nil.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1300
    SystemProperties := nil.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1301
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1302
    "
2580
0e56b45d70ee class: JavaVM
Stefan Vogel <sv@exept.de>
parents: 2396
diff changeset
  1303
     JavaVM deinitialize
0e56b45d70ee class: JavaVM
Stefan Vogel <sv@exept.de>
parents: 2396
diff changeset
  1304
    "
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1305
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1306
    "Created: / 03-01-1998 / 21:28:14 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1307
    "Modified: / 03-12-1998 / 20:33:21 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1308
    "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
  1309
    "Modified: / 16-11-2011 / 09:46:49 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1310
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1311
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1312
deinitializeAdditionalJavaProtocol
2149
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1313
    "deinstall additional java protocol in smalltalk classes, req'd for java programs"
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1314
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  1315
    #(
2149
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1316
        #'clone()Ljava/lang/Object;'
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1317
        #'equals(Ljava/lang/Object;)Z'
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1318
        #'toString()Ljava/lang/String;'
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1319
        #'getClass()Ljava/lang/Class;'
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  1320
     ) do:[:sel |
2149
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1321
        (Object implements:sel) ifTrue:[
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1322
            Class withoutUpdatingChangesDo:[
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1323
                Object removeSelector:sel.
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1324
            ]
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1325
        ].
307
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
    "
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1329
     self deinitializeAdditionalJavaProtocol
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1330
    "
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1331
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1332
    "Created: / 4.2.1998 / 21:37:10 / cg"
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1333
    "Modified: / 5.12.1998 / 15:27:39 / cg"
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1334
!
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1335
2353
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
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
  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
    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
  1339
        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
  1340
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1341
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1342
    "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
  1343
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1344
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1345
initialize
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1346
    DUMMY_LONG_HIGHWORD := 1.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1347
    DUMMY_DOUBLE_HIGHWORD := 2.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1348
    StandardThreadGroup := nil.
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1349
    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
  1350
262
8edf97e626c8 offscreen images & better exception handling
cg
parents: 261
diff changeset
  1351
    "/ 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
  1352
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1353
    JavaConsoleStream := "Transcript"Stdout.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1354
    FullExceptionTrace := StackTrace := false.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1355
    WindowOPTrace := DrawOPTrace := EventTrace := ThreadTrace := false.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1356
    MonitorTrace := ExceptionTrace := FileOpenTrace := FileIOTrace := false.
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1357
    ExceptionDebug := ExitDebug := false.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1358
    ExceptionDebugPatterns := Set new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1359
    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
  1360
    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
  1361
    SocketConnectConfirmation := false.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1362
    WindowOPTrace := false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1363
    MonitorTrace := false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1364
    ThreadTrace := false.
3656
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1365
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1366
    self initializeSignals.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1367
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1368
    AssertionsEnabled := true.
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1369
    self initializeClassRegistry.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1370
    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
  1371
    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
  1372
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1373
    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
  1374
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1375
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1376
     JavaVM initialize"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1377
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1378
    "Created: / 02-01-1998 / 18:02:34 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1379
    "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
  1380
    "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
  1381
    "Modified: / 08-12-2011 / 21:06:35 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1382
    "Modified: / 03-09-2013 / 00:50:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1383
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1384
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1385
initializeAdditionalJavaProtocol
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1386
    "install additional java protocol in smalltalk classes, req'd for java programs"
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1387
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1388
    "/ since we use smalltalk Arrays for JavaArray, some
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1389
    "/ additional (java-) protocol is required.
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1390
    "/ This is also useful, when Smalltalk objects are passed to
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1391
    "/ java ...
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1392
    "/ We should implement all of the java.lang.Object protocol in
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1393
    "/ 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
  1394
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1395
    self
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1396
        compile:'__clone
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1397
    "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
  1398
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1399
      since it has a funny selector.)
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1400
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1401
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1402
    ^ 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
  1403
        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
  1404
        asJavaMethod:#'clone()Ljava/lang/Object;'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1405
        fakedSource:'#''clone()Ljava/lang/Object;''
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1406
    "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
  1407
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1408
      since it has a funny selector.)
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1409
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1410
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1411
    ^ self shallowCopy'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1412
        in:Object.
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1413
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1414
    "/ ------------------------------------------------------------
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1415
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1416
    self
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1417
        compile:'__equals:arg
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1418
    "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
  1419
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1420
      since it has a funny selector.)
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1421
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1422
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1423
    ^ (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
  1424
        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
  1425
        asJavaMethod:#'equals(Ljava/lang/Object;)Z'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1426
        fakedSource:'#''equals(Ljava/lang/Object;)Z''
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1427
    "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
  1428
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1429
      since it has a funny selector.)
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1430
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1431
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1432
    ^ (arg = self) ifTrue:[1] ifFalse:[0]'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1433
        in:Object.
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1434
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1435
    "/ ------------------------------------------------------------
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1436
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1437
    self
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1438
        compile:'__toString
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1439
    "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
  1440
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1441
      since it has a funny selector.)
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1442
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1443
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1444
    ^ 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
  1445
        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
  1446
        asJavaMethod:#'toString()Ljava/lang/String;'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1447
        fakedSource:'#''toString()Ljava/lang/String;''
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1448
    "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
  1449
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1450
      since it has a funny selector.)
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1451
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1452
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1453
    ^ Java as_String:(self displayString)'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1454
        in:Object.
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1455
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1456
    "/ ------------------------------------------------------------
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1457
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1458
    self
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1459
        compile:'__getClass
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1460
    "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
  1461
     (This source cannot be accepted in the browser,
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1462
      since it has a funny selector.)
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1463
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1464
508
21d8af9a9b41 checkin from browser
cg
parents: 507
diff changeset
  1465
    ^ 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
  1466
        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
  1467
        asJavaMethod:#'getClass()Ljava/lang/Class;'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1468
        fakedSource:'#''getClass()Ljava/lang/Class;''
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1469
    "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
  1470
     (This source cannot be accepted in the browser,
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1471
      since it has a funny selector.)
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1472
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1473
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1474
    ^ JavaVM javaClassObjectForClass:self class'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1475
        in:Object.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1476
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1477
    "/ ------------------------------------------------------------
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1478
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1479
    self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1480
        compile:'__hashCode
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1481
    "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
  1482
     (This source cannot be accepted in the browser,
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1483
      since it has a funny selector.)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1484
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1485
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1486
    ^ 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
  1487
        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
  1488
        asJavaMethod:#'hashCode()I'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1489
        fakedSource:'#''hashCode()I''
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1490
    "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
  1491
     (This source cannot be accepted in the browser,
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1492
      since it has a funny selector.)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1493
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1494
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1495
    ^ self identityHash'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1496
        in:Object.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1497
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1498
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1499
    "
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1500
     self initializeAdditionalJavaProtocol
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1501
    "
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1502
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1503
    "Modified: / 28-01-1997 / 19:38:58 / stefan"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1504
    "Modified: / 22-01-1998 / 21:23:40 / av"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1505
    "Created: / 04-02-1998 / 21:35:46 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1506
    "Modified: / 30-12-1998 / 21:07:55 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1507
    "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
  1508
!
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1509
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1510
initializeBaseClasses
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1511
    "load req'd base classes"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1512
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  1513
    _java_lang_Object_CLASS := _java_lang_System_CLASS := _java_lang_Class_CLASS := nil.
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
  1514
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1515
    #( '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
  1516
        (self classForName: cName definedBy: nil) isNil ifTrue: [
646
9f99cd5951a9 checkin from browser
cg
parents: 640
diff changeset
  1517
            AbortSignal raise.
9f99cd5951a9 checkin from browser
cg
parents: 640
diff changeset
  1518
            ^ self
9f99cd5951a9 checkin from browser
cg
parents: 640
diff changeset
  1519
        ]
326
d1a591aac993 checkin from browser
cg
parents: 325
diff changeset
  1520
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1521
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1522
     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
  1523
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1524
    "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
  1525
    "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
  1526
    "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
  1527
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1528
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1529
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
  1530
    "/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
  1531
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1532
    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
  1533
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1534
    "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
  1535
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1536
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1537
initializeClassRegistry
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1538
    ClassRegistry isNil ifTrue:[
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1539
        ClassRegistry := JavaClassRegistry new.
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1540
    ] ifFalse:[
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1541
        ClassRegistry flush.
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1542
    ]
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1543
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1544
    "Created: / 03-09-2013 / 00:50:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1545
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1546
2353
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
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
  1548
    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
  1549
    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
  1550
    self initializeOpenFileTable.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1551
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1552
    "
2353
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
     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
  1554
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1555
    "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
  1556
    "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
  1557
    "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
  1558
    "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
  1559
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1560
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
initializeMonitorTable
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1562
    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
  1563
    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
  1564
    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
  1565
    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
  1566
        log: 'Initializing EnteredMonitorsPerProcess'
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  1567
        severity: Logger severityDEBUG
2353
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
        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
  1569
    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
  1570
    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
  1571
        log: 'Initializing AcquiredMonitorsPerProcess'
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  1572
        severity: Logger severityDEBUG
2353
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
        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
  1574
    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
  1575
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1576
    "
2353
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
     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
  1578
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
    "Created: / 17-08-2012 / 11:30:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  1580
    "Modified: / 02-03-2015 / 13:59:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1581
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1582
2372
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1583
initializeNatives
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1584
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1585
    NativeMethodsImplementation := Java release javaNativeMethodsImplementation.
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1586
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1587
    "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
  1588
!
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1589
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1590
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
  1591
    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
  1592
                        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
  1593
                        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
  1594
                        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
  1595
    OpenFileTableLock := RecursionLock new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1596
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1597
    "
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1598
     JavaVM initializeOpenFileTable
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1599
    "
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1600
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1601
    "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
  1602
    "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
  1603
    "Modified: / 30-07-2012 / 18:12:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1604
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1605
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1606
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
  1607
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1608
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1609
    "/    #(
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1610
    "/        (#byte    'B' 1)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1611
    "/        (#short   'S' 2)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1612
    "/        (#int     'I' 4)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1613
    "/        (#long    'J' 8)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1614
    "/        (#boolean 'Z' 1)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1615
    "/        (#char    'C' 2)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1616
    "/        (#float   'F' 4)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1617
    "/        (#double  'D' 8)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1618
    "/        (#void    'V' 0)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1619
    "/    ) triplesDo:[:nm :sig :len |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1620
    "/        |jClass classInst|
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1621
    "/
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1622
    "/        "/
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1623
    "/        "/ create a javaClass for it.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1624
    "/        "/
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1625
    "/        jClass := Java at:'java.lang.Class'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1626
    "/        jClass notNil ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1627
    "/            classInst := jClass new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1628
    "/            JavaClasses at:nm put:classInst.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1629
    "/            JavaClasses at:classInst put:nm.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1630
    "/        ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1631
    "/    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1632
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1633
     self initializePrimitiveClasses"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1634
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1635
    "Modified: / 22-10-1998 / 01:56:02 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1636
    "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
  1637
    "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
  1638
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1639
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1640
initializeReflection
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1641
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1642
    Reflection := ReflectionRegistry for: self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1643
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1644
    "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
  1645
    "Modified: / 16-01-2013 / 20:55:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1646
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1647
3656
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1648
initializeSignals    
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1649
    "/ ClassLoaderQuerySignal := Query new.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1650
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1651
    UnhandledJavaExceptionSignal := (Signal new) mayProceed: true.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1652
    UnhandledJavaExceptionSignal nameClass: self message: #unhandledJavaExceptionSignal.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1653
    UnhandledJavaExceptionSignal notifierString: 'unhandled java exception'.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1654
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1655
    JavaExceptionSignal := (Signal new) mayProceed: false.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1656
    JavaExceptionSignal nameClass: self message: #javaExceptionSignal.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1657
    JavaExceptionSignal notifierString: 'java exception'.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1658
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1659
    UnimplementedInstructionSignal := (Signal new) mayProceed: false.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1660
    UnimplementedInstructionSignal nameClass: self message: #unimplementedInstructionSignal.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1661
    UnimplementedInstructionSignal notifierString: 'unimplemented instruction'.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1662
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1663
    UnimplementedNativeMethodSignal := (Signal new) mayProceed: false.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1664
    UnimplementedNativeMethodSignal nameClass: self message: #unimplementedNativeMethodSignal.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1665
    UnimplementedNativeMethodSignal notifierString: 'unimplemented native method'.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1666
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1667
    BadMessageSignal := (Signal new) mayProceed: false.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1668
    BadMessageSignal nameClass: self message: #badMessageSignal.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1669
    BadMessageSignal notifierString: 'invalid message to JAVA object'.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1670
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1671
    InternalErrorSignal := (Signal new) mayProceed: false.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1672
    InternalErrorSignal nameClass: self message: #internalErrorSignal.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1673
    InternalErrorSignal notifierString: 'internal error'.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1674
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1675
    CallHandlerSignal := (Signal new) mayProceed: false.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1676
    CallHandlerSignal nameClass: self message: #callHandlerSignal.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1677
    CallHandlerSignal notifierString: 'internal signal'.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1678
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1679
    StdinReplacementFileQuerySignal := QuerySignal new.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1680
    StdinReplacementFileQuerySignal nameClass: self message: #stdinReplacementFileQuerySignal.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1681
    StdinReplacementFileQuerySignal notifierString: 'asking for stdin stream'.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1682
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1683
    JavaPrivilegedAccessQuery := QuerySignal new.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1684
    JavaPrivilegedAccessQuery defaultAnswer: false.
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1685
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1686
    "
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1687
     JavaVM initializeSignals
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1688
    "
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1689
!
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  1690
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1691
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
  1692
    "return a collection of native libs which are considered
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1693
     being already loaded. (used with jdk < 1.2)"
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1694
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1695
    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
  1696
                        '__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
  1697
                        '/usr/local/lib'
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1698
                        '/usr/local/lib/java'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1699
                ).
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1700
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1701
    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
  1702
                        '__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
  1703
                        '__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
  1704
                        '__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
  1705
                        '__builtIn__/winawt'
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1706
                        '__builtIn__/jpeg'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1707
                        '__builtIn__/mmedia'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1708
                        '__builtIn__/zip'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1709
                        '__builtIn__/math'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1710
                        '__builtIn__/sysresource'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1711
2353
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
                        "/ KAVA ...
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1713
                        '__builtIn__/agent'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1714
2353
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
                        "/ MS-java ...
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1716
                        '__builtIn__/msawt'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1717
                        '__builtIn__/javart'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1718
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1719
                        "/ 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
  1720
                        '__builtIn__/jpeg_sun'
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1721
                      ).
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1722
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1723
    "
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1724
     self initializeSimulatedLibs
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1725
    "
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1726
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1727
    "Created: / 4.1.1998 / 19:05:03 / cg"
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1728
    "Modified: / 17.11.1998 / 23:53:02 / cg"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1729
!
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1730
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1731
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
  1732
    "return a collection of native libs which are considered
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1733
     being already loaded (used with jdk >= 1.2)"
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1734
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1735
    OperatingSystem isOSXlike ifTrue: [
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1736
        SimulatedNativeLibs := #( 'libawt.jnilib' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1737
                                  'libnet.jnilib' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1738
                                  'libcmm.jnilib' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1739
                                  'libzip.jnilib' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1740
                                  'libnio.jnilib'
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1741
                                  'libmanagement.jnilib'    "/ Management Beans - req'd by Tomcat
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1742
                                  'libjpeg.jnilib'          "/ Some UI stuff - req'd by Tomcat !!?!!    
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1743
                                  "/ 'liblcms.so' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1744
                                  'libfontmanager.so'       "/ req'd by java.text.Bidi
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1745
                                  "/ 'libj2pkcs11.so'          "/ req'd by Smack and some crypto stuff
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1746
                                    ).
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1747
        ^ self.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1748
    ].
2353
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
    OperatingSystem isUNIXlike ifTrue: [
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1750
        SimulatedNativeLibs := #( 'libawt.so' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1751
                                  'libnet.so' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1752
                                  'libcmm.so' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1753
                                  'libzip.so' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1754
                                  'libnio.so'
2353
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
                                  '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
  1756
                                  '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
  1757
                                  'libfontmanager.so'       "/ req'd by java.text.Bidi
2744
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2737
diff changeset
  1758
                                  'libj2pkcs11.so'          "/ req'd by Smack and some crypto stuff
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1759
                                    ).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1760
        ^ 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
  1761
    ].
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
    OperatingSystem isMSWINDOWSlike ifTrue: [
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1763
        SimulatedNativeLibs := #( 'awt.dll' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1764
                                  'net.dll' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1765
                                  'cmm.dll' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1766
                                  'zip.dll' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1767
                                  'nio.so'
2744
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2737
diff changeset
  1768
                                  'management.dll'        "/ Management Beans - req'd by Tomcat
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2737
diff changeset
  1769
                                  'fontmanager.dll'       "/ req'd by java.text.Bidi
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2737
diff changeset
  1770
                                  'j2pkcs11.dll'          "/ req'd by Smack and some crypto stuff
2921
85ccd41f883c Fixes and (void) natives for shared-memory JDI transport.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2914
diff changeset
  1771
                                  'dt_shmem.dll'          "/ req'd by JDI on Windows / Oracle JDK 7
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1772
                                ).
2353
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
        ^ self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1774
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1775
    SimulatedNativeLibs := #().
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1776
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1777
    "
2353
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
     self initializeSimulatedNativeLibs"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1779
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1780
    "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
  1781
    "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
  1782
    "Modified: / 21-12-2011 / 23:03:35 / jv"
2921
85ccd41f883c Fixes and (void) natives for shared-memory JDI transport.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2914
diff changeset
  1783
    "Modified: / 14-11-2013 / 14:26:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1784
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1785
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1786
initializeSimulatedNativeMemory
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1787
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1788
    SimulatedNativeMemory := JavaNativeMemory new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1789
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1790
    "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
  1791
    "Modified: / 07-12-2010 / 23:45:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1792
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1793
2353
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
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
  1795
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_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
  1797
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
    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
  1799
    (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
  1800
        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
  1801
    ].
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
2960
d133d35e293b Class loading refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2958
diff changeset
  1803
    stx_libjava_ClassLoader := JavaVM classForName: 'stx.libjava.ClassLoader' definedBy: SystemClassLoader.
2353
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
    (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
  1805
        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
  1806
    ].
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
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
    "Created: / 30-10-2011 / 12:04:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2960
d133d35e293b Class loading refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2958
diff changeset
  1809
    "Modified: / 10-12-2013 / 17:56:58 / 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
  1810
!
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
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
initializeSystemPropertiesInto: props
2945
98971af93e31 Fix in JavaVM>>#initializeSystemPropertiesInto: be careful when initializing stx.libjava.tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2928
diff changeset
  1813
    | cpu  cpu2  os dir |
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1814
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1815
    "/ use JAVA compatible cpu-name
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1816
    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
  1817
    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
  1818
    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
  1819
    (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
  1820
        cpu2 := 'amd64'
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1821
    ].
2353
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
    SimulatedOS notNil ifTrue: [ os := SimulatedOS ] ifFalse: [
661
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
  1823
        os := OperatingSystem getOSType.
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
  1824
        os := os asUppercaseFirst.
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1825
    ].
2353
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
    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
  1827
                'java.runtime.name'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1828
                    'OpenJDK Runtime Environment'.
2353
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
                'sun.boot.library.path'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1830
                    OperatingSystem isMSWINDOWSlike ifTrue: [
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1831
                        (Java release javaBinDirOnWindows) asString
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1832
                    ] ifFalse: [
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1833
                        OperatingSystem isOSXlike ifTrue:[
3795
b696900fb824 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
  1834
                            (Java release javaNativeLibDirOnUnix) asString
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1835
                        ] ifFalse:[
3795
b696900fb824 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
  1836
                            (Java release javaLibDirOnUnix / cpu2) asString
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1837
                        ].
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1838
                    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1839
                'java.vm.version'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1840
                    Smalltalk versionString.
2353
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.vendor'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1842
                    'eXept Software AG & SWING Research Group'.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1843
                'java.vendor.url'.
3795
b696900fb824 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
  1844
                    'https://www.exept.de & https://swing.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
  1845
                'path.separator'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1846
                    OperatingSystem pathSeparator asString.
2353
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
                'java.vm.name'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1848
                    'Smalltalk/X'.
2353
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
                'file.encoding.pkg'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1850
                    'sun.io'.
2353
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.java.launcher'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1852
                    'SUN_STANDARD'.
2353
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
                'user.country'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1854
                    'US'.
2353
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
                'sun.os.patch.level'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1856
                    'unknown'.
2353
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
                'java.vm.specification.name'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1858
                    'Java Virtual Machine Specification'.
2353
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
                'user.dir'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1860
                    Filename currentDirectory pathName.
2353
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
                'java.awt.graphicsenv'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1862
                    'sun.awt.X11GraphicsEnvironment'.
2353
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
                'java.endorsed.dirs'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1864
                    (Java release javaLibDir / 'endorsed') asString.
2353
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
                'os.arch'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1866
                    cpu.
2353
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
                'java.io.tmpdir'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1868
                    Filename tempDirectory pathName.
2353
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
                'line.separator'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1870
                    Character cr asString.
2353
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
                'java.vm.specification.vendor'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1872
                    'Sun Microsystems Inc.'.
2353
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
                'os.name'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1874
                    os.
2353
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
                'sun.jnu.encoding'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1876
                    'UTF-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
  1877
                'java.library.path'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1878
                    self defaultJavaLibraryPath.
2353
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
                'java.specification.name'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1880
                    'Java Platform API Specification'.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1881
                'java.class.version'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1882
                    '50.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
  1883
                'sun.management.compiler'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1884
                    'Smalltalk/X jinterpreter'.
2353
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
                'os.version'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1886
                    OperatingSystem isMSWINDOWSlike ifTrue: [
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1887
                        OperatingSystem getSystemInfo at: #release
3795
b696900fb824 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
  1888
                    ] ifFalse: [
b696900fb824 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
  1889
                        OperatingSystem getSystemInfo at: #version
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1890
                    ].
2353
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
                'user.home'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1892
                    Filename homeDirectory pathName.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1893
                'user.timezone'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1894
                    ''.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1895
                'java.awt.printerjob'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1896
                    'sun.print.PSPrinterJob'.
2353
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
                'file.encoding'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1898
                    'UTF-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
  1899
                'java.specification.version'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1900
                    '1.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
  1901
                'java.class.path'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1902
                    self defaultCLASSPATH.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1903
                'user.name'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1904
                    OperatingSystem getLoginName.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1905
                'java.vm.specification.version'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1906
                    '1.0'.
3795
b696900fb824 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
  1907
                 "'sun.java.command'            .
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1908
                    'SystemProperties' ."
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1909
                'java.home'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1910
                    Java release jreHome pathName.
2353
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
                'sun.arch.data.model'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1912
                    '32'.
2353
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
                'user.language'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1914
                    Smalltalk language.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1915
                'java.specification.vendor'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1916
                    'Sun Microsystems Inc.'.
2353
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
                'java.vm.info'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1918
                    'Smalltalk/X 6.2.1'.
2353
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
                'java.version'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1920
                    '1.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
  1921
                'java.ext.dirs'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1922
                    self defaultExtDirs.
2353
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
                'sun.boot.class.path'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1924
                    self defaultSunBootLibraryPath.
2353
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
                'java.vendor'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1926
                    'Sun Microsystems Inc.'.
2353
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
                'file.separator'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1928
                    Filename separatorString.
2353
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.vendor.url.bug'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1930
                    'https://swing.fit.cvut.cz/projects/stx-libjava/newticket'.
2353
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
                'sun.io.unicode.encoding'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1932
                    'UnicodeLittle'.
2353
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
                'sun.cpu.endian'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1934
                '   little'.
2353
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
                'sun.desktop'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1936
                    'gnome'.
2353
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
                'sun.cpu.isalist'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1938
                    ''
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1939
            }.
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
495
0ec68ea85f2b checkin from browser
cg
parents: 494
diff changeset
  1941
    "/ props at:'user.dir'           put:(Filename currentDirectory pathName).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1942
    "/props at:'awt.toolkit'        put:(self defaultWindowingToolKit).
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1943
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1944
    "/ props at: 'user.country' put: 'US'.   - already done above
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1945
    props at: 'hotjava.home' put: (self defaultHotJavaHome).
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1946
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1947
    "/ new with jdk 1.1.8
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1948
    "/ undocumented ?
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1949
    "/ 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
  1950
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1951
    props at: 'appletviewer.version' put: '1.1'.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1952
280
274951f1502c checkin from browser
cg
parents: 277
diff changeset
  1953
    "/ 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
  1954
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1955
    "/ props at: 'java.awt.graphicsenv' put: 'sun.awt.X11GraphicsEnvironment'.  -- already done above
2353
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
    props at: 'java.awt.fonts' put: '/usr/lib/X11/fonts'.
280
274951f1502c checkin from browser
cg
parents: 277
diff changeset
  1957
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1958
    "/ jws
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1959
    "/props at:'jws.home'             put:(self defaultJWSHome).
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1960
    "/ new with jws 2.0 ...
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1961
    "/props at:'jws.startcmd'         put:'jws.showwin.mainide'.
3264
69fc19f5e37d For Windows JDK7, make sure TwoStackSocketImpl is used
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3235
diff changeset
  1962
"/    props at: 'un.misc.URLClassPath.debug' put: 'true'.
69fc19f5e37d For Windows JDK7, make sure TwoStackSocketImpl is used
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3235
diff changeset
  1963
69fc19f5e37d For Windows JDK7, make sure TwoStackSocketImpl is used
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3235
diff changeset
  1964
    OperatingSystem isMSWINDOWSlike ifTrue:[
69fc19f5e37d For Windows JDK7, make sure TwoStackSocketImpl is used
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3235
diff changeset
  1965
        props at:'java.net.preferIPv4Stack' put: 'true'.
69fc19f5e37d For Windows JDK7, make sure TwoStackSocketImpl is used
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3235
diff changeset
  1966
    ].
2353
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1968
    "/ 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
  1969
2945
98971af93e31 Fix in JavaVM>>#initializeSystemPropertiesInto: be careful when initializing stx.libjava.tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2928
diff changeset
  1970
    (dir := Smalltalk getPackageDirectoryForPackage: self package) notNil ifTrue:[
98971af93e31 Fix in JavaVM>>#initializeSystemPropertiesInto: be careful when initializing stx.libjava.tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2928
diff changeset
  1971
        props at: 'libjava.tests.dir' put: (dir / 'tests') pathName.
98971af93e31 Fix in JavaVM>>#initializeSystemPropertiesInto: be careful when initializing stx.libjava.tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2928
diff changeset
  1972
    ].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1973
    ^ props
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1974
388
eb6bcedef274 checkin from browser
cg
parents: 380
diff changeset
  1975
    "
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1976
     self initializeSystemPropertiesInto:(Dictionary new)
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1977
    "
388
eb6bcedef274 checkin from browser
cg
parents: 380
diff changeset
  1978
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1979
    "Created: / 03-01-1998 / 14:26:39 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1980
    "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
  1981
    "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
  1982
    "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
  1983
    "Modified: / 13-09-2012 / 20:33:56 / m"
2945
98971af93e31 Fix in JavaVM>>#initializeSystemPropertiesInto: be careful when initializing stx.libjava.tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2928
diff changeset
  1984
    "Modified: / 20-11-2013 / 23:43:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3795
b696900fb824 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
  1985
    "Modified: / 15-01-2018 / 09:25:02 / mawalch"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1986
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1987
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1988
initializeVM
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1989
    | booter blocker errorDuringInit|
3048
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  1990
2353
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
    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
  1992
2372
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1993
    Java initializeRelease.
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1994
2353
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
    "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
  1996
     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
  1997
     - 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
  1998
     - 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
  1999
    "
3122
c1a47c6796fc Increated per-process stack size limit for Groocy 2.x.x
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3121
diff changeset
  2000
    Process defaultMaximumStackSize: ((1024 * 1024 * 4) max: Process defaultMaximumStackSize).
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2001
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2002
    "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
  2003
     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
  2004
    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
  2005
        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
  2006
        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
  2007
    ].
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2009
    ClassRegistry := JavaClassRegistry for: self.
640
6cf4e5aa3573 *** empty log message ***
cg
parents: 631
diff changeset
  2010
    JavaObject autoload.
6cf4e5aa3573 *** empty log message ***
cg
parents: 631
diff changeset
  2011
    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
  2012
    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
  2013
    MonitorTraceId := 0.
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  2014
    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
  2015
    self initializeJavaResources.
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2016
    JavaConsoleStream := Transcript.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2017
    Java initAllStaticFields.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2018
    Java markAllClassesUninitialized.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2019
    ZipCache := OrderedCollection new.
2958
bbd626006ab0 Access to ZipEntryCache synchronized to avoid races.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2956
diff changeset
  2020
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2021
    ZipEntryCache := OrderedCollection new.
2958
bbd626006ab0 Access to ZipEntryCache synchronized to avoid races.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2956
diff changeset
  2022
    ZipEntryCacheFirstFree := 0.
bbd626006ab0 Access to ZipEntryCache synchronized to avoid races.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2956
diff changeset
  2023
    ZipEntryCacheLock := RecursionLock new.
bbd626006ab0 Access to ZipEntryCache synchronized to avoid races.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2956
diff changeset
  2024
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2025
    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
  2026
    FinalizationLobby := JavaFinalizationRegistry new.
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  2027
    JavaVMData classVarNames do:[:nm |
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  2028
        nm first == $_ ifTrue:[
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  2029
            Smalltalk at: (JavaVMData globalKeyForClassVar:nm) put: nil.
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  2030
        ]
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  2031
    ].
2372
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  2032
    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
  2033
429
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  2034
    "/ force re-resolving;
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  2035
    "/ otherwise, class-inits would not be called
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  2036
    "/ 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
  2037
2100
4989419ae5c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2098
diff changeset
  2038
    JavaNativeMethod flushAllCachedNativeMethods.
3048
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2039
    JavaMethod allSubInstancesDo: [ :m |
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2040
            m clearJittedCodeAndForceJittingAgain.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2041
            "/ m checked: false; code: nil.
3048
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2042
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2043
    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
  2044
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2045
    "/ 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
  2046
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2047
    JavaClass startRememberingOrderOfClassInits.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2048
    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
  2049
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2050
    "/ < jdk 1.2
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2051
    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
  2052
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2053
    "/ >= jdk 1.2
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2054
    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
  2055
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2056
    "/>  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
  2057
    ThreadInterrupts := Dictionary new.
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  2058
    PerfCounters := Performance for: self.
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  2059
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2060
    self initializeClassReader.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2061
    self initializeOpenFileTable.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2062
    self initializeReflection.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2063
    self initializeBaseClasses.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2064
    self initializePrimitiveClasses.
3048
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2065
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2066
    "/ Initialization spawns couple of new threads, namely
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2067
    "/ finalization handler and signal handler. Those processes
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2068
    "/ should form their own new process group. 
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2069
    blocker := Semaphore new.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2070
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2071
    errorDuringInit := nil.
3048
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2072
    booter := [
3056
fd92dea7b142 Bugfix in JavaVM>>initializeVM: do not deadlock caller if VM initialization failed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3048
diff changeset
  2073
        [
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2074
            Error handle:[:ex |
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2075
                errorDuringInit := ex.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2076
                ex reject.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2077
            ] do:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2078
                Java initSystemClass.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2079
                Java initializeCurrentThread.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2080
                self initializeSystemClassLoader.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2081
                FinalizationLobby startFinalizationProcessAt: 5.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2082
            ].
3056
fd92dea7b142 Bugfix in JavaVM>>initializeVM: do not deadlock caller if VM initialization failed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3048
diff changeset
  2083
        ] ensure:[
fd92dea7b142 Bugfix in JavaVM>>initializeVM: do not deadlock caller if VM initialization failed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3048
diff changeset
  2084
            blocker signal.
fd92dea7b142 Bugfix in JavaVM>>initializeVM: do not deadlock caller if VM initialization failed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3048
diff changeset
  2085
        ].
3048
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2086
    ] newProcess.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2087
    booter name:'JVM boot process'.
3048
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2088
    booter beGroupLeader.
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2089
    booter resume.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2090
3048
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2091
    blocker wait.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2092
    errorDuringInit notNil ifTrue:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2093
        self error:'error during boot of JVM: ',errorDuringInit description
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2094
    ].
3048
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2095
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2096
    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
  2097
    StartupTime := OperatingSystem getOSTime.
3048
74535b57b370 Make internal JVM processes to form a new provess group on Smalltalk VM level.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2998
diff changeset
  2098
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2099
    JavaNativeMethod allInstancesDo:[:e|e nCallsReset ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2100
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2101
    "
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2102
     JavaVM initialize.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2103
     JavaVM initializeVM."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2104
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2105
    "Created: / 03-01-1998 / 21:29:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2106
    "Modified: / 14-12-1999 / 18:58:56 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2107
    "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
  2108
    "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
  2109
    "Modified: / 24-02-2012 / 14:37:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3056
fd92dea7b142 Bugfix in JavaVM>>initializeVM: do not deadlock caller if VM initialization failed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3048
diff changeset
  2110
    "Modified: / 04-04-2014 / 12:43:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2111
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2112
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2113
initializeVMIfNoEventThreadRunning
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2114
    |uClass updater p|
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2115
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2116
    uClass := JAVA::sun::awt::ScreenUpdater.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2117
    uClass notNil ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2118
        updater := uClass instVarNamed:'updater'.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2119
        updater notNil ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2120
            p := self stProcessForJavaThread:updater
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2121
        ].
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2122
        (updater isNil or:[p isNil or:[p isDead]]) isNil ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2123
            self initializeVM.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2124
            ^ self.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2125
        ]
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2126
    ].
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2127
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2128
    (JavaEventThread isNil or:[JavaEventThread isDead]) ifTrue:[
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2129
        self initializeVM
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2130
    ].
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2131
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2132
    "
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2133
     JavaVM initializeVMIfNoEventThreadRunning
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2134
    "
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2135
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2136
    "Created: / 15.1.1998 / 17:32:27 / cg"
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2137
    "Modified: / 24.12.1999 / 02:18:25 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2138
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2139
2353
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
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
  2141
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
    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
  2143
    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
  2144
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2145
    "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
  2146
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2148
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
  2149
    "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
  2150
     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
  2151
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
    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
  2153
        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
  2154
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2155
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2156
    "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
  2157
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2158
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2159
reinitializeVM
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2160
    |classesToInit|
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2161
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2162
    self releaseAllJavaResources.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2163
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2164
    JavaConsoleStream := Transcript.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2165
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2166
    Java initAllStaticFields.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2167
    Java markAllClassesUninitialized.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2168
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2169
    self initializeOpenFileTable.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2170
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2171
    classesToInit := JavaClass orderOfClassInits.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2172
    JavaClass startRememberingOrderOfClassInits.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2173
451
50d24dc93f8b checkin from browser
cg
parents: 448
diff changeset
  2174
    self initializePrimitiveClasses.
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  2175
"/    Java initSystemClass.
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2176
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2177
    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
  2178
        jClass classInit
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2179
    ].
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  2180
    Java initSystemClass.
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2181
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2182
    "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
  2183
    "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
  2184
    "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
  2185
!
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2186
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2187
reinitializeVMIfNoEventThreadRunning
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2188
    (JavaEventThread isNil or:[JavaEventThread isDead]) ifTrue:[
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2189
        ^ self reinitializeVM
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2190
    ].
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2191
    (JavaEventQueueThread isNil or:[JavaEventQueueThread isDead]) ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2192
        ^ self reinitializeVM
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2193
    ].
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2194
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2195
    "
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2196
     JavaVM reinitializeVMIfNoEventThreadRunning
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2197
    "
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2198
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2199
    "Created: / 24.11.1998 / 15:45:49 / cg"
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2200
    "Modified: / 24.12.1999 / 02:36:41 / cg"
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2201
!
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2202
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2203
releaseAllJavaResources
380
4bc7f45e2994 some more native support for NS4.0 java classes.
cg
parents: 374
diff changeset
  2204
    self deinitialize.
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2205
    FirstWindowCreationSemaphore := Semaphore new.
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2206
    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
  2207
    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
  2208
    LoadedNativeLibs := nil.
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2209
    ImageStretchCache := nil.
504
e22c50026869 checkin from browser
cg
parents: 503
diff changeset
  2210
    LastGraphics := LastGC := nil.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2211
    SimulatedNativeMemory := nil.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2212
    self initializePrimitiveClasses.
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2213
    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
  2214
    "/self releaseAllMonitors.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2215
    self releaseAllWindows.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2216
    self releaseAllStreams.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2217
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2218
    "
2353
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
     JavaVM releaseAllJavaResources"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2220
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2221
    "Created: / 07-01-1998 / 22:49:42 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2222
    "Modified: / 24-12-1999 / 02:33:11 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2223
    "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
  2224
    "Modified: / 16-11-2011 / 20:27:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2225
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2226
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2227
releaseAllMonitors
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2228
    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
  2229
    LockTableAccess := Semaphore "RecursionLock" forMutualExclusion.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2230
    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
  2231
    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
  2232
        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
  2233
            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
  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
    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
  2236
    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
  2237
        log: 'Clearing EnteredMonitorsPerProcess'
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  2238
        severity: Logger severityDEBUG
2353
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
        facility: #JVM.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2240
    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
  2241
    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
  2242
    log: 'Clearing AcquiredMonitorsPerProcess'
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  2243
    severity: Logger severityDEBUG
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2244
    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
  2245
        EnteredMonitorsPerProcess := IdentityDictionary new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2246
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2247
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2248
     JavaVM releaseAllMonitors"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2249
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2250
    "Created: / 02-01-1998 / 18:04:05 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2251
    "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
  2252
    "Modified: / 17-11-2011 / 17:00:12 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  2253
    "Modified: / 02-03-2015 / 13:58:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2254
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2256
releaseAllStreams
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  2257
    OpenFileTable notNil ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2258
	OpenFileTable do:[:aStream |
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2259
	    aStream notNil ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2260
		aStream ~~ Stdin ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2261
		    aStream ~~ Stdout ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2262
			aStream ~~ Stderr ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2263
			    aStream ~~ JavaConsoleStream ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2264
				aStream isExternalStream ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2265
				    aStream shutDown
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2266
				]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2267
			    ]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2268
			]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2269
		    ]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2270
		]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2271
	    ]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2272
	]
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  2273
    ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2274
    self initializeOpenFileTable.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2275
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2276
    "
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2277
     JavaVM releaseAllStreams
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2278
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2279
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2280
    "Created: / 7.1.1998 / 22:57:04 / cg"
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  2281
    "Modified: / 4.2.1998 / 19:53:11 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2282
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2283
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2284
releaseAllWindows
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2285
    KnownWindows notNil ifTrue:[
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2286
	KnownWindows do:[:aView |
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2287
	    aView destroy
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2288
	].
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2289
	KnownWindows := nil.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2290
    ]
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2291
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2292
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2293
     self releaseAllWindows
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2294
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2295
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2296
    "Created: / 7.1.1998 / 22:58:32 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2297
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2298
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2299
releaseLeftOverMonitors
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2300
    "release monitors held by dead processes"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2301
2353
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
    | deadProcesses |
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2303
    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
  2304
    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
  2305
        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
  2306
            :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
  2307
            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
  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
                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
  2310
                    :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
  2311
                    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
  2312
                        log: 'release leftover monitor ...'
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  2313
                        severity: Logger severityDEBUG
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2314
                        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
  2315
                    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
  2316
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2317
                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
  2318
            ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2319
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2320
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2321
    deadProcesses do: [:p | EnteredMonitorsPerProcess removeKey: p ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2322
2d8b3948a08a *** empty log message ***
cg
parents: 253
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
     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
  2325
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
    "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
  2327
    "Modified: / 29-11-2011 / 14:26:25 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  2328
    "Modified: / 02-03-2015 / 13:57:45 / 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
  2329
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2330
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2331
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
  2332
    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
  2333
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2334
    "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
  2335
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2336
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2337
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
  2338
    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
  2339
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2340
    "Created: / 30-07-2012 / 17:13:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2341
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2342
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2343
systemProperties
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2344
    |props|
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2345
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2346
    (props := SystemProperties) isNil ifTrue:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2347
        props := Dictionary new.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2348
        self initializeSystemPropertiesInto:props.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2349
        SystemProperties := props
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2350
    ].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2351
    ^ props
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2352
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2353
    "Created: / 3.1.1998 / 14:25:58 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2354
    "Modified: / 3.1.1998 / 14:32:38 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2355
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
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
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
  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
    "
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
    #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
  2361
    (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
  2362
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2363
    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
  2364
        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
  2365
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2366
        ^self.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2367
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2368
2353
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
    "#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
  2370
    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
  2371
    (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
  2372
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2373
    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
  2374
        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
  2375
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2376
        ^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
  2377
    ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2378
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2379
     JavaVM initializeVM
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2380
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2381
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2382
    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
  2383
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2384
    "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
  2385
    "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
  2386
    "Modified: / 17-08-2012 / 15:35:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2387
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2388
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2389
!JavaVM class methodsFor:'Signal constants'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2390
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2391
badMessageSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2392
    ^ BadMessageSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2393
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2394
    "Created: / 2.1.1998 / 18:06:52 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2395
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2396
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2397
callHandlerSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2398
    ^ CallHandlerSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2399
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2400
    "Created: / 2.1.1998 / 18:07:16 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2401
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2402
2353
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
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
  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
    <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
  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
    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
  2408
3656
e9cc6bf8a31a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
  2409
    ^ JavaClassReader classLoaderQuerySignal
2353
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
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
    "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
  2412
!
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
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2414
internalErrorSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2415
    ^ InternalErrorSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2416
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2417
    "Created: / 2.1.1998 / 18:07:05 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2418
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2419
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2420
javaExceptionSignal
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2421
    "^ JavaExceptionSignal"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2422
    ^JavaError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2423
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2424
    "Created: / 02-01-1998 / 18:05:58 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2425
    "Modified: / 01-03-2011 / 21:50:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2426
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2427
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2428
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
  2429
    ^ 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
  2430
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2431
    "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
  2432
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2433
576
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2434
stdinReplacementFileQuerySignal
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2435
    ^ StdinReplacementFileQuerySignal
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2436
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2437
    "Created: / 2.1.1998 / 18:06:52 / cg"
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2438
!
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2439
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2440
unhandledJavaExceptionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2441
    ^ UnhandledJavaExceptionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2442
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2443
    "Created: / 2.1.1998 / 18:05:19 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2444
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2445
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2446
unimplementedInstructionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2447
    ^ UnimplementedInstructionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2448
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2449
    "Created: / 2.1.1998 / 18:06:15 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2450
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2451
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2452
unimplementedNativeMethodSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2453
    ^ UnimplementedNativeMethodSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2454
2353
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
    "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
  2456
    "Modified: / 15-01-2013 / 22:30:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2457
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2458
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2459
!JavaVM class methodsFor:'accessing'!
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2460
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  2461
addSelector:newSelector withMethod:newMethod 
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2462
    super addSelector:newSelector withMethod:newMethod.
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  2463
    
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2464
    "/JavaNativeMethod may not be loaded..."
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  2465
    
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  2466
    (Smalltalk at:#JavaNativeMethod) notNil ifTrue:[
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  2467
        JavaNativeMethod flushAllCachedNativeMethods
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  2468
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2469
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2470
    "Created: / 24-12-1999 / 03:12:05 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2471
    "Modified: / 02-02-2011 / 23:38:08 / Marcel Hlopko <hlopik@gmail.com>"
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  2472
    "Modified: / 04-08-2014 / 15:52:40 / 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
assertionsEnabled: aBoolean
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
    AssertionsEnabled := aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2478
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2479
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2480
        JavaVM assertionsEnabled: true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2481
        JavaVM assertionsEnabled: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2482
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2483
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2484
    "Created: / 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
  2485
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2486
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2487
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
  2488
    ^ 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
  2489
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2490
    "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
  2491
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2492
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2493
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
  2494
    ^ 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
  2495
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2496
    "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
  2497
    "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
  2498
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2499
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2500
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
  2501
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2502
    ^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
  2503
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2504
    "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
  2505
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2506
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2507
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
  2508
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2509
    ^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
  2510
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2511
    "Created: / 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
  2512
!
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2513
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2514
javaEventQueueThread
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2515
     ^ JavaEventQueueThread
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2516
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2517
    "Created: / 24.12.1999 / 02:34:35 / cg"
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2518
!
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2519
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2520
javaEventThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2521
     ^ JavaEventThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2522
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2523
    "Created: / 8.1.1999 / 17:05:02 / cg"
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2524
!
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2525
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2526
javaScreenUpdaterThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2527
     ^ JavaScreenUpdaterThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2528
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2529
    "Created: / 8.1.1999 / 17:06:52 / cg"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2530
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2531
2353
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
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
  2533
    ^ 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
  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
    "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
  2536
!
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
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
  2539
    "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
  2540
    ^ 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
  2541
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2542
    "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
  2543
!
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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2545
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
  2546
    ^ Reflection
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2547
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2548
    "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
  2549
    "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
  2550
!
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
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
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
  2553
    ^ 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
  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 (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
  2556
!
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
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
  2559
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
    ^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
  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
    "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
  2563
!
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
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
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
  2566
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
    ^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
  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
    "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
  2570
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2571
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2572
useSmalltalkInterpreter
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2573
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2574
    JavaMethod makeMetaMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2575
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2576
    "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
  2577
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2578
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2579
useVMInterpreter
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2580
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2581
    JavaMethod makeJavaMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2582
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2583
    "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
  2584
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2585
2618
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2586
!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
  2587
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2588
builtInClassNames
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2589
    "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
  2590
     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
  2591
     JavaClassRegistry is sent #registerBuiltIn:
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2592
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2593
     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
  2594
     JavaClassRegistry>>registerBuiltIn:.
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2595
    "
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2596
    ^#(
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2597
        #'java/lang/Object'
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2598
        #'java/lang/String'
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  2599
        #'java/lang/System'
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  2600
        #'java/lang/Class'
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  2601
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  2602
        #'java/lang/reflect/Constructor'
2620
263045d15796 Initial support for generalized built-in class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2618
diff changeset
  2603
        #'java/lang/reflect/Method'
263045d15796 Initial support for generalized built-in class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2618
diff changeset
  2604
        #'java/lang/reflect/Field'
263045d15796 Initial support for generalized built-in class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2618
diff changeset
  2605
2618
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2606
    )
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2607
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2608
    "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
  2609
! !
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2610
2353
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
!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
  2612
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
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
  2614
    "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
  2615
     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
  2616
     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
  2617
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
    aClass methodDictionary do:[:mthd|
2577
20f1eddba58b Call __jbindnative() when initializing Java native method.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2568
diff changeset
  2619
        (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
  2620
            "Stdout nextPutAll:'Flushing code for ' , mthd printString; cr."
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2621
            mthd clearJittedCodeAndForceJittingAgain.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2622
            "/ mthd code: nil; 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
  2623
        ].
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
    ].
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
    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
  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
    "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
  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
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
!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
  2631
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2632
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
  2633
    ^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
  2634
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
    "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
  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
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
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
  2639
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
    ^ 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
  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
    "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
  2643
    "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
  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
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
at: aString put: aJavaClass
3216
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  2647
    <resource: #obsolete>
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  2648
    
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  2649
    self error: 'Should not be used anymore'.
2353
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
    ^ 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
  2651
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
    "Modified (comment): / 21-10-2011 / 12:14:36 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3216
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  2653
    "Modified: / 11-08-2014 / 01:22:02 / 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
  2654
!
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
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
  2657
    "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
  2658
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2659
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2660
    ^ 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
  2661
        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
  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
    "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
  2664
    "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
  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
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
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
  2668
    "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
  2669
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2670
    | 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
  2671
2617
1bbc3b4a686f Removed debug print in JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2605
diff changeset
  2672
"/    classLoader isNil ifTrue:[
1bbc3b4a686f Removed debug print in JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2605
diff changeset
  2673
"/        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
  2674
"/    ].
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
  2675
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2676
    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
  2677
    result := self
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2678
                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
  2679
                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
  2680
                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
  2681
                    | class  classLoaderEnsured |
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2682
                    self assert: (binaryName includes: $.) not.
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  2683
                        class := self loadClassNamed: binaryName usingClassLoader: classLoader.
2353
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
                        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
  2685
                ].
2961
86e181f74199 Class loading refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2960
diff changeset
  2686
2353
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
    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
  2688
        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
  2689
            log: 'Class ' , className , ' couldnt be loaded'
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  2690
            severity: Logger severityDEBUG
2353
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
            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
  2692
    ] 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
  2693
    ^ 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
  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
    "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
  2696
    "Modified: / 02-11-2011 / 16:49:45 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  2697
    "Modified: / 02-03-2015 / 14:01:00 / 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
  2698
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2699
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2700
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
  2701
    "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
  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
    | 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
  2704
    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
  2705
        ^ (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
  2706
    ].
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
    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
  2708
                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
  2709
                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
  2710
                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
  2711
    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
  2712
        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
  2713
    ].
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
    ^ 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
  2715
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
    "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
  2717
    "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
  2718
    "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
  2719
!
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
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
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
  2722
    "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
  2723
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
    ^ 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
  2725
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2726
    "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
  2727
    "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
  2728
    "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
  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
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
  2732
    "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
  2733
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2734
    | 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
  2735
    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
  2736
        ^ (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
  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
    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
  2739
                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
  2740
                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
  2741
                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
  2742
    ^ 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
  2743
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
    "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
  2745
    "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
  2746
    "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
  2747
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2748
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2749
loadClassesIn: directory
2875
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2750
    "Load all classes (.class files, strictly speaking) found in given directory or .jar file.
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2751
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2752
    Returns a set of loaded classes."
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2753
3112
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  2754
    ^ self loadClassesIn: directory matching: nil.
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  2755
2353
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: / 21-10-2011 / 12:40:34 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3112
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  2757
    "Modified: / 27-05-2014 / 12:19:58 / 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
  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
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
loadClassesIn: directory matching: pattern
2875
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2761
    "Load all classes (.class files, strictly speaking) found in given directory or .jar file.
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2762
     The arguments are a string containing the name of the directory or .jar file
2353
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
     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
  2764
     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
  2765
     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
  2766
     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
  2767
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
    | dir  dirString  className  loadedClasses |
3898
d8c5eadc3a52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3795
diff changeset
  2769
d8c5eadc3a52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3795
diff changeset
  2770
    dir := directory asFilename.
2353
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
    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
  2772
    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
  2773
    JavaClassReader classLoaderQuerySignal answer: SystemClassLoader do:[
2875
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2774
        dir isDirectory ifTrue:[
3898
d8c5eadc3a52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3795
diff changeset
  2775
            dir recursiveDirectoryContentsAsFilenamesDo:[:eachFilename|
d8c5eadc3a52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3795
diff changeset
  2776
                (eachFilename isRegularFile and: [ eachFilename suffix = #class ]) ifTrue: [
2875
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2777
                    dirString := dir pathName.
3898
d8c5eadc3a52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3795
diff changeset
  2778
                    className := eachFilename withoutSuffix pathName.
2875
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2779
                    className := className subString: dirString size + 2 to: className size.
3112
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  2780
                    className := className replaceAll: (Filename separator) with: $..
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  2781
                    (pattern isNil or:[className matches: pattern]) ifTrue: [
2875
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2782
                        (self classNamed: className) isNil ifTrue:[
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2783
                            loadedClasses add: (self classForName:className).
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2784
                        ].
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2785
                    ]
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2786
                ]
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2787
            ].
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2788
        ] ifFalse:[
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2789
            | zar |
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2790
3898
d8c5eadc3a52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3795
diff changeset
  2791
            zar := ZipArchive oldFileNamed:dir.
2875
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2792
            zar entries do:[:entry|
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2793
            (entry endsWith:'.class') ifTrue:[
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2794
                | nm |
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2795
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2796
                nm := entry copyTo: entry size - 6.
3112
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  2797
                className := nm replaceAll: (Filename separator) with: $..
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  2798
                    (pattern isNil or:[className matches: pattern]) ifTrue: [
2875
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2799
                        (self classNamed: className) isNil ifTrue:[
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2800
                            loadedClasses add: (self classForName:className).
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2801
                        ].
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2802
                    ]
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2803
                ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2804
            ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2805
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2806
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2807
    ^ 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
  2808
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2809
    "Modified: / 21-10-2011 / 12:52:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3112
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  2810
    "Modified: / 27-05-2014 / 12:20:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3898
d8c5eadc3a52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3795
diff changeset
  2811
    "Modified: / 11-04-2019 / 18:19:50 / Stefan Vogel"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2812
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2813
2730
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2814
!JavaVM class methodsFor:'class loading/unloading'!
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2815
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2816
loadClassNamed: className usingClassLoader: classLoader
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2817
    "Load class with given `className` using given `classLoader`. If
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2818
     `classLoader` is nil (i.e., primordial class loader), load
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2819
     the class ourselfs"
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2820
2353
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
    | class |
2730
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2822
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2823
    JavaClassReader classLoaderQuerySignal answer: classLoader do: [
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2824
        classLoader isNil ifTrue:[
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2825
            "/ Primordial load...
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  2826
            class := JavaClassReader readClass: className classPath: Java release bootClassPath
2730
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2827
        ] ifFalse:[
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2828
            class := classLoader
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2829
                    perform: #'loadClassInternal(Ljava/lang/String;)Ljava/lang/Class;'
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2830
                    with: (Java as_String: (className asDottedJavaClassName)).
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2831
            class := self classForJavaClassObject: class.
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2832
        ].
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2833
    ].
2353
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
    ^ 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
  2835
2730
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2836
    "Created: / 14-09-2013 / 23:06:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2837
    "Modified: / 15-09-2013 / 00:17:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2737
83f8416e153c Cleanup. Change source API in `Java` to return stream rather than string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2838
!
83f8416e153c Cleanup. Change source API in `Java` to return stream rather than string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2839
83f8416e153c Cleanup. Change source API in `Java` to return stream rather than string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2840
unloadClass: class
83f8416e153c Cleanup. Change source API in `Java` to return stream rather than string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2841
    "Remove given `class` from the system, i.e., remove it from
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  2842
     the class registry as well as from system dictionary (Smalltalk).
2737
83f8416e153c Cleanup. Change source API in `Java` to return stream rather than string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2843
83f8416e153c Cleanup. Change source API in `Java` to return stream rather than string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2844
     Note, that this method also removes all dependent classes and
83f8416e153c Cleanup. Change source API in `Java` to return stream rather than string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2845
     invalidates all references"
83f8416e153c Cleanup. Change source API in `Java` to return stream rather than string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2846
83f8416e153c Cleanup. Change source API in `Java` to return stream rather than string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2847
    ClassRegistry unregisterClass: class.
83f8416e153c Cleanup. Change source API in `Java` to return stream rather than string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2848
83f8416e153c Cleanup. Change source API in `Java` to return stream rather than string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2849
    "Created: / 14-09-2013 / 23:25:04 / 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
  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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2852
!JavaVM class methodsFor:'debugging support'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2853
2353
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
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
  2855
    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
  2856
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2857
    "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
  2858
!
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
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
  2861
    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
  2862
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2863
    "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
  2864
    "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
  2865
!
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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2867
exceptionDebug
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2868
    ^ ExceptionDebug
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2869
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2870
    "Created: / 27.1.1999 / 20:14:51 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2871
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2872
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2873
exceptionDebug:aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2874
    ExceptionDebug := aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2875
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2876
    "Created: / 27.1.1999 / 20:15:00 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2877
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2878
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2879
exceptionDebugPatterns
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2880
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2881
    ^ ExceptionDebugPatterns
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2882
    "
2353
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
    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
  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
    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
  2886
    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
  2887
    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
  2888
    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
  2889
    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
  2890
    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
  2891
    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
  2892
    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
  2893
    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
  2894
    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
  2895
    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
  2896
    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
  2897
    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
  2898
    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
  2899
    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
  2900
    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
  2901
    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
  2902
    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
  2903
    ExceptionDebugPatterns add: 'java/lang/ClassCastException'.
2730
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2904
    ExceptionDebugPatterns add: 'java/lang/IllegalAccess*'.
2925
a77c05c8cd68 Fix in JavaVM for exception debugging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2921
diff changeset
  2905
    ExceptionDebugPatterns add: 'java/util/zip/ZipException'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2906
    ExceptionDebugPatterns add: 'java/lang/UnsatisfiedLinkError'.
3121
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  2907
    ExceptionDebugPatterns add: 'java/lang/ThreadDeath'.
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  2908
2730
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2909
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2910
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2911
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2912
    ExceptionDebug := true.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2913
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2914
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2915
    "Created: / 25-02-2011 / 08:08:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3121
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  2916
    "Modified (comment): / 12-06-2014 / 11:36:17 / 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
  2917
!
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2918
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2919
exceptionTrace:aBoolean
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2920
    ExceptionTrace := aBoolean
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2921
2965
bac7022ca26a Merged 7c3b2a89f173 and 80a1a085a982 (branch performance-optimizations)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2961 2620
diff changeset
  2922
!
bac7022ca26a Merged 7c3b2a89f173 and 80a1a085a982 (branch performance-optimizations)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2961 2620
diff changeset
  2923
2850
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  2924
monitorTrace
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  2925
    ^ MonitorTrace
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  2926
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  2927
    "Created: / 11-10-2013 / 11:16:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2928
! !
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2929
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2930
!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
  2931
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
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
  2933
    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
  2934
    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
  2935
    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
  2936
        | 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
  2937
        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
  2938
        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
  2939
            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
  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
    ].
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
    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
  2943
        | 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
  2944
        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
  2945
        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
  2946
            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
  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
    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
  2950
        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
  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: / 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
  2954
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2955
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2956
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
  2957
    ^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
  2958
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2959
    "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
  2960
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2961
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2962
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
  2963
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2964
    | 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
  2965
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2966
    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
  2967
    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
  2968
        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
  2969
            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
  2970
            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
  2971
            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
  2972
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2973
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2974
    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
  2975
        ('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
  2976
            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
  2977
                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
  2978
                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
  2979
        )
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2980
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2981
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2982
        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
  2983
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2984
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2985
    "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
  2986
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2987
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2988
!JavaVM class methodsFor:'defaults'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2989
359
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2990
audioEnabled
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2991
    ^ NoAudio not
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2992
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2993
    "Created: / 18.7.1998 / 22:31:36 / cg"
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2994
!
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2995
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2996
audioEnabled:aBoolean
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2997
    NoAudio := aBoolean not
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2998
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2999
    "Created: / 18.7.1998 / 22:31:20 / cg"
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  3000
!
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  3001
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3002
defaultCLASSPATH
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3003
    |s|
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3004
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3005
    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
  3006
    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
  3007
        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
  3008
        separatedBy: [s nextPut: OperatingSystem pathSeparator].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3009
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3010
    ^ s contents
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3011
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3012
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3013
     self defaultCLASSPATH
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3014
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3015
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3016
    "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
  3017
    "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
  3018
!
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
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
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
  3021
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3022
    ^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
  3023
        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
  3024
            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
  3025
        ] 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
  3026
            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
  3027
        ]
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
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3029
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3030
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3031
    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
  3032
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3033
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
    "Created: / 31-08-2011 / 20:03:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3035
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3036
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3037
defaultHotJavaHome
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3038
    ^ '/usr/local/java/hotjava'.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3039
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3040
    "Modified: / 5.8.1997 / 04:13:36 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3041
    "Created: / 3.1.1998 / 14:27:34 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3042
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3043
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3044
defaultJAVAHome
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3045
    ^ Java javaHome
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3046
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3047
    "Modified: / 6.8.1997 / 00:54:44 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3048
    "Created: / 3.1.1998 / 14:27:01 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3049
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3050
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3051
defaultJWSHome
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  3052
    '/phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS' asFilename exists ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3053
	^ '/phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS'
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  3054
    ].
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  3055
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3056
    ^ '/usr/local/java/JWS'.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3057
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3058
    "Created: / 3.1.1998 / 14:27:42 / cg"
479
0ae3179779eb checkin from browser
cg
parents: 477
diff changeset
  3059
    "Modified: / 3.12.1998 / 14:54:08 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3060
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3061
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3062
defaultJavaLibraryPath
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3063
    |javaHome jreHome dirs libDir jniLibDir|
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3064
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3065
    javaHome := Java release javaHome asFilename.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3066
    jreHome := Java release jreHome.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3067
    libDir := Java release libDirInJreHome.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3068
    jniLibDir := Java release jniLibDirInJreHome.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3069
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3070
    dirs := Set new.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3071
    dirs
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3072
        add: javaHome / libDir;
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3073
        add: javaHome / libDir / 'amd64';
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3074
        add: javaHome / libDir / 'i386'.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3075
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3076
    libDir ~= jniLibDir ifTrue:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3077
        dirs 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3078
            add: javaHome / jniLibDir;
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3079
            add: javaHome / jniLibDir / 'amd64';
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3080
            add: javaHome / jniLibDir / 'i386'.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3081
    ].
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3082
    jreHome notNil ifTrue:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3083
        dirs 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3084
            add: jreHome / libDir ;
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3085
            add: jreHome / libDir / 'amd64'  ;
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3086
            add: jreHome / libDir / 'i386' ;
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3087
            add: jreHome / 'bin'.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3088
        libDir ~= jniLibDir ifTrue:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3089
            dirs 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3090
                add: jreHome / jniLibDir;
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3091
                add: jreHome / jniLibDir / 'amd64';
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3092
                add: jreHome / jniLibDir / 'i386'
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3093
        ].
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3094
    ].
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3095
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3096
    OperatingSystem isMSWINDOWSlike ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3097
        dirs
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3098
            add: javaHome / 'bin'.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3099
    ].
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3100
    dirs := (dirs select:[:d| d exists]) asOrderedCollection.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3101
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3102
    ^String streamContents:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3103
        [:path|
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3104
        dirs
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3105
            do:[:d|path nextPutAll:d pathName]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3106
            separatedBy:[path nextPut: OperatingSystem pathSeparator]]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3107
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3108
    "
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3109
     JavaVM defaultJavaLibraryPath
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3110
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3111
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3112
    "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
  3113
    "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
  3114
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3115
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3116
defaultSunBootLibraryPath
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
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
    |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
  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
    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
  3121
    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
  3122
        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
  3123
        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
  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
    ^ s contents
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3126
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3127
    "
2353
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
        JavaVM defaultSunBootLibraryPath
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3129
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3130
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3131
    "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
  3132
    "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
  3133
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3134
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3135
defaultWindowingToolKit
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3136
    "/ prefer the windows toolkit ...
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3137
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3138
    (self classForName: 'sun.awt.windows.WToolkit') notNil ifTrue: [
2092
7da11fcd701b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2085
diff changeset
  3139
        ^ 'sun.awt.windows.WToolkit'.
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  3140
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3141
    (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
  3142
        self halt: 'MotifToolKit: this is untested code'.
2092
7da11fcd701b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2085
diff changeset
  3143
        ^ 'sun.awt.motif.MToolkit'.
7da11fcd701b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2085
diff changeset
  3144
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3145
    self halt: 'TinyToolKit: this is untested code'.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3146
    ^ 'sun.awt.tiny.TinyToolkit'.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3147
2353
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
    "/    ^ '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
  3149
    "/    ^ 'sun.awt.motif.MToolkit'.
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  3150
    "
2353
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
     self defaultWindowingToolKit"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3152
    "Created: / 3.1.1998 / 14:27:49 / cg"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  3153
    "Modified: / 27.1.1998 / 21:52:52 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3154
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3155
546
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3156
fileAccessTrace
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3157
    ^ FileAccessTrace
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3158
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3159
    "Created: / 27.1.1999 / 18:55:40 / cg"
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3160
!
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3161
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3162
fileAccessTrace:aBoolean
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3163
    FileAccessTrace := aBoolean
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3164
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3165
    "Created: / 19.10.1998 / 16:01:44 / cg"
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3166
    "Modified: / 27.1.1999 / 18:55:52 / cg"
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3167
!
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3168
390
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3169
fileOpenConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3170
    ^ FileOpenConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3171
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3172
    "Created: / 19.10.1998 / 16:01:44 / cg"
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3173
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3174
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3175
fileOpenConfirmation:aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3176
    FileOpenConfirmation := aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3177
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3178
    "Created: / 19.10.1998 / 16:01:56 / cg"
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3179
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3180
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3181
javaConsole:aStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3182
    JavaConsoleStream := aStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3183
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3184
    "
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3185
     JavaVM javaConsole:Transcript
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3186
    "
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3187
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3188
    "Modified: / 6.8.1997 / 00:34:13 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3189
    "Created: / 3.1.1998 / 14:27:58 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3190
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3191
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3192
javaConsoleStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3193
    ^ JavaConsoleStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3194
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3195
    "Created: / 3.1.1998 / 14:32:16 / cg"
390
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3196
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3197
572
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3198
nullPointerExceptionDebug
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3199
    ^ NullPointerExceptionDebug
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3200
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3201
    "Created: / 27.1.1999 / 20:14:51 / cg"
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3202
!
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3203
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3204
nullPointerExceptionDebug:aBoolean
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3205
    NullPointerExceptionDebug := aBoolean
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3206
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3207
    "Created: / 27.1.1999 / 20:15:00 / cg"
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3208
!
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3209
390
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3210
socketConnectConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3211
    ^ SocketConnectConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3212
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3213
    "Created: / 19.10.1998 / 16:02:15 / cg"
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3214
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3215
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3216
socketConnectConfirmation:aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3217
    SocketConnectConfirmation := aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3218
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3219
    "Created: / 19.10.1998 / 16:02:06 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3220
! !
de483f561c9e *** empty log message ***
cg
parents:
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
!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
  3223
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3224
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
  3225
    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
  3226
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3227
    "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
  3228
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3229
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3230
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
  3231
    ^ 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
  3232
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
    "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
  3234
!
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
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
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
  3237
     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
  3238
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
    "Created: / 08-12-2011 / 21:06:03 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3240
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3241
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3242
!JavaVM class methodsFor:'helpers'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3243
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3244
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
  3245
    "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
  3246
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
    | sc  tc |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3248
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3249
    "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
  3250
    s isJavaPrimitiveType ifTrue: [
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3251
        "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
  3252
        ^ 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
  3253
    ].
2353
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
     "
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
     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
  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
     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
  3258
     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
  3259
     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
  3260
     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
  3261
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
     - 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
  3263
     - 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
  3264
     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
  3265
     - 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
  3266
    "
2353
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
    (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
  3268
        ^ (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
  3269
    ].
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
     "
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
     - 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
  3272
     - 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
  3273
     - 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
  3274
     superinterface of S.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3275
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3276
    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
  3277
        ^ 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
  3278
            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
  3279
            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
  3280
    ].
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
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3282
     - 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
  3283
     ponents of type SC , then:
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3284
    "
2353
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
    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
  3286
    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
  3287
     "
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
     - 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
  3289
    "
2601
3d4b433fb25c Performance optimization - classForName: (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2597
diff changeset
  3290
    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
  3291
     "
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
     - 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
  3293
     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
  3294
     - 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
  3295
     - 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
  3296
     recursive application of these rules.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3297
    "
2353
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
    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
  3299
        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
  3300
        ^ 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
  3301
            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
  3302
            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
  3303
    ].
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
     "
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
     - 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
  3306
     by arrays (JLS3 4.10.3).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3307
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3308
    ((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
  3309
        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
  3310
    ^ false
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3311
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3312
    "Modified: / 09-01-1999 / 00:45:21 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3313
    "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
  3314
    "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
  3315
    "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
  3316
!
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
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
javaStringObjectForString:string
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3319
    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
  3320
    ^ self reflection javaStringObjectForString:string interned:false
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3321
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3322
    "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
  3323
    "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
  3324
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3325
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3326
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
  3327
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3328
    ^self reflection javaStringObjectForString:string interned:intern.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3329
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3330
    "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
  3331
    "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
  3332
    "Modified: / 09-02-2011 / 01:04:21 / Marcel Hlopko <hlopik@gmail.com>"
321
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 319
diff changeset
  3333
!
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 319
diff changeset
  3334
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3335
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
  3336
    | 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
  3337
    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
  3338
    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
  3339
    ^ 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
  3340
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3341
    "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
  3342
    "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
  3343
    "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
  3344
!
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
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
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
  3347
    | 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
  3348
3112
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  3349
    className first == $[ ifFalse:[ ^ loadedJavaClass ].
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  3350
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3351
    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
  3352
    dimensions := className occurrencesOf: $[.
3112
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  3353
    arrayClass isJavaArrayClass 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
  3354
        "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
  3355
        dimensions := dimensions - 1.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3356
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3357
    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
  3358
        ^ 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
  3359
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
    "Created: / 21-10-2011 / 12:18:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3112
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  3361
    "Modified: / 27-05-2014 / 12:40:17 / 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
  3362
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3363
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3364
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
  3365
    | 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
  3366
    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
  3367
    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
  3368
    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
  3369
    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
  3370
    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
  3371
        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
  3372
    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
  3373
    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
  3374
    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
  3375
    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
  3376
    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
  3377
    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
  3378
        ((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
  3379
            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
  3380
            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
  3381
274
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3382
    "/
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3383
    "/ that on was only temporarily present in JDK1.1.3 (sigh)
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3384
    "/
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3385
3651
ad9d840e890c #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3594
diff changeset
  3386
    (i := thread class instVarIndexFor: 'initial_stack_memory') notNil 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
  3387
        thread instVarAt: i put: 0.
274
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3388
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3389
    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
  3390
    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
  3391
        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
  3392
    ] 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
  3393
        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
  3394
    ].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3395
    ^ thread
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3396
2353
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
    "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
  3398
    "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
  3399
    "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
  3400
    "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
  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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3403
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
  3404
    | 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
  3405
    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
  3406
    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
  3407
    ^ 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
  3408
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3409
    "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
  3410
    "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
  3411
    "Modified: / 09-12-2011 / 13:12:39 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3412
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3413
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3414
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
  3415
    | 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
  3416
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3417
    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
  3418
        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
  3419
        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
  3420
        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
  3421
        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
  3422
        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
  3423
            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
  3424
        standardGroup instVarNamed: 'destroyed' put: 0.
2806
41d1af53f1eb Fix in JavaVM>>standardThreadGroup
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2744
diff changeset
  3425
        standardGroup instVarNamed: 'daemon' put: 0.
3651
ad9d840e890c #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 3594
diff changeset
  3426
        (standardGroup class instVarIndexFor: 'vmAllowSuspension') notNil 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
  3427
            standardGroup instVarNamed: 'vmAllowSuspension' put: 0.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3428
        ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3429
        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
  3430
        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
  3431
        standardGroup instVarNamed: 'groups' put: nil.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3432
        StandardThreadGroup := standardGroup.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3433
    ].
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3434
    ^ StandardThreadGroup
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3435
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3436
    "Created: / 03-01-1998 / 01:41:54 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3437
    "Modified: / 17-11-1998 / 22:55:30 / cg"
2806
41d1af53f1eb Fix in JavaVM>>standardThreadGroup
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2744
diff changeset
  3438
    "Modified: / 07-10-2013 / 11:51:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3439
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3440
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3441
!JavaVM class methodsFor:'helpers - exceptions'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3442
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3443
throwAbstractMethodError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3444
    ^ self throwExceptionClassName: 'java.lang.AbstractMethodError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3445
        withMessage: 'resolving a method ref failed'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3446
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3447
    "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
  3448
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3449
2353
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
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
  3451
    | 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
  3452
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3453
    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
  3454
    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
  3455
    ^ self throwException: ex
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3456
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3457
    "Created: / 14.1.1998 / 21:36:05 / cg"
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3458
    "Modified: / 20.11.1998 / 13:27:14 / cg"
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3459
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3460
2353
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
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
  3462
    | 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
  3463
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3464
    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
  3465
    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
  3466
    ^ self throwException: ex
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3467
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3468
    "Modified: / 20.11.1998 / 13:27:14 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3469
    "Created: / 8.1.1999 / 15:03:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3470
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3471
3114
ba69147aea97 Better error message for VM-thrown ArrayStoreException.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3112
diff changeset
  3472
throwArrayStoreException:message
582
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3473
    ^ self
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3474
        throwExceptionClassName:'java.lang.ArrayStoreException'
3114
ba69147aea97 Better error message for VM-thrown ArrayStoreException.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3112
diff changeset
  3475
        withMessage:message
ba69147aea97 Better error message for VM-thrown ArrayStoreException.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3112
diff changeset
  3476
ba69147aea97 Better error message for VM-thrown ArrayStoreException.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3112
diff changeset
  3477
    "Modified: / 02-06-2014 / 14:21:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
581
124338be273b checkin from browser
cg
parents: 579
diff changeset
  3478
!
124338be273b checkin from browser
cg
parents: 579
diff changeset
  3479
530
3ad16c28ff2b checkin from browser
cg
parents: 529
diff changeset
  3480
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
  3481
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3482
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3483
    ^ 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
  3484
        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
  3485
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3486
    "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
  3487
    "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
  3488
    "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
  3489
!
3ad16c28ff2b checkin from browser
cg
parents: 529
diff changeset
  3490
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3491
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
  3492
    ^ self throwClassFormatError: 'Invalid class format'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3493
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3494
    "Created: / 04-01-1998 / 22:26:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3495
    "Modified: / 10-11-1998 / 13:20:31 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3496
    "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
  3497
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3498
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3499
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
  3500
    ^ 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
  3501
        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
  3502
        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
  3503
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
    "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
  3505
    "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
  3506
    "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
  3507
!
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
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3509
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
  3510
    ^ 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
  3511
	throwExceptionClassName:'java.lang.ClassNotFoundException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3512
	withMessage:'no such class'
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3513
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3514
    "Created: / 4.1.1998 / 22:25:26 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3515
    "Modified: / 7.1.1998 / 15:25:35 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3516
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3517
2353
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
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
  3519
    ^ 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
  3520
        withMessage: 'no such class: ' , className
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3521
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3522
    "Created: / 4.1.1998 / 22:26:09 / cg"
429
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  3523
    "Modified: / 10.11.1998 / 13:20:31 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3524
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3525
2908
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3526
throwCloneNotSupportedException
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3527
    ^ self throwCloneNotSupportedException: 'clone() not supported (object does not implement java.lang.Cloneable)'
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3528
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3529
    "Created: / 08-11-2013 / 22:38:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3530
!
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3531
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3532
throwCloneNotSupportedException: message
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3533
    ^ self
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3534
        throwExceptionClassName:'java.lang.CloneNotSupportedException'
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3535
        withMessage: message
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3536
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3537
    "Created: / 08-11-2013 / 22:39:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3538
!
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3539
2353
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
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
  3541
    ^ 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
  3542
        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
  3543
        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
  3544
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
    "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
  3546
!
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
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3548
throwDivisionByZeroException
582
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3549
    DivisionByZeroExceptionDebug == true ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3550
	self halt:'division by zero'.
582
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3551
    ].
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3552
    ^ self
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3553
	throwExceptionClassName:'java.lang.ArithmeticException'
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3554
	withMessage:'division by zero'
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3555
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3556
    "Created: / 8.1.1999 / 14:28:15 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3557
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3558
2353
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
throwException: aJavaException
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3560
    <resource: #skipInDebuggersWalkBack>
3968
a2f749d76588 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 3963
diff changeset
  3561
a2f749d76588 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 3963
diff changeset
  3562
    |con jMsg msg exClass srchCon handlerContext handlerPC method pc hPC handler tmpMessage|
a2f749d76588 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 3963
diff changeset
  3563
2353
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
    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
  3565
        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
  3566
        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
  3567
            tmpMessage := Java as_ST_String: tmpMessage
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3568
        ].
2353
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
        Logger
2925
a77c05c8cd68 Fix in JavaVM for exception debugging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2921
diff changeset
  3570
            log: 'JAVA: exception: ' , aJavaException class 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
  3571
                    , tmpMessage , ')'
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  3572
            severity: Logger severityDEBUG
2353
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
            facility: 'JVM'
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3574
    ].
2353
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
    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
  3576
        "/        self internalError:('JAVA: exception: ' , aJavaException class fullName).
3506
bb380fa2d40f #REFACTORING
Stefan Vogel <sv@exept.de>
parents: 3431
diff changeset
  3577
        (ExceptionDebugPatterns isEmptyOrNil
3968
a2f749d76588 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 3963
diff changeset
  3578
        or: [
a2f749d76588 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 3963
diff changeset
  3579
            ExceptionDebugPatterns
a2f749d76588 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 3963
diff changeset
  3580
                anySatisfy: [:pattern | pattern match: aJavaException class binaryName ]
a2f749d76588 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 3963
diff changeset
  3581
        ]) ifTrue: [
a2f749d76588 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 3963
diff changeset
  3582
            ObjectMemory debugBreakPoint3.
a2f749d76588 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 3963
diff changeset
  3583
            self halt: ('JAVA: exceptionDebug: ' , aJavaException class binaryName )
a2f749d76588 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 3963
diff changeset
  3584
        ]
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3585
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3586
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3587
    "/
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3588
    "/ search stack for a javaContext which handles that exception
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3589
    "/
2587
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3590
    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
  3591
    [ 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
  3592
        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
  3593
        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
  3594
            (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
  3595
                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
  3596
                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
  3597
                    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
  3598
                ].
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3599
                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
  3600
                (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
  3601
                    handlerPC := hPC.
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3602
                    handlerContext := srchCon
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3603
                ].
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3604
            ] ifFalse:[
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3605
                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
  3606
                    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
  3607
                        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
  3608
                    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
  3609
                        "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
  3610
                        handlerContext := srchCon.
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3611
                    ]
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3612
                ].
2353
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
            ].
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3614
        ].
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3615
    ].
2353
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
    handlerContext isNil ifTrue: [
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3617
        "/
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3618
        "/ no JavaHandler ... let smalltalk handle it
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3619
        "/
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3620
        exClass := aJavaException class.
3968
a2f749d76588 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 3963
diff changeset
  3621
        msg := 'Java ' , exClass binaryName.
a2f749d76588 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 3963
diff changeset
  3622
3121
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  3623
        (exClass binaryName == #'java/lang/ThreadDeath') ifTrue: [
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  3624
            JavaUnhandledThreadDeathError
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  3625
                raiseWith: aJavaException
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  3626
                errorString: msg
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  3627
                in: thisContext sender.
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  3628
            ^ 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
  3629
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3630
        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
  3631
        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
  3632
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3633
        "/ for our convenience: skip ST contexts
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3634
        "/ (i.e. the handler or debugger will see the javaContext first )
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3635
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3636
        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
  3637
        [ 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
  3638
        con isNil ifTrue: [ con := thisContext sender ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3639
        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
  3640
            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
  3641
            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
  3642
            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
  3643
    ] 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
  3644
        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
  3645
            "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3646
            "/ 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
  3647
            "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3648
            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
  3649
            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
  3650
            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
  3651
            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
  3652
            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
  3653
        ] 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
  3654
            | 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
  3655
            "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3656
            "/ 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
  3657
            "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3658
            "/ 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
  3659
            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
  3660
            "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
  3661
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3662
            "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
  3663
            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
  3664
            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
  3665
            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
  3666
            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
  3667
            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
  3668
        ].
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  3669
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3670
    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
  3671
    Processor activeProcess == JavaEventQueueThread ifTrue: [ self halt ].
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  3672
    Processor activeProcess terminate.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3673
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3674
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3675
     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
  3676
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3677
    "Created: / 07-01-1998 / 15:28:22 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3678
    "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
  3679
    "Modified: / 01-12-2011 / 18:32:58 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  3680
    "Modified: / 02-03-2015 / 13:56: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
  3681
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3682
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3683
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
  3684
    | 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
  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
    exClass := self classForName: aJavaExceptionClassName asSlashedJavaClassName definedBy: nil.
3667
418ea879b40a #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 3656
diff changeset
  3687
    exClass isNil ifTrue:[
418ea879b40a #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 3656
diff changeset
  3688
        self error:'Missing Java Exception Class: ', aJavaExceptionClassName.
418ea879b40a #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 3656
diff changeset
  3689
    ].
2353
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
    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
  3691
    ^ 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
  3692
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3693
    "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
  3694
    "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
  3695
    "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
  3696
    "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
  3697
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3698
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3699
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
  3700
    | 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
  3701
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
    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
  3703
    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
  3704
    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
  3705
    ^ 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
  3706
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3707
    "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
  3708
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3709
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
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
  3711
    "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
  3712
     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
  3713
     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
  3714
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3715
    |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
  3716
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3717
    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
  3718
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
    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
  3720
    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
  3721
    returnContext := thisContext sender sender sender.
2843
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3722
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3723
    (returnContext receiver class == JavaContext finallyTokenClass and:[returnContext selector == #pass ]) ifTrue:[
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3724
        token := returnContext 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
  3725
    ] ifFalse:[
2843
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3726
    token := JavaContext finallyTokenClass new.
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3727
        returnContext selector == #return: 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
  3728
            token
2843
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3729
                context: (returnContext at: 2); "/ context which should return, see GenericException>>return:
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3730
                selector: #return:;
2353
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
                exception: returnContext receiver;
2843
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3732
                value: (returnContext argAt:1).
2353
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
        ] ifFalse:[
2843
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3734
            returnContext selector == #return ifTrue:[
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3735
                token
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3736
                    context: (returnContext at: 1); "/ context which should return, see GenericException>>return
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3737
                    selector: #return;
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3738
                    exception: returnContext receiver;
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3739
                    value: (returnContext at: 2).  "/ value which should be returned, see GenericException>>return
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3740
            ] ifFalse:[
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3741
                self error:'Unhandled case, inform libjava developers (JV in particular)' .
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3742
            ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3743
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3744
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3745
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3746
    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
  3747
    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
  3748
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
    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
  3750
    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
  3751
    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
  3752
    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
  3753
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3754
    self 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
  3755
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3756
    "Created: / 03-04-2012 / 16:56:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2843
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3757
    "Modified: / 10-10-2013 / 10:03:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3758
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3759
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3760
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
  3761
    ^ 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
  3762
        throwExceptionClassName:'java.lang.ExceptionInInitializerError'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3763
        withMessage:'error when initializing class: ' , className
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3764
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3765
    "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
  3766
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3767
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3768
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
  3769
    ^ 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
  3770
        throwExceptionClassName:'java.io.FileNotFoundException'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3771
        withMessage: message
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3772
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3773
    "Created: / 04-01-1998 / 22:26:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3774
    "Modified: / 10-11-1998 / 13:20:31 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3775
    "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
  3776
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3777
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3778
throwIOExceptionWithMessage:message
584
9e346fcad5d9 oops - kept interrupts blocked sometimes
cg
parents: 582
diff changeset
  3779
    IOExceptionDebug == true ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3780
	self halt:'IO Exception'.
584
9e346fcad5d9 oops - kept interrupts blocked sometimes
cg
parents: 582
diff changeset
  3781
    ].
2353
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
    ^ 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
  3783
	throwExceptionClassName:'java.io.IOException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3784
	withMessage:message
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3785
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3786
    "Created: / 7.1.1998 / 10:34:24 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3787
    "Modified: / 7.1.1998 / 15:26:25 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3788
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3789
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3790
throwIllegalAccessError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3791
    ^ self throwExceptionClassName: 'java.lang.IllegalAccessError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3792
        withMessage: 'illegal access'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3793
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3794
    "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
  3795
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3796
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3797
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
  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.IllegalAccessException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3800
	withMessage:'illegal access'
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3801
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3802
    "Modified: / 7.1.1998 / 15:25:35 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3803
    "Created: / 14.1.1998 / 23:13:44 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3804
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3805
2353
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
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
  3807
    ^ 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
  3808
        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
  3809
        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
  3810
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3811
    "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
  3812
    "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
  3813
    "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
  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
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
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
  3817
    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
  3818
            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
  3819
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3820
    "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
  3821
!
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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3823
throwIncompatibleClassChangeError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3824
        ^ self throwExceptionClassName: 'java.lang.IncompatibleClassChangeError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3825
                withMessage: 'illegal change'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3826
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3827
    "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
  3828
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3829
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3830
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
  3831
    ^ 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
  3832
	throwExceptionClassName:'java.lang.InstantiationException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3833
	withMessage:'cannot instantiate'
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3834
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3835
    "Modified: / 7.1.1998 / 15:25:35 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3836
    "Created: / 14.1.1998 / 23:15:01 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3837
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3838
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3839
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
  3840
    ^ 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
  3841
        throwExceptionClassName:'java.lang.InstantiationException'
691
8dcc24aeaa95 *** empty log message ***
cg
parents: 682
diff changeset
  3842
        withMessage:('cannot instantiate: ' , aJavaClass javaName)
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3843
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3844
    "Modified: / 7.1.1998 / 15:25:35 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3845
    "Created: / 14.1.1998 / 23:17:02 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3846
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3847
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3848
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
  3849
    ^ 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
  3850
        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
  3851
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3852
    "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
  3853
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3854
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  3855
throwInterruptedIOException: message
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  3856
    ^ self throwExceptionClassName: 'java.io.InterruptedIOException' withMessage:message
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  3857
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  3858
    "Created: / 15-08-2013 / 21:36:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  3859
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  3860
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3861
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
  3862
    | 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
  3863
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
    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
  3865
    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
  3866
    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
  3867
    ^ 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
  3868
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
    "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
  3870
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3871
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3872
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
  3873
    ^ 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
  3874
        throwExceptionClassName:'java.lang.LinkageError'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3875
        withMessage: message
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3876
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3877
    "Modified: / 10-11-1998 / 13:20:31 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3878
    "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
  3879
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3880
2353
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
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
  3882
    ^ 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
  3883
        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
  3884
        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
  3885
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3886
    "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
  3887
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3888
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3889
throwNoSuchFieldException
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3890
  ^ self throwExceptionClassName: 'java.lang.NoSuchFieldError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3891
        withMessage: 'looking up a field failed'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3892
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3893
    "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
  3894
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3895
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3896
throwNoSuchMethodError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3897
      ^ self throwExceptionClassName: 'java.lang.NoSuchMethodError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3898
              withMessage: 'looking up a method failed'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3899
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3900
    "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
  3901
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3902
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3903
throwNullPointerException
2515
bcfe9f4dca6b Improvements in JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2457
diff changeset
  3904
    self throwNullPointerException:'null pointer'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3905
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3906
    "Created: / 09-01-1998 / 02:26:08 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3907
    "Modified: / 28-01-1998 / 02:30:09 / cg"
2515
bcfe9f4dca6b Improvements in JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2457
diff changeset
  3908
    "Modified: / 15-04-2013 / 21:18:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3909
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3910
2353
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
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
  3912
    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
  3913
        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
  3914
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3915
    ^ 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
  3916
        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
  3917
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
    "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
  3919
    "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
  3920
    "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
  3921
    "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
  3922
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3923
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3924
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
  3925
    ^ 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
  3926
	throwExceptionClassName:'java.lang.NumberFormatException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3927
	withMessage:'bad number format'
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3928
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3929
    "Modified: / 7.1.1998 / 15:25:35 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3930
    "Created: / 11.1.1998 / 16:08:22 / cg"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3931
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3932
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3933
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
  3934
    ^ 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
  3935
        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
  3936
        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
  3937
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3938
    "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
  3939
    "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
  3940
    "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
  3941
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3942
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3943
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
  3944
    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
  3945
        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
  3946
        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
  3947
            ^ 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
  3948
                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
  3949
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3950
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3951
    "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
  3952
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3953
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
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
  3955
    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
  3956
        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
  3957
            ^ 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
  3958
                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
  3959
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3960
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3961
    "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
  3962
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3963
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3964
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
  3965
    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
  3966
        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
  3967
            ^ 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
  3968
                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
  3969
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3970
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3971
    "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
  3972
    "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
  3973
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3974
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3975
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
  3976
    ^ self throwZipException:'error in opening zip file'.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3977
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3978
    "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
  3979
    "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
  3980
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3981
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3982
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
  3983
    ^ 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
  3984
           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
  3985
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
    "Created: / 20-07-2012 / 19:15:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3987
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3988
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3989
!JavaVM class methodsFor:'helpers - io'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3990
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3991
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
  3992
    "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
  3993
     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
  3994
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3995
    | 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
  3996
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
    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
  3998
    [ 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
  3999
        (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
  4000
            "Worst case, try to cleanup"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4001
            Logger log: 'maximum number of open files reached, forcing finalization...' severity: Logger severityWARN facility: #JVM.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4002
            [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4003
                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
  4004
                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
  4005
                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
  4006
                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
  4007
                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
  4008
            ] 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
  4009
                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
  4010
            ].
2353
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
        ] 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
  4012
            ex pass.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4013
        ].
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  4014
    ].
2353
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
    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
  4016
        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
  4017
        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
  4018
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4019
    ^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
  4020
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
    "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
  4022
    "Modified: / 14-08-2012 / 02:25:06 / jv"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4023
    "Modified: / 02-03-2015 / 14:00:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4024
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4025
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4026
!JavaVM class methodsFor:'helpers - reflection'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4027
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4028
classForJavaClassObject:aJavaClassObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4029
    "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
  4030
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4031
    ^ self reflection classForJavaClassObject:aJavaClassObject
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4032
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4033
    "Created: / 23-01-1998 / 17:44:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4034
    "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
  4035
    "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
  4036
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4037
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4038
javaClassObjectForClass: aClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4039
    "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
  4040
     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
  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
"/    | 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
  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
"/    "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
  4045
"/    (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
  4046
"/        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
  4047
"/    ] 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
  4048
    ^ self reflection javaClassObjectForClass: aClass.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4049
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4050
    "Created: / 23-01-1998 / 17:43:38 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4051
    "Modified: / 05-12-1998 / 15:29:32 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4052
    "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
  4053
    "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
  4054
    "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
  4055
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4056
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4057
javaConstructorObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4058
    "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
  4059
     instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4060
    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
  4061
    ^ self reflection javaConstructorObjectForMethod: method.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4062
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4063
    "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
  4064
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4065
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4066
javaFieldObjectForField:aJavaField in:aJavaLangClass 
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4067
    "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
  4068
     instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4069
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4070
        See OpenJDK7 source:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4071
        jdk7/hotspot/src/share/vm/runtime/reflection.cpp,
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4072
        oop Reflection::new_field"
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4073
    
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4074
    | field  clazz  nm  slot  type  modifiers |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4075
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4076
    clazz := aJavaLangClass.
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4077
    nm := self reflection javaStringObjectForString:aJavaField name
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4078
            interned:true.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4079
    slot := aJavaField index.
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4080
    type := self javaClassObjectForClass:aJavaField typeClass.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4081
    modifiers := aJavaField accessFlags.
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4082
    field := (self classForName:'java.lang.reflect.Field') new.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4083
    field
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4084
        instVarNamed:#clazz put:clazz;
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4085
        instVarNamed:#name put:nm;
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4086
        instVarNamed:#slot put:slot;
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4087
        instVarNamed:#type put:type;
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4088
        instVarNamed:#modifiers put:modifiers;
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4089
        yourself.
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4090
    aJavaField annotations notNil ifTrue:[
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4091
        field instVarNamed:#annotations
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4092
            put:aJavaField annotations runtimeVisible rawAnnotations
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4093
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4094
    ^ field.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4095
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4096
    "Modified: / 05-12-1998 / 15:29:32 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4097
    "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
  4098
    "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
  4099
    "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
  4100
    "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
  4101
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4102
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4103
javaMethodObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4104
    "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
  4105
     instance for it."
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
    ^ self reflection javaMethodObjectForMethod:method.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4108
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4109
    "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
  4110
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4111
2353
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
methodForJavaConstructorObject:constructor
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4113
    "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
  4114
     it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4115
    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
  4116
    ^ self reflection methodForJavaConstructorObject: constructor.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4117
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4118
    "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
  4119
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4120
2353
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
methodForJavaMethodObject:aJavaMethodObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4122
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4123
        Given an instance of java.lang.reflect.Method, answers
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4124
        real method associated with it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4125
   ^ self reflection methodForJavaMethodObject:aJavaMethodObject.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4126
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4127
    "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
  4128
    "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
  4129
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4130
2353
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
!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
  4132
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
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
  4134
    | 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
  4135
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4136
    "/    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
  4137
    "/                   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
  4138
    "/    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
  4139
    "/        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
  4140
    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
  4141
    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
  4142
        LockTable at:someObject put:(mon := JavaMonitor for:someObject)
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4143
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4144
2353
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
"/        ].
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
    ^ 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
  4148
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
    "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
  4150
    "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
  4151
    "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
  4152
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4153
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4154
monitorEnter:someObject in:aJavaContext
2955
55692310d4e6 Fix in JavaVM>>monitorEnter:in: inflate thinlock using #getMonitor.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2945
diff changeset
  4155
    | thisProcess  wasBlocked |
2353
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
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4157
    "/ 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
  4158
    "/ JavaMethods (they are smalltalk trampolines) and thus their
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4159
    "/ activation does not create Java context
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4160
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4161
    "/ 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
  4162
    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
  4163
        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
  4164
        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
  4165
        ^ self
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4166
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4167
    thisProcess := 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
  4168
    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
  4169
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4170
            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
  4171
                    bindWith:(self monitorFriendlyPrintStringOf:someObject)
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4172
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4173
                    with: thisProcess id)
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4174
            severity:Logger severityTRACE
2353
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
            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
  4176
    ].
3963
f96bd18869e8 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 3916
diff changeset
  4177
2353
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
    wasBlocked := OperatingSystem blockInterrupts.
2955
55692310d4e6 Fix in JavaVM>>monitorEnter:in: inflate thinlock using #getMonitor.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2945
diff changeset
  4179
    "/ Ensure any eventual thinlock is inflated here...
55692310d4e6 Fix in JavaVM>>monitorEnter:in: inflate thinlock using #getMonitor.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2945
diff changeset
  4180
    someObject getJavaMonitor.
2353
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
    "/ 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
  4182
    self enterMonitor:someObject ofProcess:thisProcess.
3963
f96bd18869e8 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 3916
diff changeset
  4183
    "/ aJavaContext notNil ifTrue:[aJavaContext addMonitor:someObject].
2353
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
    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
  4186
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4187
    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
  4188
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4189
            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
  4190
                    bindWith:(self monitorFriendlyPrintStringOf:someObject)
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4191
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4192
                    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
  4193
            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
  4194
            facility:#JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4195
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4196
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4197
    "Created: / 08-11-2011 / 15:15:43 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4198
    "Modified: / 02-03-2015 / 13:59:01 / 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
  4199
!
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
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
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
  4202
    | 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
  4203
"/    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
  4204
    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
  4205
        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
  4206
        self breakPoint: #mh.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4207
        ^ self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4208
    ].
2353
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
    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
  4210
    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
  4211
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4212
            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
  4213
                    bindWith: (self monitorFriendlyPrintStringOf: someObject)
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4214
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4215
                    with: thisProcess id)
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4216
            severity: Logger severityTRACE
2353
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
            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
  4218
    ].
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
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
    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
  4221
    self leaveMonitor: someObject ofProcess: thisProcess.
3963
f96bd18869e8 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 3916
diff changeset
  4222
    "/ aJavaContext notNil ifTrue:[aJavaContext removeMonitor: someObject].
2353
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
    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
  4224
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
    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
  4226
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4227
            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
  4228
                    bindWith: (self monitorFriendlyPrintStringOf: someObject)
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4229
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4230
                    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
  4231
            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
  4232
            facility: #JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4233
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4234
2353
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
    "Created: / 08-11-2011 / 15:17:03 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4236
    "Modified: / 02-03-2015 / 13:58:48 / 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
  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
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
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
  4240
    | 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
  4241
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
    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
  4243
    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
  4244
    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
  4245
    (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
  4246
        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
  4247
        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
  4248
            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
  4249
        ^self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4250
    ].
2353
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 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
  4252
    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
  4253
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4254
    "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
  4255
    "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
  4256
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4257
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
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
  4259
    | 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
  4260
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4261
    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
  4262
    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
  4263
    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
  4264
    (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
  4265
        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
  4266
        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
  4267
            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
  4268
        ^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
  4269
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4270
    ].
2353
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
    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
  4272
    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
  4273
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
    "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
  4275
    "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
  4276
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4277
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
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
  4279
    "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
  4280
     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
  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
    | 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
  4283
    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
  4284
        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
  4285
            log: ('UNWIND HANDLER: force-leaving ',aJavaContext acquiredMonitors size printString,'monitors acquired by: ' , aJavaContext printString )
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4286
            severity: Logger severityDEBUG
2353
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
            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
  4288
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4289
    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
  4290
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4291
    wasBlocked := OperatingSystem blockInterrupts.
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4292
    "/self assert: aJavaContext method isSynchronized.
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4293
    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
  4294
    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
  4295
        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
  4296
    ] 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
  4297
        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
  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
%{
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
    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
  4301
      __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
  4302
    }
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4303
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4304
    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
  4305
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4306
    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
  4307
        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
  4308
            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
  4309
            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
  4310
            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
  4311
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4312
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4313
    "Created: / 05-04-2012 / 11:35:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4314
    "Modified: / 02-03-2015 / 13:57:34 / 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
  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
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
  4318
    "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
  4319
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
    | 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
  4321
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4322
    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
  4323
    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
  4324
        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
  4325
        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
  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
    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
  4328
    (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
  4329
    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
  4330
        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
  4331
        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
  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
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
    "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
  4335
    "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
  4336
    "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
  4337
    "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
  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
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
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
  4341
    "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
  4342
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
    | wasBlocked  thisProcess  mon |
3963
f96bd18869e8 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 3916
diff changeset
  4344
2353
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
    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
  4346
    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
  4347
        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
  4348
        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
  4349
            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
  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
    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
  4352
    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
  4353
    (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
  4354
        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
  4355
        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
  4356
        ^self.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4357
    ].
2353
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
    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
  4359
    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
  4360
    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
  4361
    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
  4362
        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
  4363
        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
  4364
            throwInterruptedException: 'process was interrupted before/during wait !!?'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4365
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4366
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4367
    "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
  4368
    "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
  4369
    "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
  4370
    "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
  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
!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
  4374
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4375
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
  4376
    "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
  4377
     *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
  4378
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
    | 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
  4380
    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
  4381
    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
  4382
    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
  4383
        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
  4384
            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
  4385
                    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
  4386
                    with: aProcess name)
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4387
            severity: Logger severityDEBUG
2353
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
            facility: #JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4389
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4390
    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
  4391
    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
  4392
"/    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
  4393
"/    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
  4394
"/    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
  4395
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
    "Created: / 17-11-2011 / 19:01:58 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4397
    "Modified: / 02-03-2015 / 13:56:18 / 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
  4398
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4399
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
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
  4401
    | 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
  4402
    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
  4403
    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
  4404
    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
  4405
    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
  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
    "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
  4408
    "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
  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
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
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
  4412
    "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
  4413
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
    | 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
  4415
    (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
  4416
        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
  4417
        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
  4418
        enteredMonitors do: [:each | self acquireMonitor: each ofProcess: aProcess. ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4419
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4420
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4421
    "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
  4422
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4424
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
  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
    ^ (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
  4427
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
    "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
  4429
    "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
  4430
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4431
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4432
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
  4433
"/    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
  4434
    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
  4435
        self assert: ((self acquiredMonitorsOfProcess: aProcess) last first == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4436
    ] 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
  4437
        self assert: ((self acquiredMonitorsOfProcess: aProcess) last == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4438
    ].
2353
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
    (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
  4440
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
    "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
  4442
    "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
  4443
    "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
  4444
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4445
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4446
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
  4447
    ^ 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
  4448
        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
  4449
            | 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
  4450
            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
  4451
            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
  4452
            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
  4453
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4454
            .
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
    "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
  4457
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4458
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4459
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
  4460
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4461
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4462
    ^ 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
  4463
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4464
    "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
  4465
    "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
  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
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
  4469
    "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
  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
    ^ (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
  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
    "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
  4474
    "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
  4475
!
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
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
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
  4478
    "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
  4479
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
    ^ (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
  4481
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
    "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
  4483
    "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
  4484
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4485
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4486
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
  4487
    | 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
  4488
    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
  4489
    ^ 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
  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
    "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
  4492
!
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
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
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
  4495
    | 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
  4496
    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
  4497
    ^ 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
  4498
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
    "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
  4500
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4501
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
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
  4503
    "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
  4504
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
    | 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
  4506
    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
  4507
        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
  4508
        objInLists := { obj . MonitorTraceId }
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4509
    ] 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
  4510
        objInLists := obj
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4511
    ].
2353
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
"/    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
  4513
    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
  4514
    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
  4515
    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
  4516
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
        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
  4518
            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
  4519
                    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
  4520
                    with: aProcess id
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4521
                    with: '???' "MonitorTraceId")
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4522
            severity: Logger severityTRACE
2353
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
            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
  4524
            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
  4525
            "/attachment: thisContext fullPrintAllString
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4526
    ].
2353
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
    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
  4528
    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
  4529
"/    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
  4530
"/    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
  4531
"/    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
  4532
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
    "Created: / 17-11-2011 / 19:03:43 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4534
    "Modified: / 02-03-2015 / 14:00: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
  4535
!
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
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
  4538
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
    ^ (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
  4540
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4541
    "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
  4542
    "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
  4543
    "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
  4544
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4545
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4546
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
  4547
"/    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
  4548
"/    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
  4549
    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
  4550
        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
  4551
    ] 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
  4552
        self assert: ((self enteredMonitorsOfProcess: aProcess) last == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4553
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4554
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4555
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4556
    (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
  4557
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
    "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
  4559
    "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
  4560
    "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
  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
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
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
  4564
    ^ 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
  4565
        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
  4566
            | 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
  4567
            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
  4568
            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
  4569
            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
  4570
        ]
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
            .
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4572
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4573
    "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
  4574
    "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
  4575
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4576
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4577
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
  4578
    "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
  4579
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4580
    ^ 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
  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
    "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
  4583
    "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
  4584
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4585
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4586
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
  4587
   |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
  4588
   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
  4589
   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
  4590
   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
  4591
    each exit.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4592
    ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4593
2353
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
    "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
  4595
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4596
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4597
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
  4598
    ^ (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
  4599
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
    "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
  4601
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4602
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4603
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
  4604
   | 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
  4605
   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
  4606
   ^ 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
  4607
   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
  4608
           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
  4609
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4610
    "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
  4611
!
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
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
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
  4614
   | 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
  4615
   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
  4616
   ^ 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
  4617
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4618
    "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
  4619
!
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
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
  4622
     | 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
  4623
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4624
    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
  4625
    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
  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
    ^ 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
  4628
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
    "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
  4630
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4631
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4632
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
  4633
    "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
  4634
     *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
  4635
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
    | 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
  4637
    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
  4638
    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
  4639
    "/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
  4640
    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
  4641
        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
  4642
        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
  4643
                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
  4644
                with: aProcess name
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4645
                with: '???' "(self enteredMonitorsOfProcess: aProcess) last second")
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4646
        severity: Logger severityTRACE
2353
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
        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
  4648
        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
  4649
        "/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
  4650
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
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
    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
  4653
"/    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
  4654
"/    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
  4655
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4656
    "Created: / 17-11-2011 / 18:46:33 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4657
    "Modified: / 02-03-2015 / 13:59:30 / 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
  4658
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4659
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4660
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
  4661
    "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
  4662
     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
  4663
     (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
  4664
     *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
  4665
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4666
    | 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
  4667
    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
  4668
    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
  4669
        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
  4670
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
            | 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
  4672
            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
  4673
            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
  4674
                (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
  4675
                    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
  4676
                        log: ('leaving monitor owned by dying thread: ' , aProcess name)
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4677
                        severity: Logger severityDEBUG
2353
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
                        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
  4679
                    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
  4680
                    mon exit
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4681
                ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4682
            ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4683
        ].
2353
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
        EnteredMonitorsPerProcess removeKey: aProcess.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4685
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4686
2353
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
    "Created: / 17-11-2011 / 16:51:28 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4688
    "Modified: / 02-03-2015 / 13:59:14 / 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
  4689
!
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
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
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
  4692
    | 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
  4693
    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
  4694
    (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
  4695
        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
  4696
    ] 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
  4697
        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
  4698
            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
  4699
                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
  4700
                        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
  4701
                        with: (self monitorFriendlyPrintStringOf: someObject))
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4702
                severity: Logger severityDEBUG
2353
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
                facility: #JVM
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4704
        ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4705
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4706
2353
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
    "Created: / 17-11-2011 / 21:17:57 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4708
    "Modified: / 02-03-2015 / 13:58:26 / 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
  4709
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4710
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
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
  4712
    | 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
  4713
    someObject isJavaClass ifTrue: [ objString := someObject name ] ifFalse: [
2841
6fa1bcf9c997 JavaClass>>#name vs. #binaryName refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4714
        objString := someObject class 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
  4715
                    , someObject identityHash printString.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4716
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4717
    ^ objString
2841
6fa1bcf9c997 JavaClass>>#name vs. #binaryName refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4718
6fa1bcf9c997 JavaClass>>#name vs. #binaryName refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4719
    "Modified: / 08-10-2013 / 22:49:12 / 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
  4720
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4721
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4722
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
  4723
    "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
  4724
     *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
  4725
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4726
    | 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
  4727
    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
  4728
    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
  4729
    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
  4730
    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
  4731
        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
  4732
            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
  4733
                    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
  4734
                    with: aProcess name)
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4735
            severity: Logger severityDEBUG
2353
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
            facility: #JVM.
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4737
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4738
    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
  4739
    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
  4740
"/    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
  4741
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
    "Created: / 17-11-2011 / 18:51:00 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4743
    "Modified: / 02-03-2015 / 13:57:39 / 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
  4744
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4745
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
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
  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
    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
  4749
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4750
    "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
  4751
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4752
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4753
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
  4754
    "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
  4755
     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
  4756
     *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
  4757
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4758
    | 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
  4759
    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
  4760
    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
  4761
        monitors do: [:obj | self releaseMonitor: obj ofProcess: aProcess. ].
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4762
    ].
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4763
2353
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
    "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
  4765
    "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
  4766
    "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
  4767
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4768
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
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
  4770
    "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
  4771
     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
  4772
     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
  4773
     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
  4774
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4775
    ^ [
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
        | 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
  4777
        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
  4778
            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
  4779
        ].
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
        self releaseMonitorsOfUnwindingContext: aJavaContext.
544
18535acdec91 checkin from browser
cg
parents: 541
diff changeset
  4781
    ].
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4782
2353
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
    "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
  4784
    "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
  4785
    "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
  4786
! !
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4787
2353
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
!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
  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
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
  4791
    "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
  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
    | wasBlocked  thisProcess  releasedCount  acquiredCount |
3963
f96bd18869e8 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 3916
diff changeset
  4794
2353
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
    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
  4796
    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
  4797
    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
  4798
    (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
  4799
        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
  4800
            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
  4801
                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
  4802
                        , (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
  4803
                            , ' monitors'
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4804
                severity: Logger severityDEBUG
2353
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
                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
  4806
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4807
        self releaseMonitorsOfProcess: thisProcess.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4808
    ].
2353
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
    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
  4810
    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
  4811
    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
  4812
        (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
  4813
            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
  4814
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4815
    ].
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4817
    "/ 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
  4818
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4819
    (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
  4820
        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
  4821
        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
  4822
            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
  4823
                    , (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
  4824
                        , ' 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
  4825
            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
  4826
            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
  4827
        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
  4828
        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
  4829
        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
  4830
        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
  4831
    ].
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
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
    "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
  4834
    "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
  4835
    "Modified: / 20-11-2011 / 12:36:47 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4836
    "Modified: / 02-03-2015 / 14:11:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
  4837
! !
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
  4838
2353
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
!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
  4840
2914
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4841
_java_lang_Object_clone: this
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4842
    "Forward here as optimized code delegates to  JavaVM"
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4843
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4844
    ^ NativeMethodsImplementation _java_lang_Object_clone: this
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4845
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4846
    "Created: / 12-11-2013 / 01:09:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4847
!
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4848
2353
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
_java_lang_System_arraycopy: nativeContext
2914
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4850
    <resource: #obsolete>
2353
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
    "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
  4852
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  4853
    ^ NativeMethodsImplementation _java_lang_System_arraycopy: nativeContext receiver _:(nativeContext argAt:1) _: (nativeContext argAt:2) _: (nativeContext argAt:3) _: (nativeContext argAt:4) _: (nativeContext argAt:5)
2353
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
    "Modified: / 21-01-2013 / 09:18:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2914
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4856
!
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4857
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4858
_java_lang_System_arraycopy: this _:a1 _: a2 _: a3 _: a4 _: a5
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4859
    "Forward here as optimized code delegates to JavaVM"
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4860
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4861
    ^ NativeMethodsImplementation _java_lang_System_arraycopy: this _:a1 _: a2 _: a3 _: a4 _: a5
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4862
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4863
    "Created: / 12-11-2013 / 01:11:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4864
! !
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4865
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4866
!JavaVM class methodsFor:'queries'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4867
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4868
booted
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4869
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4870
    | jVM |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4871
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4872
    "/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
  4873
    ^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
  4874
        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
  4875
        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
  4876
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4877
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4878
"/    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
  4879
"/    ^ 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
  4880
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4881
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4882
     JavaVM booted"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4883
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4884
    "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
  4885
    "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
  4886
    "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
  4887
! !
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  4888
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4889
!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
  4890
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
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
  4892
    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
  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
    "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
  4895
!
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
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
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
  4898
    ^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
  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
    "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
  4901
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4902
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4903
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
  4904
    "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
  4905
3963
f96bd18869e8 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 3916
diff changeset
  4906
    | wasBlocked sema |
f96bd18869e8 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 3916
diff changeset
  4907
f96bd18869e8 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 3916
diff changeset
  4908
    wasBlocked := OperatingSystem blockInterrupts.
2928
08a14f3553a2 Fix in JavaVM>>#unpark: (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2925
diff changeset
  4909
    ParkUnparkSemaphores isNil ifTrue:[ ParkUnparkSemaphores := 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
  4910
    sema := ParkUnparkSemaphores at: process ifAbsentPut:[Semaphore new].
3963
f96bd18869e8 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 3916
diff changeset
  4911
    wasBlocked ifFalse:[ OperatingSystem unblockInterrupts ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4912
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4913
    Logger log: 'parking thread ', process printString severity: Logger severityDEBUG facility: #JVM.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4914
    sema parkWithTimeoutMs: tout.
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4915
    Logger log: 'parked thread ', process printString , ' resumed' severity: Logger severityDEBUG facility: #JVM.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4916
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4917
    "Created: / 16-08-2012 / 21:51:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4918
    "Modified: / 02-03-2015 / 13:58: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
  4919
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4920
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4921
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
  4922
    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
  4923
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4924
    "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
  4925
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4926
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
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
  4928
    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
  4929
    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
  4930
    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
  4931
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
    "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
  4933
    "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
  4934
!
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
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
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
  4937
    "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
  4938
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4939
    | 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
  4940
    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
  4941
    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
  4942
    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
  4943
                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
  4944
    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
  4945
    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
  4946
    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
  4947
    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
  4948
        nm := jName
520
64e7e53cdfac checkin from browser
cg
parents: 519
diff changeset
  4949
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4950
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4951
    "/ 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
  4952
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
    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
  4954
        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
  4955
            (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
  4956
                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
  4957
            ].
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
        ]
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  4959
    ].
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  4960
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4961
    "/ 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
  4962
    "/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
  4963
    "/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
  4964
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4965
    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
  4966
        addExitAction: [
2850
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4967
            MonitorTrace ifTrue:[
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4968
                Logger
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4969
                    log: ('%1 is going to die, notifying all waiters and disabling waiting on its monitor'
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4970
                            bindWith: jThread printString)
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4971
                    severity: Logger severityDEBUG
2850
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4972
                    facility: #JVM.
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4973
            ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4974
            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
  4975
            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
  4976
            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
  4977
            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
  4978
                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
  4979
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4980
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4981
    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
  4982
    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
  4983
    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
  4984
    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
  4985
    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
  4986
    ^ 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
  4987
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4988
    "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
  4989
    "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
  4990
    "Modified: / 09-12-2011 / 12:58:31 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4991
    "Modified: / 02-03-2015 / 13:57:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4992
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4993
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4994
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
  4995
    "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
  4996
3963
f96bd18869e8 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 3916
diff changeset
  4997
    | wasBlocked sema |
f96bd18869e8 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 3916
diff changeset
  4998
f96bd18869e8 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 3916
diff changeset
  4999
    wasBlocked := OperatingSystem blockInterrupts.
2928
08a14f3553a2 Fix in JavaVM>>#unpark: (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2925
diff changeset
  5000
    ParkUnparkSemaphores isNil ifTrue:[ ParkUnparkSemaphores := 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
  5001
    sema := ParkUnparkSemaphores at: process ifAbsentPut:[Semaphore new].
3963
f96bd18869e8 #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 3916
diff changeset
  5002
    wasBlocked ifFalse:[ OperatingSystem unblockInterrupts ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5003
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  5004
    Logger log: 'unparking thread ', process printString severity: Logger severityDEBUG facility: #JVM.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5005
    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
  5006
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5007
    "Created: / 16-08-2012 / 21:52:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  5008
    "Modified: / 02-03-2015 / 13:56:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  5009
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  5010
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  5011
!JavaVM class methodsFor:'vm support'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  5012
3070
3f6f3b935c17 Fixed unimplemented native java.lang.reflect.Array.get()
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3066
diff changeset
  5013
_AALOAD: arr _: idx
2568
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  5014
    "Called from the VM (___aaload()) for unhandled cases"
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  5015
3070
3f6f3b935c17 Fixed unimplemented native java.lang.reflect.Array.get()
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3066
diff changeset
  5016
    (idx between: 0 and: arr size - 1) ifFalse:[ 
3f6f3b935c17 Fixed unimplemented native java.lang.reflect.Array.get()
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3066
diff changeset
  5017
        ^ JavaVM throwArrayIndexOutOfBoundsException: arr _: idx. 
3f6f3b935c17 Fixed unimplemented native java.lang.reflect.Array.get()
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3066
diff changeset
  5018
    ].
3f6f3b935c17 Fixed unimplemented native java.lang.reflect.Array.get()
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3066
diff changeset
  5019
    arr basicAt: idx + 1
2568
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  5020
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  5021
    "Created: / 29-04-2013 / 21:22:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3070
3f6f3b935c17 Fixed unimplemented native java.lang.reflect.Array.get()
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3066
diff changeset
  5022
    "Modified: / 10-04-2014 / 09:59:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2568
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  5023
!
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  5024
2567
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5025
_AASTORE: arr _: val _: index
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5026
    "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
  5027
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5028
     (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
  5029
        (self canCast: val class to: arr class javaComponentClass) ifFalse: [
3114
ba69147aea97 Better error message for VM-thrown ArrayStoreException.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3112
diff changeset
  5030
            self throwArrayStoreException: ('Incompatible types: try to store %1 in %2' bindWith: val class javaName with: arr class javaName).
2567
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5031
            ^ nil "Not reached"
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5032
        ].
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5033
    ].
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5034
    arr basicAt: index + 1 put: val
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5035
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5036
    "Created: / 29-04-2013 / 21:22:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3114
ba69147aea97 Better error message for VM-thrown ArrayStoreException.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3112
diff changeset
  5037
    "Modified: / 02-06-2014 / 14:17:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2567
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5038
!
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5039
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5040
_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
  5041
    "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
  5042
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5043
    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
  5044
    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
  5045
        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
  5046
                         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
  5047
        ^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
  5048
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5049
    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
  5050
    ^ cls javaArrayClass new:size
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5051
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5052
    "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
  5053
    "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
  5054
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5055
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5056
_ANEWARRAY_R:classRef _:size
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5057
    "Returns a new array of elements of type referenced by classRef.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5058
     Sent from jitted code when classRef is not resolved during jit-compilation"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5059
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5060
    ^ self _ANEWARRAY: classRef resolve _: size
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5061
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5062
    "Created: / 16-01-2014 / 22:26:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5063
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5064
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5065
_ARRAYLENGTH:arr
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  5066
    arr isNil ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5067
        "/self halt:'should not happen'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5068
        self throwNullPointerException.
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  5069
    ].
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5070
    ^ arr size
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5071
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5072
    "Created: / 08-01-1999 / 14:38:27 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5073
    "Modified: / 31-05-2011 / 10:09:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5074
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5075
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5076
_ATHROW:aJavaException
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5077
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5078
    <resource: #skipInDebuggersWalkBack>
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5079
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5080
    | message |
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5081
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  5082
    aJavaException isNil ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5083
        self halt:'cannot happen'
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  5084
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5085
    "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
  5086
     being unwound, then all intermediate Java finally blocks are executed.
2841
6fa1bcf9c997 JavaClass>>#name vs. #binaryName refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  5087
     This is done by fake-throwing special FinallyToken, as there must be an
2353
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
     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
  5089
     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
  5090
     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
  5091
     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
  5092
    aJavaException class == JavaContext finallyTokenClass ifTrue:[
2843
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5093
        | sender |
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5094
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5095
        "/ First, if the method is synchronized, leave its monitor
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5096
        sender := thisContext sender.
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5097
        sender method isSynchronized ifTrue:[
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5098
            self releaseMonitorsOfUnwindingContext: thisContext sender.
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5099
        ].
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5100
        "/ Proceed to unwind or exception handler.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5101
        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
  5102
        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
  5103
    ].
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5104
    "Another kludge: ECJ compiler throws java.lang.Error in case
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5105
     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
  5106
     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
  5107
     to JavaUnresolvedCompilationError"
2868
90724c4fa7f8 Fix to recompile erroneous classes upon reload.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2851
diff changeset
  5108
    aJavaException class binaryName == #'stx/libjava/tools/compiler/CompileError' ifTrue:[
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5109
        message := aJavaException getMessage.
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5110
        (message startsWith: 'Unresolved compilation problem:') ifTrue:[
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5111
            JavaUnresolvedCompilationError newException
3916
f119b43d9ae4 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3898
diff changeset
  5112
                messageText: (message copyFrom: 'Unresolved compilation problem:' size + 1) withoutSeparators;
2527
c380a7c258fb Makes JavaUnresolvedCompilationError proceedable.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2526
diff changeset
  5113
                proceedable: true;
c380a7c258fb Makes JavaUnresolvedCompilationError proceedable.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2526
diff changeset
  5114
                raiseSignal.
c380a7c258fb Makes JavaUnresolvedCompilationError proceedable.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2526
diff changeset
  5115
            ^thisContext sender return
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5116
        ]
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5117
    ].
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5118
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5119
    self throwException:aJavaException
519
0df8dbbb5a7a checkin from browser
cg
parents: 518
diff changeset
  5120
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5121
    "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
  5122
    "Modified: / 08-11-2011 / 16:32:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2868
90724c4fa7f8 Fix to recompile erroneous classes upon reload.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2851
diff changeset
  5123
    "Modified: / 16-10-2013 / 12:53:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3916
f119b43d9ae4 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 3898
diff changeset
  5124
    "Modified: / 23-06-2019 / 22:59:28 / 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
  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
2593
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5127
_CHECKCAST: obj _: cls
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5128
    "A principal implementation of CHECKCAST instruction. Called by the bytecode
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  5129
     interpreter for unhandled cases."
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  5130
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5131
    obj isNil ifTrue:[ ^ obj ].
2593
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5132
    (self canCast: obj class to: cls) ifFalse: [
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5133
        self throwClassCastException.
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5134
        ^ nil
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5135
    ].
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5136
    ^ obj
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5137
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5138
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5139
2587
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  5140
_CHECKCAST_R: object _: classRef
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5141
    "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
  5142
     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
  5143
    | class |
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  5144
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  5145
    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
  5146
    class := classRef resolve.
2594
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5147
    (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
  5148
        self throwClassCastException.
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5149
        ^nil.
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5150
    ].
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5151
    ^object.
2587
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  5152
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  5153
    "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
  5154
    "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
  5155
!
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  5156
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5157
_D2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5158
    |v|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5159
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5160
    v := op1 asInteger.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5161
    v > 16r7FFFFFFF ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5162
	self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5163
	v := 16r7FFFFFFF
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5164
    ] ifFalse:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5165
	v < 16r80000000 negated ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5166
	    self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5167
	    v := 16r80000000 negated
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5168
	]
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5169
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5170
    ^ v
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5171
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5172
    "Modified: / 17.10.1998 / 21:55:49 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5173
    "Created: / 8.1.1999 / 14:47:13 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5174
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5175
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5176
_D2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5177
    |v|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5178
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5179
    v := op1 asInteger.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5180
    v > 16r7FFFFFFFFFFFFFFF ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5181
	self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5182
	v := 16r7FFFFFFFFFFFFFFF
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5183
    ] ifFalse:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5184
	v < 16r8000000000000000 negated ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5185
	    self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5186
	    v := 16r8000000000000000 negated
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5187
	]
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5188
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5189
    ^ v
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5190
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5191
    "Modified: / 17.10.1998 / 21:55:49 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5192
    "Created: / 8.1.1999 / 14:46:44 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5193
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5194
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5195
_DADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5196
    ^ op1 asFloat + op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5197
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5198
    "Created: / 8.1.1999 / 15:11:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5199
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5200
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5201
_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
  5202
    ^ 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
  5203
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5204
    "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
  5205
    "Modified: / 06-09-2011 / 19:31:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5206
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5207
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5208
_DMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5209
    ^ op1 asFloat * op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5210
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5211
    "Created: / 8.1.1999 / 14:49:52 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5212
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5213
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5214
_DNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5215
    ^ op asFloat negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5216
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5217
    "Created: / 8.1.1999 / 15:06:15 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5218
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5219
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5220
_DSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5221
    ^ op1 asFloat - op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5222
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5223
    "Created: / 8.1.1999 / 15:10:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5224
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5225
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5226
_F2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5227
    ^ self _D2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5228
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5229
    "Created: / 8.1.1999 / 14:47:42 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5230
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5231
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5232
_F2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5233
    ^ self _D2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5234
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5235
    "Created: / 8.1.1999 / 14:47:53 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5236
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5237
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5238
_FADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5239
    ^ op1 asShortFloat + op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5240
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5241
    "Created: / 8.1.1999 / 15:11:36 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5242
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5243
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5244
_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
  5245
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5246
    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
  5247
        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
  5248
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5249
    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
  5250
        ^ 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
  5251
    ].
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5252
    ^ op1 asShortFloat / op2 asShortFloat.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5253
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5254
    "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
  5255
    "Modified: / 06-07-2012 / 13:12:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5256
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5257
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5258
_FMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5259
    ^ op1 asShortFloat * op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5260
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5261
    "Created: / 8.1.1999 / 14:50:10 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5262
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5263
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5264
_FNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5265
    ^ op asShortFloat negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5266
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5267
    "Created: / 8.1.1999 / 15:06:33 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5268
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5269
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5270
_FSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5271
    ^ op1 asShortFloat - op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5272
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5273
    "Created: / 8.1.1999 / 15:08:17 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5274
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5275
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5276
_GETFIELD_R: fieldRef _: obj
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5277
    "Called by jitted code for GETFIELD insn iff fieldref is not yet resolved"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5278
3235
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5279
    | class offset |
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5280
2990
21011804a910 Fixed _GETFIELD_R: / _PUTFIELD_R: to throw NPE when an object is nil.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2989
diff changeset
  5281
    obj isNil ifTrue:[
2992
732f9db2a195 Cleanup & refactoring of constant pool references (JavaRef2 hierarchy)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2990
diff changeset
  5282
        ^self throwNullPointerException.
2990
21011804a910 Fixed _GETFIELD_R: / _PUTFIELD_R: to throw NPE when an object is nil.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2989
diff changeset
  5283
    ].
3235
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5284
    class := fieldRef classRef resolve; javaClass.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5285
    class hasMultipleVersions ifTrue:[
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5286
        fieldRef classRef resolveForVersionOf: obj or: nil.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5287
        fieldRef resolve.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5288
        offset := fieldRef resolvedOffset.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5289
        fieldRef invalidate.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5290
    ] ifFalse:[
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5291
        fieldRef resolve.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5292
        offset := fieldRef resolvedOffset.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5293
    ].
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5294
    ^ obj instVarAt: offset.
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5295
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5296
    "Created: / 20-01-2014 / 14:56:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3235
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5297
    "Modified: / 16-08-2014 / 07:55:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5298
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5299
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5300
_GETSTATIC_R: fieldRef
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5301
    "Called by jitted code for GETSTATIC insn iff fieldref is not yet resolved"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5302
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5303
    | class |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5304
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5305
    fieldRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5306
    class := fieldRef javaClass.
2979
c69ab7aefc53 Fixed _GETSTATIC_R: / _PUTSTATIC_R: - initialize class if not already.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2978
diff changeset
  5307
    class classInitInternal.
2992
732f9db2a195 Cleanup & refactoring of constant pool references (JavaRef2 hierarchy)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2990
diff changeset
  5308
    ^ class instVarAt: fieldRef resolvedOffset.
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5309
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5310
    "Created: / 20-01-2014 / 15:03:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2992
732f9db2a195 Cleanup & refactoring of constant pool references (JavaRef2 hierarchy)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2990
diff changeset
  5311
    "Modified: / 31-01-2014 / 09:15:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5312
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5313
2594
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5314
_INSTANCEOF:obj _:cls
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5315
    "A principal implementation of INSTANCEOF instruction. Called by the bytecode
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  5316
     interpreter for unhandled cases."
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5317
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5318
    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
  5319
    (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
  5320
        ^ 0
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5321
    ].
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5322
    ^ 1
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5323
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5324
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5325
    "Created: / 08-01-1999 / 14:52:54 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5326
    "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
  5327
    "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
  5328
    "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
  5329
!
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
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
_INSTANCEOF_R: object _: classRef
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5332
    "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
  5333
     when if the classRef hasn't been resolved at the time of jitting."
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  5334
2353
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
    | 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
  5336
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5337
    object isNil ifTrue: [ ^ 0 ].
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  5338
    class := classRef resolve.
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  5339
     ^(self canCast: object class to: class)
2594
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5340
        ifTrue:  [ 1 ]
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5341
        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
  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
    "Created: / 15-10-2012 / 21:51:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5344
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5345
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5346
_INVOKEINTERFACE_R: methodRef _: receiver
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5347
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5348
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5349
    | method |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5350
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5351
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5352
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5353
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5354
    ^ receiver perform: method selector withArguments: #()
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5355
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5356
    "Created: / 17-01-2014 / 12:09:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5357
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5358
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5359
_INVOKEINTERFACE_R: methodRef _: receiver _: a1
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5360
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5361
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5362
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5363
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5364
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5365
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5366
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5367
    args := Array new: 1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5368
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5369
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5370
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5371
    "Created: / 17-01-2014 / 12:09:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5372
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5373
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5374
_INVOKEINTERFACE_R: methodRef _: receiver _: a1 _: a2
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5375
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5376
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5377
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5378
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5379
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5380
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5381
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5382
    args := Array new: 2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5383
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5384
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5385
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5386
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5387
    "Created: / 17-01-2014 / 12:09:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5388
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5389
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5390
_INVOKEINTERFACE_R: methodRef _: receiver _: a1 _: a2 _: a3
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5391
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5392
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5393
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5394
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5395
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5396
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5397
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5398
    args := Array new: 3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5399
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5400
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5401
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5402
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5403
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5404
    "Created: / 17-01-2014 / 12:10:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5405
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5406
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5407
_INVOKEINTERFACE_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5408
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5409
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5410
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5411
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5412
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5413
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5414
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5415
    args := Array new: 4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5416
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5417
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5418
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5419
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5420
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5421
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5422
    "Created: / 17-01-2014 / 12:10:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5423
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5424
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5425
_INVOKEINTERFACE_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5426
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5427
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5428
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5429
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5430
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5431
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5432
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5433
    args := Array new: 5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5434
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5435
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5436
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5437
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5438
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5439
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5440
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5441
    "Created: / 17-01-2014 / 12:10:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5442
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5443
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5444
_INVOKEINTERFACE_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5445
    "Called by jitted code for sends with unresolved method ref"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5446
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5447
    | method args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5448
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5449
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5450
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5451
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5452
    args := Array new: 6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5453
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5454
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5455
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5456
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5457
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5458
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5459
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5460
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5461
    "Created: / 17-01-2014 / 12:11:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5462
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5463
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5464
_INVOKEINTERFACE_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5465
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5466
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5467
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5468
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5469
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5470
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5471
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5472
    args := Array new: 7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5473
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5474
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5475
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5476
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5477
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5478
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5479
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5480
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5481
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5482
    "Created: / 17-01-2014 / 12:14:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5483
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5484
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5485
_INVOKEINTERFACE_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5486
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5487
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5488
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5489
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5490
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5491
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5492
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5493
    args := Array new: 8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5494
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5495
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5496
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5497
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5498
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5499
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5500
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5501
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5502
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5503
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5504
    "Created: / 17-01-2014 / 12:14:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5505
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5506
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5507
_INVOKEINTERFACE_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5508
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5509
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5510
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5511
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5512
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5513
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5514
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5515
    args := Array new: 9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5516
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5517
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5518
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5519
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5520
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5521
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5522
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5523
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5524
    args at: 9 put: a9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5525
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5526
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5527
    "Created: / 17-01-2014 / 12:15:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5528
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5529
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5530
_INVOKEINTERFACE_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5531
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5532
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5533
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5534
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5535
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5536
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5537
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5538
    args := Array new: 10.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5539
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5540
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5541
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5542
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5543
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5544
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5545
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5546
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5547
    args at: 9 put: a9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5548
    args at:10 put: a10.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5549
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5550
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5551
    "Created: / 17-01-2014 / 12:16:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5552
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5553
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5554
_INVOKEINTERFACE_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10 _: a11
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5555
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5556
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5557
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5558
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5559
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5560
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5561
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5562
    args := Array new: 11.
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5563
    args at: 1 put: a1.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5564
    args at: 2 put: a2.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5565
    args at: 3 put: a3.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5566
    args at: 4 put: a4.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5567
    args at: 5 put: a5.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5568
    args at: 6 put: a6.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5569
    args at: 7 put: a7.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5570
    args at: 8 put: a8.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5571
    args at: 9 put: a9.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5572
    args at:10 put: a10.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5573
    args at:11 put: a11.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5574
    ^ receiver perform: method selector withArguments: args
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5575
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5576
    "Created: / 17-01-2014 / 12:16:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5577
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5578
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5579
_INVOKEINTERFACE_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10 _: a11 _: a12
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5580
    "Called by jitted code for sends with unresolved method ref"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5581
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5582
    | method args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5583
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5584
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5585
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5586
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5587
    args := Array new: 12.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5588
    args at: 1 put: a1.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5589
    args at: 2 put: a2.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5590
    args at: 3 put: a3.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5591
    args at: 4 put: a4.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5592
    args at: 5 put: a5.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5593
    args at: 6 put: a6.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5594
    args at: 7 put: a7.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5595
    args at: 8 put: a8.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5596
    args at: 9 put: a9.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5597
    args at:10 put: a10.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5598
    args at:11 put: a11.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5599
    args at:12 put: a12.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5600
    ^ receiver perform: method selector withArguments: args
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5601
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5602
    "Created: / 17-01-2014 / 12:16:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5603
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5604
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5605
_INVOKEINTERFACE_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10 _: a11 _: a12 _: a13
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5606
    "Called by jitted code for sends with unresolved method ref"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5607
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5608
    | method args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5609
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5610
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5611
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5612
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5613
    args := Array new: 13.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5614
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5615
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5616
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5617
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5618
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5619
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5620
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5621
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5622
    args at: 9 put: a9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5623
    args at:10 put: a10.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5624
    args at:11 put: a11.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5625
    args at:12 put: a12.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5626
    args at:13 put: a13.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5627
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5628
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5629
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5630
    "Created: / 17-01-2014 / 12:17:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5631
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5632
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5633
_INVOKESPECIAL_R: methodRef _: receiver
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5634
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5635
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5636
    | method class |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5637
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5638
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5639
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5640
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5641
    ^ method valueWithReceiver:receiver arguments:#() selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5642
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5643
    "Created: / 17-01-2014 / 12:09:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5644
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5645
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5646
_INVOKESPECIAL_R: methodRef _: receiver _: a1
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5647
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5648
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5649
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5650
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5651
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5652
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5653
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5654
    args := Array new: 1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5655
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5656
    ^ method valueWithReceiver:receiver arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5657
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5658
    "Created: / 17-01-2014 / 12:09:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5659
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5660
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5661
_INVOKESPECIAL_R: methodRef _: receiver _: a1 _: a2
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5662
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5663
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5664
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5665
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5666
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5667
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5668
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5669
    args := Array new: 2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5670
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5671
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5672
    ^ method valueWithReceiver:receiver arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5673
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5674
    "Created: / 17-01-2014 / 12:09:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5675
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5676
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5677
_INVOKESPECIAL_R: methodRef _: receiver _: a1 _: a2 _: a3
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5678
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5679
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5680
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5681
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5682
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5683
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5684
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5685
    args := Array new: 3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5686
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5687
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5688
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5689
    ^ method valueWithReceiver:receiver arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5690
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5691
    "Created: / 17-01-2014 / 12:10:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5692
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5693
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5694
_INVOKESPECIAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5695
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5696
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5697
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5698
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5699
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5700
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5701
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5702
    args := Array new: 4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5703
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5704
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5705
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5706
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5707
    ^ method valueWithReceiver:receiver arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5708
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5709
    "Created: / 17-01-2014 / 12:10:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5710
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5711
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5712
_INVOKESPECIAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5713
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5714
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5715
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5716
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5717
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5718
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5719
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5720
    args := Array new: 5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5721
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5722
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5723
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5724
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5725
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5726
    ^ method valueWithReceiver:receiver arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5727
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5728
    "Created: / 17-01-2014 / 12:10:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5729
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5730
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5731
_INVOKESPECIAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5732
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5733
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5734
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5735
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5736
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5737
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5738
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5739
    args := Array new: 6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5740
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5741
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5742
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5743
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5744
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5745
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5746
    ^ method valueWithReceiver:receiver arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5747
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5748
    "Created: / 17-01-2014 / 12:11:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5749
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5750
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5751
_INVOKESPECIAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5752
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5753
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5754
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5755
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5756
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5757
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5758
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5759
    args := Array new: 7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5760
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5761
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5762
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5763
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5764
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5765
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5766
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5767
    ^ method valueWithReceiver:receiver arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5768
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5769
    "Created: / 17-01-2014 / 12:14:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5770
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5771
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5772
_INVOKESPECIAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5773
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5774
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5775
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5776
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5777
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5778
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5779
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5780
    args := Array new: 8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5781
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5782
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5783
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5784
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5785
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5786
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5787
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5788
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5789
    ^ method valueWithReceiver:receiver arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5790
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5791
    "Created: / 17-01-2014 / 12:14:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5792
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5793
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5794
_INVOKESPECIAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5795
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5796
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5797
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5798
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5799
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5800
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5801
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5802
    args := Array new: 9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5803
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5804
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5805
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5806
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5807
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5808
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5809
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5810
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5811
    args at: 9 put: a9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5812
    ^ method valueWithReceiver:receiver arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5813
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5814
    "Created: / 17-01-2014 / 12:15:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5815
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5816
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5817
_INVOKESPECIAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5818
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5819
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5820
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5821
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5822
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5823
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5824
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5825
    args := Array new: 10.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5826
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5827
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5828
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5829
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5830
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5831
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5832
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5833
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5834
    args at: 9 put: a9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5835
    args at:10 put: a10.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5836
    ^ method valueWithReceiver:receiver arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5837
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5838
    "Created: / 17-01-2014 / 12:16:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5839
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5840
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5841
_INVOKESPECIAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10 _: a11
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5842
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5843
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5844
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5845
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5846
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5847
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5848
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5849
    args := Array new: 11.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5850
    args at: 1 put: a1.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5851
    args at: 2 put: a2.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5852
    args at: 3 put: a3.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5853
    args at: 4 put: a4.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5854
    args at: 5 put: a5.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5855
    args at: 6 put: a6.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5856
    args at: 7 put: a7.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5857
    args at: 8 put: a8.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5858
    args at: 9 put: a9.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5859
    args at:10 put: a10.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5860
    args at:11 put: a11.
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5861
    ^ method valueWithReceiver:receiver arguments:args selector:method selector search:class sender: thisContext sender
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5862
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5863
    "Created: / 17-01-2014 / 12:16:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5864
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5865
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5866
_INVOKESPECIAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10 _: a11 _: a12
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5867
    "Called by jitted code for sends with unresolved method ref"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5868
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5869
    | method class args |
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5870
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5871
    method := methodRef resolve.
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5872
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5873
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5874
    args := Array new: 12.
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5875
    args at: 1 put: a1.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5876
    args at: 2 put: a2.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5877
    args at: 3 put: a3.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5878
    args at: 4 put: a4.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5879
    args at: 5 put: a5.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5880
    args at: 6 put: a6.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5881
    args at: 7 put: a7.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5882
    args at: 8 put: a8.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5883
    args at: 9 put: a9.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5884
    args at:10 put: a10.
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5885
    args at:11 put: a11.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5886
    args at:12 put: a12.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5887
    ^ method valueWithReceiver:receiver arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5888
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5889
    "Created: / 17-01-2014 / 12:16:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5890
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5891
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5892
_INVOKESPECIAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10 _: a11 _: a12 _: a13
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5893
    "Called by jitted code for sends with unresolved method ref"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5894
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5895
    | method class args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5896
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5897
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5898
    class  := method javaClass.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5899
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5900
    args := Array new: 13.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5901
    args at: 1 put: a1.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5902
    args at: 2 put: a2.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5903
    args at: 3 put: a3.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5904
    args at: 4 put: a4.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5905
    args at: 5 put: a5.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5906
    args at: 6 put: a6.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5907
    args at: 7 put: a7.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5908
    args at: 8 put: a8.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5909
    args at: 9 put: a9.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5910
    args at:10 put: a10.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5911
    args at:11 put: a11.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5912
    args at:12 put: a12.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5913
    args at:13 put: a13.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5914
    ^ method valueWithReceiver:receiver arguments:args selector:method selector search:class sender: thisContext sender
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5915
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5916
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5917
    "Created: / 17-01-2014 / 12:17:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5918
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5919
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5920
_INVOKESTATIC_R: methodRef
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5921
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5922
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5923
    | method class |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5924
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5925
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5926
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5927
    class classInitInternal.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5928
    ^ method valueWithReceiver:class arguments:#() selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5929
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5930
    "Created: / 17-01-2014 / 12:09:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5931
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5932
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5933
_INVOKESTATIC_R: methodRef _: a1
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5934
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5935
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5936
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5937
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5938
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5939
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5940
    class classInitInternal.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5941
    args := Array new: 1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5942
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5943
    ^ method valueWithReceiver:class arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5944
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5945
    "Created: / 17-01-2014 / 12:09:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5946
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5947
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5948
_INVOKESTATIC_R: methodRef _: a1 _: a2
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5949
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5950
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5951
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5952
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5953
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5954
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5955
    class classInitInternal.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5956
    args := Array new: 2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5957
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5958
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5959
    ^ method valueWithReceiver:class arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5960
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5961
    "Created: / 17-01-2014 / 12:09:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5962
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5963
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5964
_INVOKESTATIC_R: methodRef _: a1 _: a2 _: a3
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5965
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5966
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5967
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5968
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5969
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5970
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5971
    class classInitInternal.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5972
    args := Array new: 3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5973
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5974
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5975
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5976
    ^ method valueWithReceiver:class arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5977
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5978
    "Created: / 17-01-2014 / 12:10:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5979
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5980
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5981
_INVOKESTATIC_R: methodRef _: a1 _: a2 _: a3 _: a4
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5982
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5983
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5984
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5985
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5986
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5987
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5988
    class classInitInternal.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5989
    args := Array new: 4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5990
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5991
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5992
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5993
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5994
    ^ method valueWithReceiver:class arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5995
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5996
    "Created: / 17-01-2014 / 12:10:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5997
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5998
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5999
_INVOKESTATIC_R: methodRef _: a1 _: a2 _: a3 _: a4 _: a5
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6000
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6001
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6002
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6003
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6004
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6005
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6006
    class classInitInternal.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6007
    args := Array new: 5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6008
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6009
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6010
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6011
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6012
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6013
    ^ method valueWithReceiver:class arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6014
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6015
    "Created: / 17-01-2014 / 12:10:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6016
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6017
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6018
_INVOKESTATIC_R: methodRef _: a1 _: a2 _: a3 _: a4 _: a5 _: a6
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6019
    "Called by jitted code for sends with unresolved method ref"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6020
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6021
    | method class args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6022
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6023
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6024
    class  := method javaClass.
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6025
    class classInitInternal.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6026
    args := Array new: 6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6027
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6028
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6029
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6030
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6031
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6032
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6033
    ^ method valueWithReceiver:class arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6034
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6035
    "Created: / 17-01-2014 / 12:11:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6036
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6037
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6038
_INVOKESTATIC_R: methodRef _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6039
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6040
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6041
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6042
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6043
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6044
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6045
    class classInitInternal.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6046
    args := Array new: 7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6047
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6048
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6049
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6050
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6051
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6052
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6053
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6054
    ^ method valueWithReceiver:class arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6055
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6056
    "Created: / 17-01-2014 / 12:14:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6057
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6058
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6059
_INVOKESTATIC_R: methodRef _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6060
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6061
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6062
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6063
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6064
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6065
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6066
    class classInitInternal.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6067
    args := Array new: 8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6068
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6069
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6070
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6071
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6072
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6073
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6074
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6075
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6076
    ^ method valueWithReceiver:class arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6077
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6078
    "Created: / 17-01-2014 / 12:14:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6079
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6080
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6081
_INVOKESTATIC_R: methodRef _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6082
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6083
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6084
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6085
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6086
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6087
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6088
    class classInitInternal.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6089
    args := Array new: 9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6090
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6091
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6092
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6093
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6094
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6095
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6096
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6097
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6098
    args at: 9 put: a9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6099
    ^ method valueWithReceiver:class arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6100
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6101
    "Created: / 17-01-2014 / 12:15:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6102
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6103
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6104
_INVOKESTATIC_R: methodRef _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6105
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6106
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6107
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6108
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6109
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6110
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6111
    class classInitInternal.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6112
    args := Array new: 10.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6113
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6114
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6115
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6116
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6117
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6118
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6119
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6120
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6121
    args at: 9 put: a9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6122
    args at:10 put: a10.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6123
    ^ method valueWithReceiver:class arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6124
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6125
    "Created: / 17-01-2014 / 12:16:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6126
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6127
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6128
_INVOKESTATIC_R: methodRef _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10 _: a11
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6129
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6130
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6131
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6132
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6133
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6134
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6135
    class classInitInternal.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6136
    args := Array new: 11.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6137
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6138
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6139
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6140
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6141
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6142
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6143
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6144
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6145
    args at: 9 put: a9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6146
    args at:10 put: a10.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6147
    args at:11 put: a11.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6148
    ^ method valueWithReceiver:class arguments:args selector:method selector search:class sender: thisContext sender
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6149
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6150
    "Created: / 17-01-2014 / 12:16:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6151
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6152
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6153
_INVOKESTATIC_R: methodRef _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10 _: a11 _: a12
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6154
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6155
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6156
    | method class args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6157
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6158
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6159
    class  := method javaClass.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6160
    class classInitInternal.
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6161
    args := Array new: 12.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6162
    args at: 1 put: a1.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6163
    args at: 2 put: a2.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6164
    args at: 3 put: a3.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6165
    args at: 4 put: a4.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6166
    args at: 5 put: a5.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6167
    args at: 6 put: a6.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6168
    args at: 7 put: a7.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6169
    args at: 8 put: a8.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6170
    args at: 9 put: a9.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6171
    args at:10 put: a10.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6172
    args at:11 put: a11.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6173
    args at:12 put: a12.
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6174
    ^ method valueWithReceiver:class arguments:args selector:method selector search:class sender: thisContext sender
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6175
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6176
    "Created: / 17-01-2014 / 12:16:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6177
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6178
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6179
_INVOKESTATIC_R: methodRef _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10 _: a11 _: a12 _: a13
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6180
    "Called by jitted code for sends with unresolved method ref"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6181
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6182
    | method class args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6183
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6184
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6185
    class  := method javaClass.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6186
    class classInitInternal.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6187
    args := Array new: 13.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6188
    args at: 1 put: a1.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6189
    args at: 2 put: a2.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6190
    args at: 3 put: a3.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6191
    args at: 4 put: a4.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6192
    args at: 5 put: a5.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6193
    args at: 6 put: a6.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6194
    args at: 7 put: a7.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6195
    args at: 8 put: a8.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6196
    args at: 9 put: a9.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6197
    args at:10 put: a10.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6198
    args at:11 put: a11.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6199
    args at:12 put: a12.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6200
    args at:13 put: a13.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6201
    ^ method valueWithReceiver:class arguments:args selector:method selector search:class sender: thisContext sender
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6202
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6203
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6204
    "Created: / 17-01-2014 / 12:17:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6205
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6206
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6207
_INVOKEVIRTUAL_R: methodRef _: receiver
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6208
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6209
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6210
    | method |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6211
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6212
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6213
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6214
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6215
    ^ receiver perform: method selector withArguments: #()
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6216
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6217
    "Created: / 17-01-2014 / 12:09:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6218
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6219
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6220
_INVOKEVIRTUAL_R: methodRef _: receiver _: a1
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6221
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6222
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6223
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6224
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6225
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6226
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6227
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6228
    args := Array new: 1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6229
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6230
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6231
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6232
    "Created: / 17-01-2014 / 12:09:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6233
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6234
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6235
_INVOKEVIRTUAL_R: methodRef _: receiver _: a1 _: a2
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6236
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6237
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6238
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6239
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6240
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6241
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6242
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6243
    args := Array new: 2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6244
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6245
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6246
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6247
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6248
    "Created: / 17-01-2014 / 12:09:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6249
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6250
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6251
_INVOKEVIRTUAL_R: methodRef _: receiver _: a1 _: a2 _: a3
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6252
    "Called by jitted code for sends with unresolved method ref"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6253
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6254
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6255
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6256
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6257
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6258
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6259
    args := Array new: 3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6260
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6261
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6262
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6263
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6264
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6265
    "Created: / 17-01-2014 / 12:10:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6266
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6267
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6268
_INVOKEVIRTUAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6269
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6270
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6271
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6272
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6273
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6274
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6275
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6276
    args := Array new: 4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6277
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6278
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6279
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6280
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6281
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6282
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6283
    "Created: / 17-01-2014 / 12:10:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6284
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6285
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6286
_INVOKEVIRTUAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6287
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6288
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6289
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6290
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6291
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6292
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6293
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6294
    args := Array new: 5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6295
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6296
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6297
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6298
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6299
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6300
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6301
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6302
    "Created: / 17-01-2014 / 12:10:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6303
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6304
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6305
_INVOKEVIRTUAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6306
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6307
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6308
    | method args |
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6309
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6310
    method := methodRef resolve.
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6311
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6312
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6313
    args := Array new: 6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6314
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6315
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6316
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6317
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6318
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6319
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6320
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6321
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6322
    "Created: / 17-01-2014 / 12:11:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6323
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6324
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6325
_INVOKEVIRTUAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6326
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6327
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6328
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6329
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6330
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6331
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6332
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6333
    args := Array new: 7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6334
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6335
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6336
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6337
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6338
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6339
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6340
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6341
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6342
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6343
    "Created: / 17-01-2014 / 12:14:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6344
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6345
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6346
_INVOKEVIRTUAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6347
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6348
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6349
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6350
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6351
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6352
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6353
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6354
    args := Array new: 8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6355
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6356
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6357
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6358
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6359
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6360
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6361
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6362
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6363
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6364
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6365
    "Created: / 17-01-2014 / 12:14:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6366
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6367
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6368
_INVOKEVIRTUAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6369
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6370
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6371
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6372
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6373
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6374
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6375
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6376
    args := Array new: 9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6377
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6378
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6379
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6380
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6381
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6382
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6383
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6384
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6385
    args at: 9 put: a9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6386
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6387
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6388
    "Created: / 17-01-2014 / 12:15:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6389
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6390
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6391
_INVOKEVIRTUAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6392
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6393
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6394
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6395
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6396
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6397
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6398
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6399
    args := Array new: 10.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6400
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6401
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6402
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6403
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6404
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6405
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6406
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6407
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6408
    args at: 9 put: a9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6409
    args at:10 put: a10.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6410
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6411
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6412
    "Created: / 17-01-2014 / 12:16:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6413
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6414
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6415
_INVOKEVIRTUAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10 _: a11
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6416
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6417
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6418
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6419
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6420
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6421
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6422
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6423
    args := Array new: 11.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6424
    args at: 1 put: a1.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6425
    args at: 2 put: a2.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6426
    args at: 3 put: a3.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6427
    args at: 4 put: a4.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6428
    args at: 5 put: a5.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6429
    args at: 6 put: a6.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6430
    args at: 7 put: a7.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6431
    args at: 8 put: a8.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6432
    args at: 9 put: a9.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6433
    args at:10 put: a10.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6434
    args at:11 put: a11.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6435
    ^ receiver perform: method selector withArguments: args
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6436
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6437
    "Created: / 17-01-2014 / 12:16:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6438
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6439
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6440
_INVOKEVIRTUAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10 _: a11 _: a12
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6441
    "Called by jitted code for sends with unresolved method ref"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6442
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6443
    | method args |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6444
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6445
    method := methodRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6446
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6447
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6448
    args := Array new: 12.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6449
    args at: 1 put: a1.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6450
    args at: 2 put: a2.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6451
    args at: 3 put: a3.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6452
    args at: 4 put: a4.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6453
    args at: 5 put: a5.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6454
    args at: 6 put: a6.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6455
    args at: 7 put: a7.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6456
    args at: 8 put: a8.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6457
    args at: 9 put: a9.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6458
    args at:10 put: a10.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6459
    args at:11 put: a11.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6460
    args at:12 put: a12.
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6461
    ^ receiver perform: method selector withArguments: args
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6462
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6463
    "Created: / 17-01-2014 / 12:16:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6464
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6465
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6466
_INVOKEVIRTUAL_R: methodRef _: receiver _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 _: a9 _: a10 _: a11 _: a12 _: a13
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6467
    "Called by jitted code for sends with unresolved method ref"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6468
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6469
    | method args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6470
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6471
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6472
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6473
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6474
    args := Array new: 13.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6475
    args at: 1 put: a1.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6476
    args at: 2 put: a2.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6477
    args at: 3 put: a3.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6478
    args at: 4 put: a4.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6479
    args at: 5 put: a5.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6480
    args at: 6 put: a6.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6481
    args at: 7 put: a7.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6482
    args at: 8 put: a8.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6483
    args at: 9 put: a9.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6484
    args at:10 put: a10.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6485
    args at:11 put: a11.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6486
    args at:12 put: a12.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6487
    args at:13 put: a13.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6488
    ^ receiver perform: method selector withArguments: args
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6489
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6490
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6491
    "Created: / 17-01-2014 / 12:17:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6492
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6493
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6494
_L2D:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6495
    ^ op1 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6496
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6497
    "Created: / 8.1.1999 / 14:46:09 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6498
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6499
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6500
_L2F:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6501
    ^ op1 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6502
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6503
    "Created: / 8.1.1999 / 14:46:18 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6504
    "Modified: / 8.1.1999 / 14:50:18 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6505
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6506
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6507
_LADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6508
    |sum|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6509
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6510
    sum := (op1 + op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6511
    ^ sum
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6512
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6513
    "Created: / 8.1.1999 / 15:07:39 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6514
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6515
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6516
_LAND:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6517
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6518
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6519
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6520
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6521
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6522
    rslt := op1 bitAnd: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6523
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6525
    "Modified: / 7.1.1998 / 21:21:53 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6526
    "Created: / 8.1.1999 / 14:54:22 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6527
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6528
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6529
_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
  6530
    "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
  6531
     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
  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
    ^ref isJavaClassRef ifTrue:[
2584
af1783f58d87 Bugfix in _LDC_R: - do not initilalize class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2582
diff changeset
  6534
        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
  6535
    ] 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
  6536
        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
  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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6539
    "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
  6540
!
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
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6542
_LDIV:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6543
    |quo|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6544
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6545
    quo := op1 quo: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6546
    ^ quo
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6547
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6548
    "Created: / 8.1.1999 / 15:04:47 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6549
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6550
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6551
_LMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6552
    |prod o1 o2 sign|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6553
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6554
"/ self halt.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6555
    "/ ST's largeIntegers compute a correct result;
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6556
    "/ but here, we want the overflow to flow into the
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6557
    "/ sign bit ... (sigh)
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6558
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6559
    sign := 1.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6560
    (o1 := op1) < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6561
	sign := -1.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6562
	o1 := o1 negated.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6563
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6564
    (o2 := op2) < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6565
	sign := sign negated.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6566
	o2 := o2 negated.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6567
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6568
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6569
    prod := (o1 * o2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6570
    (prod bitAnd:16r8000000000000000) ~~ 0 ifTrue:[
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6571
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6572
    sign == -1 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6573
	prod := prod negated
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6574
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6575
    ^ prod
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6576
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6577
    "Created: / 8.1.1999 / 15:10:04 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6578
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6579
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6580
_LNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6581
    ^ op asInteger negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6582
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6583
    "Created: / 8.1.1999 / 15:06:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6584
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6585
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6586
_LOR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6587
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6588
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6589
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6590
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6591
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6592
    rslt := op1 bitOr: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6593
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6594
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6595
    "Created: / 8.1.1999 / 15:05:10 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6596
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6597
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6598
_LREM:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6599
    |rem|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6600
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6601
    rem := op1 rem: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6602
    ^ rem
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6603
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6604
    "Modified: / 7.1.1998 / 00:23:11 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6605
    "Created: / 8.1.1999 / 15:04:23 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6606
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6607
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6608
_LSHL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6609
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6610
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6611
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6612
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6613
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6614
    rslt := (op1 bitShift:op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6615
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6616
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6617
    "Created: / 8.1.1999 / 14:51:08 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6618
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6619
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6620
_LSHR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6621
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6622
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6623
    op1 < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6624
	self halt
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6625
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6626
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6627
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6628
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6629
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6630
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6631
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6632
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6633
    "Created: / 8.1.1999 / 14:51:57 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6634
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6635
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6636
_LSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6637
    |diff|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6638
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6639
    diff := (op1 - op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6640
    ^ diff
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6641
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6642
    "Created: / 8.1.1999 / 15:10:33 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6643
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6644
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6645
_LUSHR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6646
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6647
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6648
    op1 < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6649
	self halt
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6650
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6651
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6652
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6653
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6654
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6655
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6656
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6657
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6658
    "Modified: / 7.1.1998 / 21:22:17 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6659
    "Created: / 8.1.1999 / 14:51:32 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6660
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6661
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6662
_LXOR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6663
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6664
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6665
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6666
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6667
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6668
    rslt := op1 bitXor: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6669
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6670
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6671
    "Created: / 8.1.1999 / 15:12:28 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6672
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6673
2353
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
_MONITORENTER: someObject
2956
17be352f0130 Added lockWord to JavaBehavior to enable thinlocking for static methods and resolver.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2955
diff changeset
  6675
    "/self assert: (thisContext sender isJavaContext).
17be352f0130 Added lockWord to JavaBehavior to enable thinlocking for static methods and resolver.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2955
diff changeset
  6676
    "/self assert: (thisContext sender isMarkedForUnwind).
2353
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
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
    self monitorEnter: someObject in: thisContext sender.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  6679
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6680
    "Created: / 08-01-1999 / 14:23:10 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6681
    "Modified: / 08-01-1999 / 18:47:26 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6682
    "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
  6683
    "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
  6684
    "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
  6685
!
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
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
_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
  6688
    self monitorExit: someObject in: thisContext sender.
528
99eb49a63c1a checkin from browser
cg
parents: 526
diff changeset
  6689
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6690
    "Created: / 08-01-1999 / 14:23:19 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6691
    "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
  6692
    "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
  6693
    "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
  6694
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6695
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6696
_MULTIANEWARRAY1: cls _: dim1
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6697
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6698
    | a1 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6699
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6700
    dim1 < 0 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
  6701
        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
  6702
                         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
  6703
        ^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
  6704
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6705
    a1 := cls new: dim1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6706
    ^ a1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6707
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6708
    "Created: / 28-01-2014 / 10:02:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3066
8c0339f8c175 Fixes for groovy.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3056
diff changeset
  6709
    "Modified: / 09-04-2014 / 15:49:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6710
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6711
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6712
_MULTIANEWARRAY1_R: clsRef _: dim1
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6713
    ^ self _MULTIANEWARRAY1: clsRef resolve _: dim1
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6714
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6715
    "Created: / 28-01-2014 / 10:04:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6716
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6717
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6718
_MULTIANEWARRAY2: cls _: dim1 _: dim2
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6719
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6720
    | a1 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6721
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6722
    dim1 < 0 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
  6723
        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
  6724
                         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
  6725
        ^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
  6726
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6727
    dim2 < 0 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
  6728
        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
  6729
                         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
  6730
        ^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
  6731
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6732
    a1 := cls new: dim1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6733
    1 to: dim1 do:[:i1|
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6734
        | a2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6735
        a2 := (a1 class javaComponentClass new: dim2).
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6736
        a1 at: i1  put: a2.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6737
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6738
    ^ a1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6739
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6740
    "Created: / 28-01-2014 / 10:03:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6741
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6742
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6743
_MULTIANEWARRAY2_R: clsRef _: dim1 _: dim2
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6744
    ^ self _MULTIANEWARRAY2: clsRef resolve _: dim1 _: dim2
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6745
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6746
    "Created: / 28-01-2014 / 10:04:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6747
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6748
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6749
_MULTIANEWARRAY3: cls _: dim1 _: dim2 _: dim3
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6750
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6751
    | a1 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6752
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6753
    dim1 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6754
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6755
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6756
        ^nil
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6757
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6758
    dim2 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6759
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6760
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6761
        ^nil
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6762
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6763
    dim3 < 0 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
  6764
        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
  6765
                         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
  6766
        ^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
  6767
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6768
    a1 := cls new: dim1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6769
    1 to: dim1 do:[:i1|
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6770
        | a2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6771
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6772
        a2 := a1 class javaComponentClass new: dim2.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6773
        1 to: dim2 do:[:i2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6774
            | a3 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6775
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6776
            a3 := a2 class javaComponentClass new: dim3.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6777
            a2 at: i2 put: a3.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6778
        ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6779
        a1 at: i1  put: a2.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6780
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6781
    ^ a1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6782
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6783
    "Created: / 28-01-2014 / 10:04:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6784
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6785
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6786
_MULTIANEWARRAY3_R: clsRef _: dim1 _: dim2 _: dim3
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6787
    ^ self _MULTIANEWARRAY3: clsRef resolve _: dim1 _: dim2 _: dim3
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6788
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6789
    "Created: / 28-01-2014 / 10:05:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6790
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6791
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6792
_MULTIANEWARRAY4: cls _: dim1 _: dim2 _: dim3 _: dim4
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6793
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6794
    | a1 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6795
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6796
    dim1 < 0 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
  6797
        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
  6798
                         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
  6799
        ^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
  6800
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6801
    dim2 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6802
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6803
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6804
        ^nil
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6805
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6806
    dim3 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6807
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6808
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6809
        ^nil
2990
21011804a910 Fixed _GETFIELD_R: / _PUTFIELD_R: to throw NPE when an object is nil.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2989
diff changeset
  6810
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6811
    dim4 < 0 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
  6812
        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
  6813
                         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
  6814
        ^nil
2990
21011804a910 Fixed _GETFIELD_R: / _PUTFIELD_R: to throw NPE when an object is nil.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2989
diff changeset
  6815
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6816
    a1 := cls new: dim1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6817
    1 to: dim1 do:[:i1|
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6818
        | a2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6819
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6820
        a2 := a1 class javaComponentClass new: dim2.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6821
        1 to: dim2 do:[:i2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6822
            | a3 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6823
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6824
            a3 := a2 class javaComponentClass new: dim3.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6825
            1 to: dim3 do:[:i3 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6826
                | a4 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6827
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6828
                a4 := a3 class javaComponentClass new: dim4.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6829
                a3 at: i3 put: a4.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6830
            ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6831
            a2 at: i2 put: a3.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6832
        ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6833
        a1 at: i1  put: a2.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6834
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6835
    ^ a1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6836
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6837
    "Created: / 28-01-2014 / 10:03:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6838
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6839
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6840
_MULTIANEWARRAY4_R: clsRef _: dim1 _: dim2 _: dim3 _: dim4
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6841
    ^ self _MULTIANEWARRAY4: clsRef resolve _: dim1 _: dim2 _: dim3 _: dim4
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6842
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6843
    "Created: / 28-01-2014 / 10:05:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6844
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6845
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6846
_MULTIANEWARRAY5: cls _: dim1 _: dim2 _: dim3 _: dim4 _: dim5
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6847
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6848
    | a1 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6849
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6850
    dim1 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6851
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6852
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6853
        ^nil
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6854
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6855
    dim2 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6856
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6857
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6858
        ^nil
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6859
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6860
    dim3 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6861
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6862
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6863
        ^nil
2990
21011804a910 Fixed _GETFIELD_R: / _PUTFIELD_R: to throw NPE when an object is nil.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2989
diff changeset
  6864
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6865
    dim4 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6866
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6867
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6868
        ^nil
2990
21011804a910 Fixed _GETFIELD_R: / _PUTFIELD_R: to throw NPE when an object is nil.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2989
diff changeset
  6869
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6870
    dim5  < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6871
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6872
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6873
        ^nil
2990
21011804a910 Fixed _GETFIELD_R: / _PUTFIELD_R: to throw NPE when an object is nil.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2989
diff changeset
  6874
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6875
    a1 := cls new: dim1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6876
    1 to: dim1 do:[:i1|
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6877
        | a2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6878
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6879
        a2 := a1 class javaComponentClass new: dim2.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6880
        1 to: dim2 do:[:i2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6881
            | a3 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6882
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6883
            a3 := a2 class javaComponentClass new: dim3.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6884
            1 to: dim3 do:[:i3 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6885
                | a4 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6886
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6887
                a4 := a3 class javaComponentClass new: dim4.
2990
21011804a910 Fixed _GETFIELD_R: / _PUTFIELD_R: to throw NPE when an object is nil.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2989
diff changeset
  6888
                1 to: dim4 do:[:i4 |
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6889
                    | a5 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6890
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6891
                    a5 := a4 class javaComponentClass new: dim5.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6892
                    a4 at: i4 put: a5.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6893
                ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6894
                a3 at: i3 put: a4.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6895
            ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6896
            a2 at: i2 put: a3.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6897
        ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6898
        a1 at: i1  put: a2.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6899
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6900
    ^ a1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6901
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6902
    "Created: / 28-01-2014 / 10:03:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6903
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6904
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6905
_MULTIANEWARRAY5_R: clsRef _: dim1 _: dim2 _: dim3 _: dim4 _: dim5
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6906
    ^ self _MULTIANEWARRAY5: clsRef resolve _: dim1 _: dim2 _: dim3 _: dim4 _: dim5
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6907
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6908
    "Created: / 28-01-2014 / 10:05:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6909
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6910
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6911
_MULTIANEWARRAY: cls _: dims
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6912
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6913
    | allocator |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6914
2990
21011804a910 Fixed _GETFIELD_R: / _PUTFIELD_R: to throw NPE when an object is nil.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2989
diff changeset
  6915
    dims isEmptyOrNil ifTrue:[
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6916
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6917
                         withMessage:'zero dimensions given, should not happen!!'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6918
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6919
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6920
    dims do:[:d |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6921
        d < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6922
            self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6923
                             withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6924
            ^nil
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6925
        ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6926
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6927
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6928
    allocator := [ :arrayClass :dimIndex |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6929
        | array |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6930
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6931
        array := arrayClass new: (dims at: dimIndex).
2990
21011804a910 Fixed _GETFIELD_R: / _PUTFIELD_R: to throw NPE when an object is nil.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2989
diff changeset
  6932
        dimIndex ~~ dims size ifTrue:[
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6933
            1 to: (dims at: dimIndex) do:[:i |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6934
                array at: i put: (allocator value: arrayClass javaComponentClass value: dimIndex + 1).
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6935
            ]
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6936
        ].
2989
593add70a2cd Added _MULTIANEWARRAY* methods to suppott new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6937
        array.
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6938
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6939
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6940
    ^ allocator value: cls value: 1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6941
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6942
    "Created: / 28-01-2014 / 09:46:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2989
593add70a2cd Added _MULTIANEWARRAY* methods to suppott new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6943
    "Modified: / 28-01-2014 / 14:40:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6944
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6945
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6946
_MULTIANEWARRAY_R: clsRef _: dims
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6947
2989
593add70a2cd Added _MULTIANEWARRAY* methods to suppott new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6948
    ^ self _MULTIANEWARRAY: clsRef resolve _: dims
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6949
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6950
    "Created: / 28-01-2014 / 09:43:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2989
593add70a2cd Added _MULTIANEWARRAY* methods to suppott new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6951
    "Modified: / 28-01-2014 / 14:36:22 / 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
  6952
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6953
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6954
_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
  6955
    | 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
  6956
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6957
    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
  6958
    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
  6959
    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
  6960
    ^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
  6961
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6962
    "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
  6963
    "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
  6964
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6965
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6966
_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
  6967
    "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
  6968
     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
  6969
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6970
    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
  6971
        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
  6972
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6973
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6974
    "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
  6975
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6976
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6977
_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
  6978
    | 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
  6979
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6980
    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
  6981
    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
  6982
    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
  6983
    ^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
  6984
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6985
    "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
  6986
    "Modified: / 02-11-2012 / 21:10:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6987
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6988
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6989
_PUTFIELD_R: fieldRef _: obj _: value
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6990
    "Called by jitted code for PUTFIELD insn iff fieldref is not yet resolved"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6991
3235
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6992
    | class offset |
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6993
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6994
    obj isNil ifTrue:[
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6995
        ^self throwNullPointerException.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6996
    ].
2990
21011804a910 Fixed _GETFIELD_R: / _PUTFIELD_R: to throw NPE when an object is nil.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2989
diff changeset
  6997
    obj isNil ifTrue:[
2992
732f9db2a195 Cleanup & refactoring of constant pool references (JavaRef2 hierarchy)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2990
diff changeset
  6998
        ^self throwNullPointerException.
2990
21011804a910 Fixed _GETFIELD_R: / _PUTFIELD_R: to throw NPE when an object is nil.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2989
diff changeset
  6999
    ].
3235
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  7000
    class := fieldRef classRef resolve; javaClass.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  7001
    class hasMultipleVersions ifTrue:[
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  7002
        fieldRef classRef resolveForVersionOf: obj or: nil.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  7003
        fieldRef resolve.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  7004
        offset := fieldRef resolvedOffset.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  7005
        fieldRef invalidate.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  7006
    ] ifFalse:[
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  7007
        fieldRef resolve.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  7008
        offset := fieldRef resolvedOffset.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  7009
    ].   
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  7010
    obj instVarAt: offset put: value
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7011
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7012
    "Created: / 20-01-2014 / 15:01:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3235
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  7013
    "Modified: / 16-08-2014 / 07:57:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7014
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7015
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7016
_PUTSTATIC_R: fieldRef _: value
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7017
    "Called by jitted code for PUTSTATIC insn iff fieldref is not yet resolved"
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7018
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7019
    | class |
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7020
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7021
    fieldRef resolve.
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7022
    class := fieldRef javaClass.
2979
c69ab7aefc53 Fixed _GETSTATIC_R: / _PUTSTATIC_R: - initialize class if not already.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2978
diff changeset
  7023
    class classInitInternal.
2992
732f9db2a195 Cleanup & refactoring of constant pool references (JavaRef2 hierarchy)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2990
diff changeset
  7024
    ^ class instVarAt: fieldRef resolvedOffset put: value
2978
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7025
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7026
    "Created: / 20-01-2014 / 15:06:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2992
732f9db2a195 Cleanup & refactoring of constant pool references (JavaRef2 hierarchy)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2990
diff changeset
  7027
    "Modified: / 31-01-2014 / 09:16:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  7028
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  7029
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7030
!JavaVM class methodsFor:'windows - events'!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7031
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7032
awtEventsForEvent: anEvent javaWindow: jWin
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7033
    "given an ST/X event, create corresponding AWT event(s) for it"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7034
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7035
    | 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
  7036
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7037
    type := anEvent type.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7038
    eventArgs := anEvent arguments.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7039
    key := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7040
    modifiers := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7041
    x := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7042
    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
  7043
    ((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
  7044
        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
  7045
            ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7046
                "/        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
  7047
                "/        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
  7048
                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
  7049
                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
  7050
                ((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
  7051
                    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
  7052
                        ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7053
                            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
  7054
                            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
  7055
                            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
  7056
                            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
  7057
                        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7058
                        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
  7059
                            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
  7060
                            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
  7061
                            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
  7062
                            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
  7063
                        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7064
                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
  7065
                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
  7066
                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
  7067
                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
  7068
                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
  7069
                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
  7070
                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
  7071
                jEv instVarNamed: 'updateRect' put: jRect.
476
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  7072
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  7073
"/        jEv instVarNamed:'g'         put:jWin.
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  7074
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7075
                ^ 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
  7076
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7077
    (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
  7078
        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
  7079
            ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7080
                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
  7081
                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
  7082
                    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
  7083
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7084
                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
  7085
                    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
  7086
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7087
                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
  7088
                    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
  7089
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7090
                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
  7091
                    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
  7092
                                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
  7093
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7094
                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
  7095
                    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
  7096
                                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
  7097
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7098
                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
  7099
                    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
  7100
                                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
  7101
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7102
                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
  7103
                    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
  7104
                                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
  7105
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7106
                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
  7107
                    "/ 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
  7108
                    "/ 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
  7109
                    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
  7110
                    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
  7111
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7112
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7113
    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
  7114
        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
  7115
        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
  7116
        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
  7117
        key := anEvent key.
3594
5c34ce6d0d10 #OTHER by mawalch
mawalch
parents: 3506
diff changeset
  7118
        key isCharacter ifTrue: [ key := keyChar := key codePoint ] 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
  7119
            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
  7120
                        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
  7121
            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
  7122
                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
  7123
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7124
            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
  7125
                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
  7126
                "/ 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
  7127
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7128
            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
  7129
                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
  7130
                "/ 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
  7131
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7132
            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
  7133
                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
  7134
                "/ 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
  7135
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7136
            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
  7137
                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
  7138
                "/ 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
  7139
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7140
            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
  7141
                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
  7142
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7143
            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
  7144
                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
  7145
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7146
            (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
  7147
                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
  7148
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7149
            (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
  7150
                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
  7151
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7152
            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
  7153
                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
  7154
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7155
            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
  7156
                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
  7157
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7158
            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
  7159
                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
  7160
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7161
            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
  7162
                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
  7163
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7164
            (#( #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
  7165
                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
  7166
                    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
  7167
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7168
        (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
  7169
            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
  7170
        ] 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
  7171
        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
  7172
        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
  7173
        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
  7174
        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
  7175
        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
  7176
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7177
"/        jEv instVarNamed:'x'         put:x.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7178
"/        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
  7179
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7180
        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
  7181
        ^ Array with: jEv
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7182
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7183
    (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
  7184
        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
  7185
        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
  7186
        (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
  7187
            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
  7188
        ] 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
  7189
            (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
  7190
                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
  7191
            ] 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
  7192
                (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
  7193
                    (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
  7194
                        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
  7195
                    ] 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
  7196
                ] 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
  7197
                    "/                    (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
  7198
                    "/                        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
  7199
                    "/                    ] 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
  7200
                    (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
  7201
                        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
  7202
                    ] 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
  7203
                        (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
  7204
                            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
  7205
                        ] 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
  7206
                            (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
  7207
                                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
  7208
                                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
  7209
                            ] 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
  7210
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7211
"/                        ]
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7212
                        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7213
                    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7214
                ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7215
            ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7216
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7217
        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
  7218
        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
  7219
        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
  7220
        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
  7221
        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
  7222
        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
  7223
        ^ Array with: jEv
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7224
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7225
    (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
  7226
        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
  7227
        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
  7228
        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
  7229
        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
  7230
        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
  7231
        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
  7232
        moved := (x ~~ view left or: [ y ~~ view top ]).
493
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  7233
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  7234
"/        (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
  7235
        "/ 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
  7236
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7237
        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
  7238
493
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  7239
"/        ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7240
        "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7241
        "/ 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
  7242
        "/ 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
  7243
        "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7244
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7245
        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
  7246
            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
  7247
                "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7248
                "/ 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
  7249
                "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7250
                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
  7251
                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
  7252
                    "/ 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
  7253
                    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
  7254
                ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7255
            ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7256
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7257
        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
  7258
        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
  7259
        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
  7260
        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
  7261
        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
  7262
        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
  7263
            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
  7264
            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
  7265
            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
  7266
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7267
        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
  7268
            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
  7269
            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
  7270
            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
  7271
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7272
        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
  7273
            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
  7274
            ^ 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
  7275
        ] 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
  7276
        ^ Array with: jEv1 with: jEv2.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7277
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7278
    (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
  7279
        "/ '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
  7280
        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
  7281
        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
  7282
        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
  7283
        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
  7284
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7285
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7286
    (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
  7287
        "/ '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
  7288
        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
  7289
        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
  7290
        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
  7291
        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
  7292
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7293
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7294
    (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
  7295
        "/ '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
  7296
        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
  7297
        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
  7298
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7299
"/        x := eventArgs at:1.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7300
"/        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
  7301
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7302
        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
  7303
        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
  7304
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7305
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7306
    (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
  7307
        "/ '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
  7308
        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
  7309
        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
  7310
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7311
"/        x := eventArgs at:1.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7312
"/        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
  7313
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7314
        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
  7315
        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
  7316
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7317
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7318
    (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
  7319
        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
  7320
         "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
  7321
         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
  7322
        " "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
  7323
        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
  7324
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7325
        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
  7326
        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
  7327
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7328
    ].
3795
b696900fb824 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
  7329
    EventTrace == true ifTrue: [ 
b696900fb824 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
  7330
        Logger log: ('JAVA: unhandled event:' , type). 
b696900fb824 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
  7331
    ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7332
    ^ nil.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7333
3385
58d72cc6d5f6 Replaced old-style `'string' infoPrintCR` logging with new-style `Logger log:'string'` logging
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3384
diff changeset
  7334
    "Created: / 06-01-1998 / 20:38:58 / cg"
58d72cc6d5f6 Replaced old-style `'string' infoPrintCR` logging with new-style `Logger log:'string'` logging
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3384
diff changeset
  7335
    "Modified: / 09-01-1999 / 09:29:58 / cg"
58d72cc6d5f6 Replaced old-style `'string' infoPrintCR` logging with new-style `Logger log:'string'` logging
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3384
diff changeset
  7336
    "Modified: / 02-03-2015 / 15:54:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3795
b696900fb824 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
  7337
    "Modified: / 17-08-2018 / 18:00:36 / Claus Gittinger"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7338
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7339
603
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  7340
delegatesTo:someOne
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  7341
    ^ false
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  7342
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  7343
    "Created: / 25.9.1999 / 16:11:48 / cg"
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  7344
!
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  7345
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7346
doWindowsEventThread
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7347
    "invoked in an endless loop by the WToolkit-eventLoop
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7348
     native method."
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7349
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7350
    | 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
  7351
    (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
  7352
        "/ '*** 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
  7353
        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
  7354
        "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
  7355
            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
  7356
            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
  7357
            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
  7358
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7359
        "/ 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
  7360
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7361
        ^ self
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7362
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7363
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7364
    "/ wait for an event to arrive ...
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7365
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7366
    sensor := JavaWindowGroup sensor.
3795
b696900fb824 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
  7367
    [sensor hasEvents] whileFalse: [
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7368
        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
  7369
        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
  7370
        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
  7371
            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
  7372
            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
  7373
            timeOut: nil.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7374
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7375
    EventTrace ifTrue: [ '*** eventThread event arrived ...' printCR. ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7376
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7377
    "/ 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
  7378
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  7379
    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
  7380
    [ 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
  7381
        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
  7382
            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
  7383
            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
  7384
        ] 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
  7385
        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
  7386
            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
  7387
            ^ 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
  7388
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7389
        more := self processEvent: event
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  7390
    ]
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7391
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7392
    "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
  7393
    "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
  7394
    "Modified: / 22-11-2011 / 13:22:32 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3795
b696900fb824 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
  7395
    "Modified: / 13-04-2018 / 12:35:16 / stefan"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7396
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7397
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7398
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
  7399
    | 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
  7400
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7401
    KnownWindows isNil ifTrue: [ ^ false ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7402
    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
  7403
    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
  7404
    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
  7405
        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
  7406
            "/ 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
  7407
            "/ 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
  7408
            "/ 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
  7409
        ] 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
  7410
            "/ 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
  7411
            "/ 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
  7412
            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
  7413
                ('*** 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
  7414
                    , '-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
  7415
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7416
            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
  7417
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7418
        ^ true
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7419
    ].
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7420
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7421
    "/ change:
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7422
    "/ in the previous version, events for ST/X widgets (i.e. buttons etc)
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7423
    "/ where not passed to java, but instead forwarded directly to the widget
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7424
    "/ by the code below.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7425
    "/ This has changed, to pass it to Java, which eventually passes it to the
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7426
    "/ peer via the handleEvent native method (unless the event got consumed).
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7427
    "/ 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
  7428
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7429
    (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
  7430
        "/    "/ 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
  7431
        "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7432
        "/    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
  7433
        "/"/        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
  7434
        "/"/            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
  7435
        "/"/                    ('*** 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
  7436
        "/"/            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7437
        "/"/            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
  7438
        "/"/            ^ 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
  7439
        "/"/        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7440
        "/        (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
  7441
        "/        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
  7442
        "/            "/ 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
  7443
        "/            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
  7444
        "/        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7445
        "/    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7446
        (#( #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
  7447
         #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
  7448
         #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
  7449
         #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
  7450
         #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
  7451
            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
  7452
        ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7453
    ].
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7454
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7455
    "/ what a kludge - some events are passed back to
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7456
    "/ ST via the WComponent-handleEvent native method.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7457
    "/ However, repaints are not.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7458
    "/ In order to let ST widgets do the drawing,
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7459
    "/ selectively filter exposeEvents from Java ...
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7460
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7461
    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
  7462
    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
  7463
        "/ 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
  7464
    ] 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
  7465
        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
  7466
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7467
        "/ 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
  7468
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7469
        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
  7470
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7471
        "/ 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
  7472
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7473
        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
  7474
            (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
  7475
            (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
  7476
            (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
  7477
            (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
  7478
            (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
  7479
            (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
  7480
            (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
  7481
        ].
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7482
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7483
    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
  7484
    EventTrace ifTrue: [
3385
58d72cc6d5f6 Replaced old-style `'string' infoPrintCR` logging with new-style `Logger log:'string'` logging
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3384
diff changeset
  7485
        Logger log: (('*** eventThread: event (' , event type , ') handled by JAVA: ') , jWinPeer class name ,' (' , jWin class name , ')') severity: Logger severityTRACE facility: #JVM                                  
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7486
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7487
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7488
    "/ create an event
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7489
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7490
    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
  7491
    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
  7492
        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
  7493
            ('*** 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
  7494
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7495
        ^ true
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7496
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7497
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7498
"/    v superView isNil ifTrue:[
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7499
"/        ('*** eventThread: event ignored for topView: ' , event type) printCR.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7500
"/        ^ self
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7501
"/    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7502
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7503
    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
  7504
439
9c3603a90f30 *** empty log message ***
cg
parents: 434
diff changeset
  7505
    "/ 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
  7506
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7507
    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
  7508
                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
  7509
    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
  7510
        :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
  7511
        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
  7512
        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
  7513
        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
  7514
            "/ 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
  7515
            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
  7516
            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
  7517
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7518
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7519
        "/ 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
  7520
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7521
        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
  7522
        jWToolKit "class" perform: #'postEvent(Ljava/awt/AWTEvent;)V' with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7523
    ].
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  7524
    ^ false
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  7525
3385
58d72cc6d5f6 Replaced old-style `'string' infoPrintCR` logging with new-style `Logger log:'string'` logging
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3384
diff changeset
  7526
    "Created: / 06-01-1998 / 20:36:36 / cg"
58d72cc6d5f6 Replaced old-style `'string' infoPrintCR` logging with new-style `Logger log:'string'` logging
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3384
diff changeset
  7527
    "Modified: / 10-12-1998 / 19:36:59 / cg"
58d72cc6d5f6 Replaced old-style `'string' infoPrintCR` logging with new-style `Logger log:'string'` logging
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3384
diff changeset
  7528
    "Modified: / 02-03-2015 / 15:53:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7529
! !
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7530
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7531
!JavaVM::Performance class methodsFor:'documentation'!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7532
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7533
documentation
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7534
"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7535
    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
  7536
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7537
    [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
  7538
        Jan Vrany <jan.vrany@fit.cvut.cz>
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7539
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7540
    [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
  7541
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7542
    [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
  7543
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7544
    [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
  7545
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7546
"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7547
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7548
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7549
!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
  7550
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7551
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
  7552
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7553
    ^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
  7554
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7555
    "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
  7556
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7557
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7558
!JavaVM::Performance methodsFor:'accessing'!
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7559
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7560
counters
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7561
    ^ counters
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7562
! !
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7563
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7564
!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
  7565
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7566
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
  7567
    "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
  7568
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7569
    ^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
  7570
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7571
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7572
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
  7573
    "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
  7574
     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
  7575
     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
  7576
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7577
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7578
    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
  7579
    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
  7580
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7581
    ^ 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
  7582
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7583
    "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
  7584
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7585
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7586
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
  7587
    "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
  7588
     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
  7589
     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
  7590
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7591
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7592
    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
  7593
    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
  7594
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7595
    ^ 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
  7596
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7597
    "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
  7598
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7599
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7600
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
  7601
    "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
  7602
     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
  7603
     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
  7604
     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
  7605
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7606
    | 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
  7607
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7608
    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
  7609
    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
  7610
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7611
    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
  7612
        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
  7613
        ^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
  7614
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7615
    ^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
  7616
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7617
    "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
  7618
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7619
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7620
!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
  7621
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7622
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
  7623
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7624
    "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
  7625
    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
  7626
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7627
    vm := aJavaVM.
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7628
    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
  7629
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7630
    "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
  7631
    "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
  7632
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7633
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7634
!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
  7635
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7636
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
  7637
    "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
  7638
     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
  7639
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7640
    | 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
  7641
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7642
    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
  7643
        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
  7644
    ]).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7645
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7646
    '%-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
  7647
        index .
2841
6fa1bcf9c997 JavaClass>>#name vs. #binaryName refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  7648
        stream class 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
  7649
        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
  7650
        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
  7651
    } 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
  7652
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7653
    ^ 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
  7654
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7655
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7656
        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
  7657
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7658
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7659
    "Created: / 14-08-2012 / 01:02:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2841
6fa1bcf9c997 JavaClass>>#name vs. #binaryName refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  7660
    "Modified: / 08-10-2013 / 22:49:32 / 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
  7661
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7662
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7663
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
  7664
    | 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
  7665
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7666
    (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
  7667
        | 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
  7668
        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
  7669
        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
  7670
            ^ '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
  7671
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7672
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7673
    (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
  7674
        | 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
  7675
        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
  7676
            (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
  7677
                ^ '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
  7678
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7679
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7680
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7681
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7682
    ((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
  7683
        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
  7684
            ^ '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
  7685
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7686
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7687
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7688
    ((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
  7689
        (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
  7690
            ^ '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
  7691
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7692
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7693
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7694
    ((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
  7695
        (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
  7696
            ^ '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
  7697
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7698
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7699
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7700
    ^''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7701
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7702
    "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
  7703
    "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
  7704
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7705
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7706
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
  7707
    ^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
  7708
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7709
    "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
  7710
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7711
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7712
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
  7713
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7714
    | 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
  7715
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7716
    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
  7717
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7718
    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
  7719
    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
  7720
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7721
    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
  7722
    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
  7723
    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
  7724
        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
  7725
            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
  7726
            (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
  7727
                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
  7728
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7729
            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
  7730
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7731
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7732
    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
  7733
    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
  7734
        ('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
  7735
            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
  7736
                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
  7737
                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
  7738
                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
  7739
        ).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7740
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7741
    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
  7742
    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
  7743
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7744
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7745
        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
  7746
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7747
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7748
    "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
  7749
    "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
  7750
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7751
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7752
!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
  7753
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7754
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
  7755
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7756
    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
  7757
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7758
    "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
  7759
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7760
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7761
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
  7762
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7763
    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
  7764
    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
  7765
    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
  7766
    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
  7767
    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
  7768
    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
  7769
    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
  7770
    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
  7771
    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
  7772
    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
  7773
    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
  7774
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7775
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7776
        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
  7777
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7778
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7779
    "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
  7780
    "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
  7781
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7782
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7783
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
  7784
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7785
    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
  7786
    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
  7787
    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
  7788
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7789
    "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
  7790
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7791
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7792
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
  7793
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7794
    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
  7795
    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
  7796
    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
  7797
    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
  7798
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7799
    "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
  7800
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7801
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7802
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
  7803
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7804
    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
  7805
    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
  7806
    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
  7807
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7808
    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
  7809
    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
  7810
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7811
    "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
  7812
    "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
  7813
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7814
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7815
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
  7816
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7817
    | 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
  7818
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7819
    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
  7820
    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
  7821
                        [: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
  7822
    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
  7823
        | 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
  7824
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7825
        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
  7826
        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
  7827
        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
  7828
        aStream
2841
6fa1bcf9c997 JavaClass>>#name vs. #binaryName refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  7829
            nextPutAll: m mclass 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
  7830
            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
  7831
            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
  7832
            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
  7833
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7834
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7835
    "Created: / 27-10-2012 / 18:09:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2841
6fa1bcf9c997 JavaClass>>#name vs. #binaryName refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  7836
    "Modified: / 08-10-2013 / 22:49:28 / 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
  7837
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7838
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7839
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
  7840
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7841
    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
  7842
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7843
    "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
  7844
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7845
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7846
!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
  7847
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7848
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
  7849
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7850
    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
  7851
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7852
    "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
  7853
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7854
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7855
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
  7856
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7857
    [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7858
        '  %-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
  7859
    ] 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
  7860
        '  %-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
  7861
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7862
    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
  7863
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7864
    "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
  7865
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7866
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7867
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
  7868
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7869
    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
  7870
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7871
    "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
  7872
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7873
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7874
!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
  7875
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7876
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
  7877
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7878
    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
  7879
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7880
    [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
  7881
        Jan Vrany <jan.vrany@fit.cvut.cz>
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7882
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7883
    [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
  7884
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7885
    [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
  7886
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7887
    [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
  7888
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7889
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7890
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7891
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7892
!JavaVM::ReflectionRegistry class methodsFor:'instance creation'!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7893
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7894
for: aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7895
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7896
    ^self new setVM: aJavaVM.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7897
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7898
    "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
  7899
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7900
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7901
new
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7902
    "return an initialized instance"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7903
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7904
    ^ self basicNew initialize.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7905
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7906
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7907
!JavaVM::ReflectionRegistry methodsFor:'debugging'!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7908
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7909
returnNilIfMissing
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7910
    ^ returnNilIfMissing.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7911
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7912
    "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
  7913
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7914
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7915
returnNilIfMissing:aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7916
    returnNilIfMissing:= aBoolean.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7917
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7918
    "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
  7919
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7920
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7921
!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
  7922
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7923
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
  7924
    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
  7925
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7926
    "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
  7927
!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7928
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7929
initialize
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7930
    constantPoolMapping := IdentityDictionary new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7931
    javaClasses := Dictionary new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7932
    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
  7933
    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
  7934
    javaMethodsPerMethod := Dictionary new
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7935
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7936
    "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
  7937
    "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
  7938
    "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
  7939
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7940
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7941
setVM: aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7942
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7943
    "Now, aJavaVM == JavaVM (i.e, the class JavaVM
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7944
    itself, not its instance)"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7945
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7946
    vm := aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7947
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7948
    "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
  7949
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7950
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7951
!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
  7952
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7953
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
  7954
    ^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
  7955
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7956
    "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
  7957
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7958
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7959
classForJavaClassObject: aJavaClassObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7960
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7961
        Given an instance of java.lang.Class, answers
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7962
        real (Java) class associated with it. The instance
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7963
        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
  7964
        (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
  7965
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7966
    ^ 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
  7967
        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
  7968
            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
  7969
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7970
            "/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
  7971
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7972
            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
  7973
        ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7974
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7975
    "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
  7976
    "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
  7977
    "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
  7978
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7979
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7980
javaClassObjectArrayForClasses: classes
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7981
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7982
        Answers an instance of java.lang.Class[] for given
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7983
        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
  7984
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7985
    | 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
  7986
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  7987
    array := _java_lang_Class_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
  7988
                new: classes size.
3506
bb380fa2d40f #REFACTORING
Stefan Vogel <sv@exept.de>
parents: 3431
diff changeset
  7989
    classes isEmptyOrNil ifTrue: [ ^ array ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7990
    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
  7991
        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
  7992
    ^ array
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7993
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7994
    "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
  7995
    "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
  7996
    "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
  7997
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7998
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7999
javaClassObjectForClass:aClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8000
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8001
    ^self javaClassObjectForClass:aClass init: true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8002
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8003
    "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
  8004
    "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
  8005
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8006
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8007
javaClassObjectForClass: aClass init: init
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8008
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8009
        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
  8010
        real (Java) class."
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8011
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8012
    | javaClassObj |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8013
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8014
    self assert: aClass isBehavior message: 'aClass is not behavior'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8015
    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
  8016
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8017
    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
  8018
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8019
    "/ 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
  8020
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8021
    "/ 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
  8022
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8023
    "/ 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
  8024
    "/ 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
  8025
    (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
  8026
        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
  8027
        aClass lookupObject: JavaLookup instance.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8028
    ].
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  8029
    javaClassObj := _java_lang_Class_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
  8030
    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
  8031
    ^ javaClassObj
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8032
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8033
    "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
  8034
    "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
  8035
    "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
  8036
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8037
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8038
javaClassObjectForClassNamed: className
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8039
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8040
        Answers an instance of java.lang.Class for given
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8041
        (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
  8042
        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
  8043
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8044
    | cls |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8045
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8046
    cls := JavaDescriptor baseTypesByTypeName at: className
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8047
                ifAbsent: [ vm classForName: className ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8048
    ^ self javaClassObjectForClass: cls.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8049
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8050
    "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
  8051
    "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
  8052
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8053
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8054
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
  8055
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8056
    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
  8057
    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
  8058
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8059
    "Created: / 05-12-2011 / 09:57:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3216
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8060
!
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8061
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8062
removeJavaClassObjectForClass: class
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8063
    | classObject |
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8064
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8065
    classObject := javaClasses at: class ifAbsent:[ ^ self ].
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8066
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8067
    javaClasses removeKey: class.
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8068
    javaClasses removeKey: classObject.
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8069
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8070
    "Created: / 09-08-2014 / 00:05:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8071
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8072
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8073
!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
  8074
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8075
constantPoolFor:javaConstantPoolObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8076
    ^ constantPoolMapping at:javaConstantPoolObject
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8077
        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
  8078
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8079
    "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
  8080
    "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
  8081
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8082
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8083
javaConstantPoolObjectFor: aConstantPool
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8084
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8085
    ^constantPoolMapping at: aConstantPool ifAbsent:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8086
        [| javaConstantPoolObject |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8087
        javaConstantPoolObject := (vm classForName:'sun.reflect.ConstantPool') new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8088
        constantPoolMapping at: aConstantPool put: javaConstantPoolObject.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8089
        constantPoolMapping at: javaConstantPoolObject put: aConstantPool.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8090
        javaConstantPoolObject]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8091
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8092
    "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
  8093
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8094
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8095
!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
  8096
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8097
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
  8098
     "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
  8099
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8100
    | 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
  8101
    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
  8102
    ^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
  8103
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8104
    "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
  8105
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8106
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8107
javaConstructorObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8108
     "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
  8109
      instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8110
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8111
    | jCtor |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8112
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8113
    javaMethodsPerMethod at:method ifPresent:[:existingCtor|^existingCtor].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8114
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8115
    jCtor := (Java classForName:'java.lang.reflect.Constructor') new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8116
    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
  8117
    self rememberJavaMethodObject: jCtor for: method.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8118
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8119
    ^ jCtor
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8120
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8121
    "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
  8122
    "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
  8123
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8124
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8125
javaMethodObjectForMethod:method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8126
     "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
  8127
      instance for it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8128
     | jMethod |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8129
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8130
    javaMethodsPerMethod at:method ifPresent:[:existingCtor|^existingCtor].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8131
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8132
    jMethod := (Java classForName:'java.lang.reflect.Method') new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8133
    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
  8134
    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
  8135
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8136
    jMethod
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8137
        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
  8138
        instVarNamed: #returnType put: (method descriptor returnClassObject);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8139
        instVarNamed: #annotationDefault put: (method annotations default bytes);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8140
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8141
        yourself.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8142
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8143
    ^jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8144
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8145
    "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
  8146
    "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
  8147
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8148
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8149
javaMethodObjectLikeSlotsInto: jMethod forMethod: method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8150
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8151
       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
  8152
       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
  8153
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8154
    | desc |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8155
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8156
    desc := method descriptor.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8157
    jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8158
        instVarNamed: #clazz put: (self javaClassObjectForClass: method javaClass);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8159
        instVarNamed: #slot put: 0;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8160
        instVarNamed: #modifiers put: method accessFlags;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8161
        instVarNamed: #parameterTypes
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8162
            put: (self javaClassObjectArrayForClasses: desc parameterClasses);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8163
        instVarNamed: #exceptionTypes
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8164
            put: (self javaClassObjectArrayForClasses: method javaExceptionTable);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8165
        instVarNamed: #annotations put: (method annotations runtimeVisible bytes);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8166
        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
  8167
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8168
    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
  8169
        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
  8170
            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
  8171
            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
  8172
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8173
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8174
    ^ jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8175
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8176
    "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
  8177
    "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
  8178
    "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
  8179
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8180
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8181
methodForJavaConstructorObject:constructor
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8182
     "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
  8183
      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
  8184
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8185
    | 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
  8186
    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
  8187
    ^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
  8188
"/    ^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
  8189
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8190
"/    |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
  8191
"/    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
  8192
"/    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
  8193
"/    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
  8194
"/        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
  8195
"/            ^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
  8196
"/        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8197
"/    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8198
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8199
    "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
  8200
    "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
  8201
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8202
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8203
methodForJavaMethodObject:jmethod
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8204
     "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8205
         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
  8206
         real method associated with it.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8207
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8208
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8209
    | 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
  8210
    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
  8211
    ^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
  8212
"/    ^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
  8213
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8214
"/    |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
  8215
"/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8216
"/    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
  8217
"/    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
  8218
"/    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
  8219
"/    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
  8220
"/        (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
  8221
"/            ^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
  8222
"/        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8223
"/    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8224
"/    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
  8225
"/    ^nil.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8226
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8227
    "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
  8228
    "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
  8229
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8230
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8231
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
  8232
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8233
    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
  8234
    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
  8235
    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
  8236
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8237
    "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
  8238
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8239
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8240
!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
  8241
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8242
javaStringObjectForString:string
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8243
    ^ self javaStringObjectForString: string interned: false
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8244
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8245
    "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
  8246
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8247
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8248
javaStringObjectForString:string interned:intern
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8249
    | s |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8250
    s := Java as_String: string.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8251
    ^intern ifTrue:[Java intern: s] ifFalse:[s]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8252
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8253
    "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
  8254
    "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
  8255
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8256
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  8257
!JavaVM class methodsFor:'documentation'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  8258
2157
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  8259
version
3506
bb380fa2d40f #REFACTORING
Stefan Vogel <sv@exept.de>
parents: 3431
diff changeset
  8260
    ^ '$Header$'
2157
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  8261
!
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  8262
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  8263
version_CVS
3506
bb380fa2d40f #REFACTORING
Stefan Vogel <sv@exept.de>
parents: 3431
diff changeset
  8264
    ^ '$Header$'
2157
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  8265
!
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  8266
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  8267
version_HG
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  8268
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  8269
    ^ '$Changeset: <not expanded> $'
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  8270
!
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  8271
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8272
version_SVN
3506
bb380fa2d40f #REFACTORING
Stefan Vogel <sv@exept.de>
parents: 3431
diff changeset
  8273
    ^ '$Id$'
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  8274
! !
2108
ca8c4e7db2e8 category change
Claus Gittinger <cg@exept.de>
parents: 2100
diff changeset
  8275
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8276
2085
dc0785700fbb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  8277
JavaVM initialize!