JavaVM.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 21 Mar 2016 09:21:48 +0000
changeset 3539 e546e1df7a01
parent 3515 84f25ecd7385
child 3551 f8304e321df7
permissions -rw-r--r--
Fixed baaad bug in INVOKE? handling when method does not exist ...due to incompatible change in .class file. When a method that does not exist is about to be invoked, then `java.lang.NoSuchMethodError` must be thrown. If the instruction is INVOKEINTERFACE, `java.lang.AbstractMethodError` should be thrown instead. The VM does not check nor throw these exceptions by itself. Instead it relies on Smalltalk #doesNotUnderstand: mechanism. There it checks whether the sending context is a a JavaContext and if so, throw Java error as specified in JVM spec. Interesting how far we went without noticing...
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
3515
84f25ecd7385 Morre cleanup of JavaVM::ReflectionRegistry.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3514
diff changeset
    54
	instanceVariableNames:'vm constantPoolMapping javaClasses javaArrayClasses'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    55
	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
    56
	poolDictionaries:'JavaVMData'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    57
	privateIn:JavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    58
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    59
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
    60
!JavaVM class methodsFor:'documentation'!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
    61
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    62
copyright
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    63
"
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3264
diff changeset
    64
 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
    65
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
 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
    67
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3264
diff changeset
    68
 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
    69
                            SWING Research Group, Czech Technical University in Prague
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    70
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    71
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    72
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    73
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    74
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    75
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    76
 hereby transferred.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    77
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
    78
 [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
    79
     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
    80
     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
    81
     as of 1.9.2010
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    82
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    83
"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    84
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    85
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    86
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
    87
"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
    88
You shouldn't communicate with JavaVM directly,
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    89
use Java class instead. JavaVM is layer between
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
    90
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
    91
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
    92
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
    93
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
    94
control class loading and reflection"
454
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    95
!
38f590639d65 *** empty log message ***
cg
parents: 451
diff changeset
    96
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
    97
nativeMethods
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
    98
"
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
    99
    all native methods:
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   100
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   101
        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
   102
            m isNative
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   103
        ]
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   104
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   105
    implemented methods:
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   106
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   107
        JavaMethod allSubInstances select:[:m |
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   108
            |sel|
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   109
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   110
            m isNative ifTrue:[
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   111
                sel := ('_' , m javaClass lastName , '_' , m name , ':') asSymbol.
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   112
                JavaVM class implements:sel.
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   113
            ] ifFalse:[
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   114
                false
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   115
            ]
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   116
        ]
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   117
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   118
    unimplemented methods:
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   119
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   120
        JavaMethod allSubInstances select:[:m |
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   121
            |sel|
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   122
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   123
            m isNative ifTrue:[
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   124
                sel := ('_' , m javaClass lastName , '_' , m name , ':') asSymbol.
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   125
                (JavaVM class implements:sel) not
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   126
            ] ifFalse:[
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   127
                false
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   128
            ]
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
   129
        ]
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   130
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
   131
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   132
    list of all native methods as in jdk1.1.3:
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   133
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   134
      X - implemented
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   135
      * - implemented to be validated
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   136
      x - implemented with limited functionality
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   137
      o - implemented as dummy (no functionality)
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   138
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   139
    X (Math::double sin (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   140
    X (Math::double cos (double))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   141
    X (Math::double tan (double))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   142
    X (Math::double asin (double))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   143
    X (Math::double acos (double))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   144
    X (Math::double atan (double))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   145
    X (Math::double exp (double))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   146
    X (Math::double log (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   147
    X (Math::double sqrt (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   148
      (Math::double IEEEremainder (double double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   149
    X (Math::double ceil (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   150
    X (Math::double floor (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   151
      (Math::double rint (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   152
      (Math::double atan2 (double double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   153
    X (Math::double pow (double double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   154
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   155
    X (Class::java.lang.Class forName (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   156
    X (Class::java.lang.Object newInstance ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   157
    * (Class::boolean isInstance (java.lang.Object))
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   158
    X (Class::boolean isAssignableFrom (java.lang.Class))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   159
    X (Class::boolean isInterface ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   160
      (Class::boolean isArray ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   161
    X (Class::boolean isPrimitive ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   162
    X (Class::java.lang.String getName ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   163
    X (Class::java.lang.ClassLoader getClassLoader ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   164
    X (Class::java.lang.Class getSuperclass ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   165
      (Class::java.lang.Class[] getInterfaces ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   166
      (Class::java.lang.Class getComponentType ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   167
      (Class::int getModifiers ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   168
      (Class::java.lang.Object[] getSigners ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   169
      (Class::void setSigners (java.lang.Object[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   170
    X (Class::java.lang.Class getPrimitiveClass (java.lang.String))
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   171
      (Class::java.lang.reflect.Field getField0 (java.lang.String int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   172
      (Class::java.lang.reflect.Field[] getFields0 (int))
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   173
    X (Class::java.lang.reflect.Method getMethod0 (java.lang.String java.lang.Class[] int))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   174
    X (Class::java.lang.reflect.Method[] getMethods0 (int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   175
      (Class::java.lang.reflect.Constructor[] getConstructors0 (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   176
      (Class::java.lang.reflect.Constructor getConstructor0 (java.lang.Class[] int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   177
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   178
    X (InetAddressImpl::java.lang.String getLocalHostName ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   179
    X (InetAddressImpl::void makeAnyLocalAddress (java.net.InetAddress))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   180
    X (InetAddressImpl::byte[][] lookupAllHostAddr (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   181
      (InetAddressImpl::java.lang.String getHostByAddr (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   182
    X (InetAddressImpl::int getInetFamily ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   183
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   184
    X (ResourceBundle::java.lang.Class[] getClassContext ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   185
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   186
    X (System::void setIn0 (java.io.InputStream))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   187
    X (System::void setOut0 (java.io.PrintStream))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   188
    X (System::void setErr0 (java.io.PrintStream))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   189
    X (System::long currentTimeMillis ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   190
    X (System::void arraycopy (java.lang.Object int java.lang.Object int int))
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   191
    X (System::int identityHashCode (java.lang.Object))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   192
    X (System::java.util.Properties initProperties (java.util.Properties))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   193
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   194
    X (Thread::java.lang.Thread currentThread ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   195
    X (Thread::void yield ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   196
    X (Thread::void sleep (long))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   197
    X (Thread::void start ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   198
    X (Thread::boolean isInterrupted (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   199
    X (Thread::boolean isAlive ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   200
      (Thread::int countStackFrames ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   201
    X (Thread::void setPriority0 (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   202
    X (Thread::void stop0 (java.lang.Object))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   203
    X (Thread::void suspend0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   204
    X (Thread::void resume0 ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   205
    * (Thread::void interrupt0 ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   206
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   207
      (String::java.lang.String intern ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   208
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   209
    X (Float::int floatToIntBits (float))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   210
    X (Float::float intBitsToFloat (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   211
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   212
      (ObjectStreamClass::int getClassAccess (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   213
      (ObjectStreamClass::java.lang.String[] getMethodSignatures (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   214
      (ObjectStreamClass::int getMethodAccess (java.lang.Class java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   215
      (ObjectStreamClass::java.lang.String[] getFieldSignatures (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   216
      (ObjectStreamClass::int getFieldAccess (java.lang.Class java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   217
      (ObjectStreamClass::java.io.ObjectStreamField[] getFields0 (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   218
      (ObjectStreamClass::long getSerialVersionUID (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   219
      (ObjectStreamClass::boolean hasWriteObject (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   220
      (ObjectInputStream::java.lang.Class loadClass0 (java.lang.Class java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   221
      (ObjectInputStream::void inputClassFields (java.lang.Object java.lang.Class int[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   222
      (ObjectInputStream::java.lang.Object allocateNewObject (java.lang.Class java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   223
      (ObjectInputStream::java.lang.Object allocateNewArray (java.lang.Class int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   224
      (ObjectInputStream::boolean invokeObjectReader (java.lang.Object java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   225
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   226
      (SecurityManager::java.lang.Class[] getClassContext ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   227
    X (SecurityManager::java.lang.ClassLoader currentClassLoader ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   228
      (SecurityManager::int classDepth (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   229
    X (SecurityManager::int classLoaderDepth ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   230
      (SecurityManager::java.lang.Class currentLoadedClass0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   231
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   232
    X (ClassLoader::void init ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   233
    X (ClassLoader::java.lang.Class defineClass0 (java.lang.String byte[] int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   234
    X (ClassLoader::void resolveClass0 (java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   235
    X (ClassLoader::java.lang.Class findSystemClass0 (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   236
    X (ClassLoader::java.io.InputStream getSystemResourceAsStream0 (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   237
      (ClassLoader::java.lang.String getSystemResourceAsName0 (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   238
655
d84fb513e1f5 checkin from browser
cg
parents: 652
diff changeset
   239
    X (FileDescriptor::boolean valid ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   240
      (FileDescriptor::void sync ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   241
    X (FileDescriptor::java.io.FileDescriptor initSystemFD (java.io.FileDescriptor int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   242
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   243
    X (Object::java.lang.Class getClass ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   244
    X (Object::int hashCode ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   245
    X (Object::java.lang.Object clone ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   246
    X (Object::void notify ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   247
    X (Object::void notifyAll ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   248
    X (Object::void wait (long))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   249
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   250
    X (FileOutputStream::void open (java.lang.String))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   251
    X (FileOutputStream::void openAppend (java.lang.String))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   252
    X (FileOutputStream::void write (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   253
    X (FileOutputStream::void writeBytes (byte[] int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   254
    X (FileOutputStream::void close ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   255
    X (FileInputStream::void open (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   256
    X (FileInputStream::int read ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   257
    X (FileInputStream::int readBytes (byte[] int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   258
      (FileInputStream::long skip (long))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   259
    X (FileInputStream::int available ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   260
    X (FileInputStream::void close ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   262
      (VM::int getState ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   263
      (VM::boolean threadsSuspended ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   264
      (VM::void unsuspendThreads ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   265
      (VM::void unsuspendSomeThreads ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   266
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   267
    X (File::boolean exists0 ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   268
    X (File::boolean canWrite0 ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   269
    X (File::boolean canRead0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   270
    X (File::boolean isFile0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   271
    X (File::boolean isDirectory0 ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   272
    X (File::long lastModified0 ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   273
    X (File::long length0 ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   274
    X (File::boolean mkdir0 ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   275
    X (File::boolean renameTo0 (java.io.File))
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   276
    X (File::boolean delete0 ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   277
      (File::boolean rmdir0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   278
    X (File::java.lang.String[] list0 ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   279
      (File::java.lang.String canonPath (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   280
    X (File::boolean isAbsolute ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   281
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   282
      (ObjectOutputStream::void outputClassFields (java.lang.Object java.lang.Class int[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   283
      (ObjectOutputStream::boolean invokeObjectWriter (java.lang.Object java.lang.Class))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   284
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   285
    X (Throwable::void printStackTrace0 (java.lang.Object))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   286
    X (Throwable::java.lang.Throwable fillInStackTrace ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   287
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   288
    X (Double::long doubleToLongBits (double))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   289
    X (Double::double longBitsToDouble (long))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   290
    X (Double::double valueOf0 (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   291
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   292
    X (Runtime::void exitInternal (int))
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   293
    o (Runtime::void runFinalizersOnExit0 (boolean))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   294
    o (Runtime::java.lang.Process execInternal (java.lang.String[] java.lang.String[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   295
    X (Runtime::long freeMemory ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   296
    X (Runtime::long totalMemory ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   297
    X (Runtime::void gc ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   298
      (Runtime::void runFinalization ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   299
      (Runtime::void traceInstructions (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   300
      (Runtime::void traceMethodCalls (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   301
    X (Runtime::java.lang.String initializeLinkerInternal ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   302
    X (Runtime::java.lang.String buildLibName (java.lang.String java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   303
    X (Runtime::int loadFileInternal (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   304
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   305
      (WDrawingSurfaceInfo::int lock ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   306
      (WDrawingSurfaceInfo::void unlock ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   307
      (WDrawingSurfaceInfo::int getHWnd ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   308
      (WDrawingSurfaceInfo::int getHBitmap ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   309
      (WDrawingSurfaceInfo::int getPBits ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   310
      (WDrawingSurfaceInfo::int getHDC ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   311
      (WDrawingSurfaceInfo::int getDepth ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   312
      (WDrawingSurfaceInfo::int getHPalette ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   313
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   314
    X (WDefaultFontCharset::boolean canConvert (char))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   315
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   316
      (ColorModel::void deletepData ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   317
    X (WToolkit::void init (java.lang.Thread))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   318
    X (WToolkit::void eventLoop ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   319
      (WToolkit::java.awt.image.ColorModel makeColorModel ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   320
    X (WToolkit::int getScreenResolution ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   321
    X (WToolkit::int getScreenWidth ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   322
    X (WToolkit::int getScreenHeight ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   323
      (WToolkit::void sync ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   324
    * (WToolkit::void beep ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   325
    X (WToolkit::void loadSystemColors (int[]))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   326
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   327
      (WPrintJob::void end ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   328
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   329
    X (WDialogPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   330
    X (WDialogPeer::void _show ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   331
    X (WDialogPeer::void _hide ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   332
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   333
    X (WWindowPeer::void toFront ())
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   334
    X (WWindowPeer::void toBack ())
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   335
    X (WWindowPeer::void _setTitle (java.lang.String))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   336
    X (WWindowPeer::void _setResizable (boolean))
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   337
    X (WWindowPeer::void create (sun.awt.windows.WComponentPeer))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   338
    o (WWindowPeer::void updateInsets (java.awt.Insets))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   339
      (WWindowPeer::java.awt.Component getContainerElement (java.awt.Container int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   340
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   341
    X (WCanvasPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   342
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   343
    X (WTextAreaPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   344
    X (WTextAreaPeer::void insertText (java.lang.String int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   345
      (WTextAreaPeer::void replaceText (java.lang.String int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   346
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   347
    X (WTextComponentPeer::java.lang.String getText ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   348
    X (WTextComponentPeer::void setText (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   349
    X (WTextComponentPeer::int getSelectionStart ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   350
    X (WTextComponentPeer::int getSelectionEnd ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   351
    X (WTextComponentPeer::void select (int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   352
    X (WTextComponentPeer::void enableEditing (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   353
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   354
    X (WComponentPeer::void show ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   355
    X (WComponentPeer::void hide ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   356
    X (WComponentPeer::void enable ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   357
    X (WComponentPeer::void disable ())
494
77b9e9bbf79a checkin from browser
cg
parents: 493
diff changeset
   358
    X (WComponentPeer::java.awt.Point getLocationOnScreen ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   359
    X (WComponentPeer::void reshape (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   360
    o (WComponentPeer::void handleEvent (java.awt.AWTEvent))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   361
    o (WComponentPeer::void _dispose ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   362
    X (WComponentPeer::void _setForeground (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   363
    X (WComponentPeer::void _setBackground (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   364
    o (WComponentPeer::void setFont (java.awt.Font))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   365
    o (WComponentPeer::void requestFocus ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   366
    o (WComponentPeer::void setCursor (java.awt.Cursor))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   367
    o (WComponentPeer::void start ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   368
      (WComponentPeer::void _beginValidate ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   369
      (WComponentPeer::void endValidate ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   370
    o (WComponentPeer::void setZOrderPosition (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   371
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   372
    X (WFramePeer::void setMenuBar0 (sun.awt.windows.WMenuBarPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   373
    X (WFramePeer::void create (sun.awt.windows.WComponentPeer))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   374
    X (WFramePeer::void _setIconImage (sun.awt.image.ImageRepresentation))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   375
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   376
    o (WFontMetrics::boolean needsConversion (java.awt.Font sun.awt.FontDescriptor))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   377
    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
   378
      (WFontMetrics::int bytesWidth (byte[] int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   379
      (WFontMetrics::void init ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   380
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   381
    o (WChoicePeer::void select (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   382
    o (WChoicePeer::void remove (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   383
    o (WChoicePeer::void addItem (java.lang.String int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   384
    X (WChoicePeer::void reshape (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   385
    X (WChoicePeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   386
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   387
    X (WLabelPeer::void setText (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   388
    o (WLabelPeer::void setAlignment (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   389
    X (WLabelPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   390
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   391
    X (WMenuItemPeer::void _setLabel (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   392
    X (WMenuItemPeer::void create (sun.awt.windows.WMenuPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   393
    X (WMenuItemPeer::void enable (boolean))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   394
    o (WMenuItemPeer::void _dispose ())
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   395
      (WMenuPeer::void addSeparator ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   396
      (WMenuPeer::void delItem (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   397
    X (WMenuPeer::void createMenu (sun.awt.windows.WMenuBarPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   398
      (WMenuPeer::void createSubMenu (sun.awt.windows.WMenuPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   399
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   400
      (WPopupMenuPeer::void createMenu (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   401
      (WPopupMenuPeer::void _show (java.awt.Event))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   402
      (WMenuBarPeer::void addMenu (java.awt.Menu))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   403
      (WMenuBarPeer::void delMenu (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   404
    X (WMenuBarPeer::void create (sun.awt.windows.WFramePeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   405
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   406
      (WCheckboxMenuItemPeer::void setState (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   407
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   408
    X (WFileDialogPeer::void show ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   409
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   410
    X (WCheckboxPeer::void setState (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   411
    X (WCheckboxPeer::void setCheckboxGroup (java.awt.CheckboxGroup))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   412
      (WCheckboxPeer::void setLabel (java.lang.String))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   413
    X (WCheckboxPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   414
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   415
    X (WClipboard::void init ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   416
      (WClipboard::void setClipboardText (java.awt.datatransfer.StringSelection))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   417
      (WClipboard::java.lang.String getClipboardText ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   418
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   419
    X (WListPeer::void addItem (java.lang.String int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   420
    X (WListPeer::void delItems (int int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   421
    X (WListPeer::void select (int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   422
      (WListPeer::void deselect (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   423
      (WListPeer::void makeVisible (int))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   424
    X (WListPeer::void setMultipleSelections (boolean))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   425
    X (WListPeer::void create (sun.awt.windows.WComponentPeer))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   426
    X (WListPeer::boolean isSelected (int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   427
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   428
    x (WScrollbarPeer::void _setValues (int int int int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   429
    x (WScrollbarPeer::void setLineIncrement (int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   430
    x (WScrollbarPeer::void setPageIncrement (int))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   431
    x (WScrollbarPeer::void create (sun.awt.windows.WComponentPeer))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   432
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   433
    x (ImageRepresentation::void offscreenInit (java.awt.Color))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   434
    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
   435
    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
   436
    x (ImageRepresentation::boolean finish (boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   437
    X (ImageRepresentation::void imageDraw (java.awt.Graphics int int java.awt.Color))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   438
    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
   439
    x (ImageRepresentation::void disposeImage ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   440
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   441
    X (WTextFieldPeer::void create (sun.awt.windows.WComponentPeer))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   442
    X (WTextFieldPeer::void setEchoCharacter (char))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   443
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   444
    X (WScrollPanePeer::void create (sun.awt.windows.WComponentPeer))
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   445
    o (WScrollPanePeer::int getOffset (int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   446
      (WScrollPanePeer::void setInsets ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   447
      (WScrollPanePeer::void setScrollPosition (int int))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   448
    x (WScrollPanePeer::int _getHScrollbarHeight ())
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   449
    x (WScrollPanePeer::int _getVScrollbarWidth ())
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   450
    o (WScrollPanePeer::void setSpans (int int int int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   451
      (WScrollPanePeer::java.awt.Component getScrollChild ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   452
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   453
      (WEmbeddedFramePeer::void create (sun.awt.windows.WComponentPeer))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   454
    X (WButtonPeer::void setLabel (java.lang.String))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   455
    X (WButtonPeer::void create (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   456
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   457
    x (WColor::java.awt.Color getDefaultColor (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   458
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   459
    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
   460
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   461
    x (WGraphics::void createFromComponent (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   462
    x (WGraphics::void createFromGraphics (sun.awt.windows.WGraphics))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   463
      (WGraphics::void createFromPrintJob (sun.awt.windows.WPrintJob))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   464
      (WGraphics::void createFromHDC (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   465
    x (WGraphics::void imageCreate (sun.awt.image.ImageRepresentation))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   466
    x (WGraphics::void pSetFont (java.awt.Font))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   467
    X (WGraphics::void pSetForeground (int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   468
      (WGraphics::void _dispose ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   469
    x (WGraphics::void dispose ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   470
    x (WGraphics::void setPaintMode ())
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   471
    x (WGraphics::void setXORMode (java.awt.Color))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   472
    o (WGraphics::java.awt.Rectangle getClipBounds ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   473
    o (WGraphics::void changeClip (int int int int boolean))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   474
      (WGraphics::void removeClip ())
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   475
    X (WGraphics::void clearRect (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   476
    X (WGraphics::void fillRect (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   477
    X (WGraphics::void drawRect (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   478
      (WGraphics::void drawSFChars (char[] int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   479
    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
   480
      (WGraphics::int drawMFCharsConvertedSegment (java.awt.Font sun.awt.FontDescriptor byte[] int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   481
      (WGraphics::void drawBytes (byte[] int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   482
    X (WGraphics::void drawLine (int int int int))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   483
    X (WGraphics::void copyArea (int int int int int int))
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   484
    o (WGraphics::void drawRoundRect (int int int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   485
    o (WGraphics::void fillRoundRect (int int int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   486
    X (WGraphics::void drawPolygon (int[] int[] int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   487
      (WGraphics::void drawPolyline (int[] int[] int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   488
    X (WGraphics::void fillPolygon (int[] int[] int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   489
    x (WGraphics::void drawOval (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   490
    x (WGraphics::void fillOval (int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   491
    x (WGraphics::void drawArc (int int int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   492
    x (WGraphics::void fillArc (int int int int int int))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   493
      (WGraphics::void print (sun.awt.windows.WComponentPeer))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   494
      (WGraphics::void close (sun.awt.windows.WPrintJob))
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
   495
      (JPEGImageDecoder::void readImage (java.io.InputStream byte[]))
342
18284bd570b5 more math natives
cg
parents: 341
diff changeset
   496
    o (OffScreenImageSource::void sendPixels ())
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   497
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   498
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   499
    additional native methods added by microsoft (sigh):
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   500
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   501
    X (java.lang.String::boolean equals (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   502
    X (java.lang.String::int length (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   503
    o (java.lang.Runtime::void setInputStreamLocalised (java.io.DataInputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   504
    o (java.lang.Runtime::void setOutputStreamLocalised (java.io.DataOutputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   505
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   506
      (java.lang.String::int compareTo (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   507
      (java.lang.String::boolean equalsIgnoreCase (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   508
      (java.lang.String::int indexOf (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   509
      (java.lang.String::boolean startsWith (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   510
      (java.lang.String::boolean regionMatches (int java.lang.String int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   511
      (java.lang.String::boolean regionMatches (boolean int java.lang.String int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   512
      (java.lang.String::int lastIndexOf (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   513
      (java.lang.ClassLoader::void resolveClass (java.lang.Class))
661
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
   514
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   515
      (java.lang.ClassLoader::java.lang.Class createArrayClass (java.lang.String java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   516
      (java.io.PrintStream::boolean isOutputStreamLocalised (java.io.DataOutputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   517
      (java.lang.Runtime::boolean isOutputStreamLocalised (java.io.DataOutputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   518
      (java.lang.Runtime::boolean isInputStreamLocalised (java.io.DataInputStream))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   519
      (java.lang.ThreadGroup::void initMainThreadGroup0 (java.lang.ThreadGroup))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   520
      (java.lang.System::void validateSecurityManager (java.lang.SecurityManager))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   521
      (java.lang.Class::java.lang.reflect.Method getMethod2 (int java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   522
      (java.io.ObjectOutputStream::void invokeDefaultWriteObject (java.lang.Object java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   523
      (java.io.ObjectOutputStream::void invokeWriteObject (java.lang.Object java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   524
      (java.io.ObjectInputStream::void invokeDefaultReadObject (java.lang.Object java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   525
      (java.io.ObjectInputStream::void invokeReadObject (java.lang.Object java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   526
      (java.util.TimeZone::java.util.TimeZone getWin32TimeZone ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   527
      (java.net.InetAddress::java.lang.Object[] lookupHostByName (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   528
      (java.net.InetAddress::java.lang.Object[] lookupHostByAddr (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   529
      (java.io.ObjectStreamClass::void doMismatchedRead (java.io.ObjectInputStream java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   530
      (java.io.ObjectStreamClass::long getClassDefinedUID (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   531
      (java.io.ObjectStreamClass::boolean findObjectMethod0 (java.lang.Class int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   532
      (java.lang.reflect.Method::java.lang.String getDescriptor ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   533
      (java.lang.reflect.Array::void setShort (java.lang.Object int unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   534
      (java.lang.reflect.Array::char getChar (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   535
      (java.lang.reflect.Array::void setChar (java.lang.Object int char))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   536
      (java.lang.reflect.Array::void setDouble (java.lang.Object int double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   537
      (java.lang.reflect.Array::java.lang.Object get (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   538
      (java.lang.reflect.Array::void set (java.lang.Object int java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   539
      (java.lang.reflect.Array::int getInt (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   540
      (java.lang.reflect.Array::void setInt (java.lang.Object int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   541
      (java.lang.reflect.Array::java.lang.Object multiNewArray (java.lang.Class int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   542
      (java.lang.reflect.Array::boolean getBoolean (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   543
      (java.lang.reflect.Array::byte getByte (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   544
      (java.lang.reflect.Array::float getFloat (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   545
      (java.lang.reflect.Array::void setBoolean (java.lang.Object int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   546
      (java.lang.reflect.Array::long getLong (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   547
      (java.lang.reflect.Array::void setByte (java.lang.Object int byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   548
      (java.lang.reflect.Array::void setLong (java.lang.Object int long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   549
      (java.lang.reflect.Array::void setFloat (java.lang.Object int float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   550
      (java.lang.reflect.Array::java.lang.Object newArray (java.lang.Class int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   551
      (java.lang.reflect.Array::int getLength (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   552
      (java.lang.reflect.Array::unsigned short getShort (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   553
      (java.lang.reflect.Array::double getDouble (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   554
      (java.lang.reflect.Field::void setShort (java.lang.Object unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   555
      (java.lang.reflect.Field::char getChar (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   556
      (java.lang.reflect.Field::void setChar (java.lang.Object char))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   557
      (java.lang.reflect.Field::void setDouble (java.lang.Object double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   558
      (java.lang.reflect.Field::java.lang.Object get (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   559
      (java.lang.reflect.Field::void set (java.lang.Object java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   560
      (java.lang.reflect.Field::int getInt (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   561
      (java.lang.reflect.Field::void setInt (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   562
      (java.lang.reflect.Field::boolean getBoolean (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   563
      (java.lang.reflect.Field::byte getByte (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   564
      (java.lang.reflect.Field::float getFloat (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   565
      (java.lang.reflect.Field::long getLong (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   566
      (java.lang.reflect.Field::void setBoolean (java.lang.Object boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   567
      (java.lang.reflect.Field::void setByte (java.lang.Object byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   568
      (java.lang.reflect.Field::void setLong (java.lang.Object long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   569
      (java.lang.reflect.Field::void setFloat (java.lang.Object float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   570
      (java.lang.reflect.Field::int getModifiers ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   571
      (java.lang.reflect.Field::unsigned short getShort (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   572
      (java.lang.reflect.Field::double getDouble (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   573
      (java.lang.reflect.Constructor::java.lang.Object newInstance (java.lang.Object[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   574
      (java.lang.reflect.Constructor::int getModifiers ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   575
      (java.util.zip.Inflater::void setDictionary0 (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   576
      (java.util.zip.Inflater::int getTotalIn0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   577
      (java.util.zip.Inflater::void reset0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   578
      (java.util.zip.Inflater::void end0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   579
      (java.util.zip.Inflater::int inflate0 (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   580
      (java.util.zip.Inflater::int getTotalOut0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   581
      (java.util.zip.Inflater::int getAdler0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   582
      (java.util.zip.CRC32::void update1 (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   583
      (java.util.zip.CRC32::void update (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   584
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   585
      (com.ms.security.PolicyEngine::boolean isSystemClass (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   586
      (com.ms.security.PolicyEngine::void denyPermission (com.ms.security.PermissionID))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   587
      (com.ms.security.PolicyEngine::void revertPermission (com.ms.security.PermissionID))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   588
      (com.ms.security.PolicyEngine::void initPolicyEngine ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   589
      (com.ms.security.PolicyEngine::java.lang.Class _getClassOfCaller (java.lang.Class[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   590
      (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
   591
      (com.ms.security.PolicyEngine::com.ms.security.PermissionDataSet getPermissionsOfClass (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   592
      (com.ms.security.PolicyEngine::void assertPermission (com.ms.security.PermissionID))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   593
      (com.ms.security.PolicyEngine::void deepCheck (com.ms.security.PermissionID java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   594
      (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
   595
      (com.ms.security.PolicyEngine::java.security.Principal getPrincipalOfClass (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   596
      (com.ms.security.permissions.ThreadPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   597
      (com.ms.security.permissions.ThreadPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   598
      (com.ms.security.permissions.RegistryPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   599
      (com.ms.security.permissions.RegistryPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   600
      (com.ms.security.management.ZonePermissions::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   601
      (com.ms.security.management.ZonePermissions::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   602
      (com.ms.security.permissions.UIPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   603
      (com.ms.security.permissions.UIPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   604
      (com.ms.security.permissions.NetIOPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   605
      (com.ms.security.permissions.NetIOPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   606
      (com.ms.security.permissions.ReflectionPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   607
      (com.ms.security.permissions.ReflectionPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   608
      (com.ms.vm.WeakReference::void storeRef (int java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   609
      (com.ms.vm.WeakReference::int allocRef (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   610
      (com.ms.vm.WeakReference::void freeRef (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   611
      (com.ms.vm.WeakReference::java.lang.Object fetchRef (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   612
      (com.ms.dll.DllLib::void CoTaskMemFree (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   613
      (com.ms.dll.DllLib::void CopyWithDstOffset (int float[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   614
      (com.ms.dll.DllLib::void CopyWithDstOffset (int double[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   615
      (com.ms.dll.DllLib::int numParamBytes0 (java.lang.reflect.Method))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   616
      (com.ms.dll.DllLib::void CopyWithDstOffset (int java.lang.Object int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   617
      (com.ms.dll.DllLib::void write2 (java.lang.Object int unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   618
      (com.ms.dll.DllLib::void write2 (int int unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   619
      (com.ms.dll.DllLib::void write2 (java.lang.Object int char))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   620
      (com.ms.dll.DllLib::void write2 (int int char))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   621
      (com.ms.dll.DllLib::int GlobalAlloc (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   622
      (com.ms.dll.DllLib::void resize (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   623
      (com.ms.dll.DllLib::long read8 (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   624
      (com.ms.dll.DllLib::long read8 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   625
      (com.ms.dll.DllLib::int lstrcpy (java.lang.StringBuffer int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   626
      (com.ms.dll.DllLib::int lstrlenA (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   627
      (com.ms.dll.DllLib::int read4 (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   628
      (com.ms.dll.DllLib::int CoTaskMemAlloc (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   629
      (com.ms.dll.DllLib::void write8 (java.lang.Object int long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   630
      (com.ms.dll.DllLib::int sizeOf0 (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   631
      (com.ms.dll.DllLib::int getSystemDefaultCharSize ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   632
      (com.ms.dll.DllLib::void write8 (int int long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   633
      (com.ms.dll.DllLib::int read4 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   634
      (com.ms.dll.DllLib::byte read1 (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   635
      (com.ms.dll.DllLib::byte read1 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   636
      (com.ms.dll.DllLib::int lstrlen (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   637
      (com.ms.dll.DllLib::void CopyMemoryAnsi (int java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   638
      (com.ms.dll.DllLib::void CopyMemoryAnsi (java.lang.StringBuffer int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   639
      (com.ms.dll.DllLib::boolean isStruct (java.lang.reflect.Field))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   640
      (com.ms.dll.DllLib::boolean GlobalFree (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   641
      (com.ms.dll.DllLib::void internalAttemptCopyPtrToStruct (int java.lang.Object int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   642
      (com.ms.dll.DllLib::int getLastError ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   643
      (com.ms.dll.DllLib::void write4 (java.lang.Object int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   644
      (com.ms.dll.DllLib::void write4 (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   645
      (com.ms.dll.DllLib::unsigned short read2 (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   646
      (com.ms.dll.DllLib::unsigned short read2 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   647
      (com.ms.dll.DllLib::void release (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   648
      (com.ms.dll.DllLib::void write1 (java.lang.Object int byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   649
      (com.ms.dll.DllLib::void write1 (int int byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   650
      (com.ms.dll.DllLib::boolean isStructCls (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   651
      (com.ms.dll.DllLib::void prelink (java.lang.reflect.Method))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   652
      (com.ms.dll.DllLib::void CopyMemoryUni (int java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   653
      (com.ms.dll.DllLib::void CopyMemoryUni (java.lang.StringBuffer int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   654
      (com.ms.dll.DllLib::void internalAttemptCopyStructToPtr (java.lang.Object int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   655
      (com.ms.dll.DllLib::void CopyWithSrcOffset (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   656
      (com.ms.dll.DllLib::void CopyWithSrcOffset (byte[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   657
      (com.ms.dll.DllLib::void CopyWithSrcOffset (char[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   658
      (com.ms.dll.DllLib::void CopyWithSrcOffset (unsigned short[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   659
      (com.ms.dll.DllLib::void CopyWithSrcOffset (int[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   660
      (com.ms.dll.DllLib::void CopyWithSrcOffset (long[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   661
      (com.ms.dll.DllLib::void CopyWithSrcOffset (float[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   662
      (com.ms.dll.DllLib::void CopyWithSrcOffset (double[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   663
      (com.ms.dll.DllLib::void CopyWithSrcOffset (java.lang.Object int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   664
      (com.ms.dll.DllLib::void CopyWithDstOffset (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   665
      (com.ms.dll.DllLib::int lstrlenW (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   666
      (com.ms.dll.DllLib::void CopyWithDstOffset (int byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   667
      (com.ms.dll.DllLib::void CopyWithDstOffset (int char[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   668
      (com.ms.dll.DllLib::void CopyWithDstOffset (int unsigned short[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   669
      (com.ms.dll.DllLib::void CopyWithDstOffset (int int[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   670
      (com.ms.dll.DllLib::void CopyWithDstOffset (int long[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   671
      (com.ms.dll.DllLib::int internalGetStructAddr (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   672
      (com.ms.dll.DllLib::int offsetOf (java.lang.reflect.Field))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   673
      (com.ms.dll.DllLib::int lstrcpy (int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   674
      (com.ms.dll.DllLib::int sizeOf (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   675
      (com.ms.lang.RegKey::com.ms.lang.RegKeyEnumValue pRegEnumValue (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   676
      (com.ms.lang.RegKey::java.lang.String pRegQueryStringValue (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   677
      (com.ms.lang.RegKey::byte[] pRegQueryBinaryValue (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   678
      (com.ms.lang.RegKey::int pRegQueryIntValue (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   679
      (com.ms.lang.RegKey::void pRegSetStringValue (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   680
      (com.ms.lang.RegKey::void pRegSetIntValue (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   681
      (com.ms.lang.RegKey::void pRegSetBinaryValue (java.lang.String byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   682
      (com.ms.lang.RegKey::void pRegDeleteValue (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   683
      (com.ms.lang.RegKey::void pRegFlushKey ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   684
      (com.ms.lang.RegKey::void pRegDeleteKey (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   685
      (com.ms.lang.RegKey::void pRegOpenBaseKey (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   686
      (com.ms.lang.RegKey::void pRegOpenKey (com.ms.lang.RegKey java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   687
      (com.ms.lang.RegKey::int pRegQueryInfoKey (com.ms.lang.RegQueryInfo))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   688
      (com.ms.lang.RegKey::void pRegUnLoadKey (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   689
      (com.ms.lang.RegKey::void pRegCreateKey (com.ms.lang.RegKey java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   690
      (com.ms.lang.RegKey::void pRegRestoreKey (java.lang.String boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   691
      (com.ms.lang.RegKey::void pRegLoadKey (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   692
      (com.ms.lang.RegKey::void pRegCloseKey ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   693
      (com.ms.lang.RegKey::java.lang.String pRegEnumKey (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   694
      (com.ms.lang.RegKey::void pRegReplaceKey (java.lang.String java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   695
      (com.ms.awt.peer.NativeServices::int pGetKeyboardLayouts (int[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   696
      (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
   697
      (com.ms.awt.peer.NativeServices::int getColourDataDepth ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   698
      (com.ms.awt.peer.NativeServices::java.lang.String pGetFontEnumeratedFamily (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   699
      (com.ms.awt.peer.NativeServices::int pNewFontEnumeration ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   700
      (com.ms.awt.peer.NativeServices::int getScreenClipRgn (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   701
      (com.ms.awt.peer.NativeServices::int pSetKeyboardLayout (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   702
      (com.ms.awt.peer.NativeServices::void ClipboardInit (com.ms.awt.peer.IToolkit))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   703
      (com.ms.awt.peer.NativeServices::void getDeviceCaps (int int[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   704
      (com.ms.awt.peer.NativeServices::void getAfcMetrics (int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   705
      (com.ms.awt.peer.NativeServices::void setUserLocale (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   706
      (com.ms.awt.peer.NativeServices::void getDCDI (com.ms.awt.peer.DirectColourDataInfo))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   707
      (com.ms.awt.peer.NativeServices::int pGetNumKeyboardLayouts ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   708
      (com.ms.awt.peer.NativeServices::void getIndexedColours (byte[] byte[] byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   709
      (com.ms.awt.peer.NativeServices::int getNativeFont (java.lang.String int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   710
      (com.ms.awt.peer.NativeServices::int pGetKeyboardLayout ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   711
      (com.ms.awt.peer.NativeServices::int getSystemLCID ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   712
      (com.ms.awt.peer.NativeServices::void caretSetPos (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   713
      (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
   714
      (com.ms.awt.peer.NativeServices::java.lang.String ClipboardGetText ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   715
      (com.ms.awt.peer.NativeServices::int systemMetric (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   716
      (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
   717
      (com.ms.awt.peer.NativeServices::void caretHide (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   718
      (com.ms.awt.peer.NativeServices::int chooseColor (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   719
      (com.ms.awt.peer.NativeServices::java.lang.String pGetKeyboardLayoutName (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   720
      (com.ms.awt.peer.NativeServices::int matchFontAndLanguage (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   721
      (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
   722
      (com.ms.awt.peer.NativeServices::java.lang.String getSystemFont (int com.ms.awt.peer.LogFontX))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   723
      (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
   724
      (com.ms.awt.peer.NativeServices::void caretDispose (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   725
      (com.ms.awt.peer.NativeServices::void caretShow (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   726
      (com.ms.awt.peer.NativeServices::void deleteObject (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   727
      (com.ms.awt.peer.NativeServices::void setDebugOutput (com.ms.awt.peer.COMPrintCallback))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   728
      (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
   729
      (com.ms.awt.peer.NativeServices::int getSystemColourValue (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   730
      (com.ms.awt.peer.NativeServices::void caretCreate (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   731
      (com.ms.awt.peer.NativeServices::void ClipboardSetText (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   732
      (com.ms.awt.peer.NativeServices::void println (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   733
      (com.ms.security.SecurityClassLoader::boolean getSecureState ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   734
      (com.ms.security.SecurityClassLoader::void setSecureState (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   735
      (com.ms.security.SecurityClassLoader::java.lang.Class internalDefineClass (java.lang.String byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   736
      (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
   737
      (com.ms.security.SecurityClassLoader::java.util.Hashtable getHashTable ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   738
      (com.ms.security.auditing.SecurityAuditor::boolean isThreadAuditingEnabled ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   739
      (com.ms.security.auditing.SecurityAuditor::void disableThreadAuditing ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   740
      (com.ms.security.auditing.SecurityAuditor::void enableThreadAuditing ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   741
      (com.ms.security.auditing.SecurityAuditor::void initSecurityAuditor ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   742
      (com.ms.security.PermissionDataSet::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   743
      (com.ms.security.PermissionDataSet::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   744
      (com.ms.lang.SystemX::int pAnsiToUnicode (byte[] char[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   745
      (com.ms.lang.SystemX::int pQueryUnicodeToAnsi (char[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   746
      (com.ms.lang.SystemX::void gc ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   747
      (com.ms.lang.SystemX::boolean arrayCompare (java.lang.Object[] int java.lang.Object[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   748
      (com.ms.lang.SystemX::int pUnicodeToAnsi (char[] byte[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   749
      (com.ms.lang.SystemX::boolean isLocalCharDBCSLeadByte (byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   750
      (com.ms.lang.SystemX::int pQueryAnsiToUnicode (byte[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   751
      (com.ms.lang.SystemX::boolean isBaseDBCS ())
661
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
   752
      (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
   753
      (com.ms.packagemanager.JavaPackage::byte[] nativeGetSigner (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   754
      (com.ms.packagemanager.JavaPackage::byte[] nativeGetCapabilities (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   755
      (com.ms.com._Guid::void IIDFromString (java.lang.String com.ms.com._Guid))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   756
      (com.ms.com._Guid::java.lang.String StringFromIID (com.ms.com._Guid))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   757
      (com.ms.security.auditing.PrintStreamAuditor::int GetModuleHandle (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   758
      (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
   759
      (com.ms.security.permissions.CustomPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   760
      (com.ms.security.permissions.CustomPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   761
      (com.ms.security.permissions.X509Signer::boolean pLoad (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   762
      (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
   763
      (com.ms.packagemanager.PackageManager::java.lang.Object nativeGetPackage (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   764
      (com.ms.packagemanager.PackageManager::java.lang.String[] nativeGetBeansList ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   765
      (com.ms.packagemanager.PackageManager::com.ms.com.IStream nativeGetFileIStream (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   766
      (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
   767
      (com.ms.security.permissions.UserFileIOPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   768
      (com.ms.security.permissions.UserFileIOPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   769
      (com.ms.security.permissions.PropertyPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   770
      (com.ms.security.permissions.PropertyPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   771
      (com.ms.security.permissions.ClientStoragePermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   772
      (com.ms.security.permissions.ClientStoragePermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   773
      (com.ms.security.permissions.ExecutionPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   774
      (com.ms.security.permissions.ExecutionPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   775
      (com.ms.util.EventLog::boolean DeregisterEventSource (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   776
      (com.ms.util.EventLog::void reportEvent0 (unsigned short unsigned short int java.lang.String[] byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   777
      (com.ms.util.EventLog::int RegisterEventSource (java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   778
      (com.ms.applet.BrowserAppletFrame::void signalViewChange (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   779
      (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
   780
      (com.ms.applet.BrowserAppletFrame::void showSystemStatus (int int boolean java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   781
      (com.ms.applet.BrowserAppletFrame::com.ms.security.management.SecurityPolicy getSecurityPolicy0 (int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   782
      (com.ms.applet.BrowserAppletFrame::void setDownloadState (int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   783
      (com.ms.applet.BrowserAppletFrame::int GetSystemDefaultLCID ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   784
      (com.ms.applet.BrowserAppletFrame::void requestResize (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   785
      (com.ms.applet.BrowserAppletFrame::void signalObjectLoadDone (int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   786
      (com.ms.applet.BrowserAppletFrame::com.ms.applet.BrowserAppletFrame findOfflineContext ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   787
      (com.ms.applet.BrowserAppletFrame::void showStatus0 (int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   788
      (com.ms.applet.BrowserAppletFrame::boolean checkGlobalOfflineMode0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   789
      (com.ms.applet.BrowserAppletFrame::void showDocument0 (int java.lang.String java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   790
      (com.ms.security.permissions.SystemStreamsPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   791
      (com.ms.security.permissions.SystemStreamsPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   792
      (com.ms.security.permissions.FileIOPermission::byte[] pEncodeAsn ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   793
      (com.ms.security.permissions.FileIOPermission::boolean pDecodeAsn (byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   794
      (com.ms.com.ComLib::int newGCHandle (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   795
      (com.ms.com.ComLib::java.lang.Object derefGCHandle (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   796
      (com.ms.com.ComLib::void dprinthelper (char[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   797
      (com.ms.com.ComLib::void release (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   798
      (com.ms.com.ComLib::int jcdwClassSizeOf (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   799
      (com.ms.com.ComLib::int jcdwOffsetOf (java.lang.Object java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   800
      (com.ms.com.ComLib::int jcdwClassOffsetOf (java.lang.Class java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   801
      (com.ms.com.ComLib::boolean isJavaOwned (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   802
      (com.ms.com.ComLib::void brk (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   803
      (com.ms.com.ComLib::void setDataWrapperSize (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   804
      (com.ms.com.ComLib::void brk (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   805
      (com.ms.com.ComLib::void setJCDWHomeThread (java.lang.Object java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   806
      (com.ms.com.ComLib::void propagateOwnership (java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   807
      (com.ms.com.ComLib::void threadStartMTA (java.lang.Thread))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   808
      (com.ms.com.ComLib::void IENVNextMarshalerJ2C (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   809
      (com.ms.com.ComLib::boolean supportsInterface (java.lang.Object com.ms.com._Guid))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   810
      (com.ms.com.ComLib::java.lang.Object ptrToStruct (java.lang.Class int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   811
      (com.ms.com.ComLib::int jcdwSizeOf (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   812
      (com.ms.com.ComLib::void declareMessagePumpThread ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   813
      (com.ms.com.ComLib::void IENVNextMarshalerC2J (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   814
      (com.ms.com.ComLib::void freeGCHandle (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   815
      (com.ms.com.ComLib::boolean isEqualUnknown (java.lang.Object java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   816
      (com.ms.com.Dispatch::boolean NIsArray (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   817
      (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
   818
      (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
   819
      (com.ms.com.ComException::int FormatMessage (int int int int java.lang.StringBuffer int int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   820
      (com.ms.com.Variant::int toInt ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   821
      (com.ms.com.Variant::double toDate ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   822
      (com.ms.com.Variant::boolean toBoolean ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   823
      (com.ms.com.Variant::double toDouble ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   824
      (com.ms.com.Variant::long toCurrency ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   825
      (com.ms.com.Variant::void putVariantArray (com.ms.com.Variant[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   826
      (com.ms.com.Variant::com.ms.com.Variant[] getVariantArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   827
      (com.ms.com.Variant::void putByteArray (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   828
      (com.ms.com.Variant::void putShortRef (unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   829
      (com.ms.com.Variant::void putIntRef (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   830
      (com.ms.com.Variant::void putDoubleRef (double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   831
      (com.ms.com.Variant::void putDateRef (double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   832
      (com.ms.com.Variant::void putStringRef (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   833
      (com.ms.com.Variant::unsigned short getShortRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   834
      (com.ms.com.Variant::int getIntRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   835
      (com.ms.com.Variant::double getDoubleRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   836
      (com.ms.com.Variant::double getDateRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   837
      (com.ms.com.Variant::java.lang.String getStringRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   838
      (com.ms.com.Variant::java.lang.String internalToString ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   839
      (com.ms.com.Variant::void initSafeArrayByRef (com.ms.com.SafeArray int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   840
      (com.ms.com.Variant::java.lang.Object toCharArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   841
      (com.ms.com.Variant::java.lang.Object toDispatch ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   842
      (com.ms.com.Variant::byte toByte ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   843
      (com.ms.com.Variant::java.lang.Object getDispatch ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   844
      (com.ms.com.Variant::void putDispatch (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   845
      (com.ms.com.Variant::boolean getBoolean ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   846
      (com.ms.com.Variant::int toError ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   847
      (com.ms.com.Variant::java.lang.Object toObject ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   848
      (com.ms.com.Variant::void initSafeArrayByVal (com.ms.com.SafeArray int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   849
      (com.ms.com.Variant::java.lang.Object getObject ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   850
      (com.ms.com.Variant::void putObject (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   851
      (com.ms.com.Variant::com.ms.com.SafeArray toSafeArrayHelper (java.lang.Class))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   852
      (com.ms.com.Variant::void putFloatRef (float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   853
      (com.ms.com.Variant::void putCurrencyRef (long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   854
      (com.ms.com.Variant::void putErrorRef (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   855
      (com.ms.com.Variant::void putBooleanRef (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   856
      (com.ms.com.Variant::void putObjectRef (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   857
      (com.ms.com.Variant::void putByteRef (byte))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   858
      (com.ms.com.Variant::java.lang.String getString ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   859
      (com.ms.com.Variant::void putString (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   860
      (com.ms.com.Variant::float getFloatRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   861
      (com.ms.com.Variant::long getCurrencyRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   862
      (com.ms.com.Variant::int getErrorRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   863
      (com.ms.com.Variant::boolean getBooleanRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   864
      (com.ms.com.Variant::java.lang.Object getObjectRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   865
      (com.ms.com.Variant::byte getByteRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   866
      (com.ms.com.Variant::float toFloat ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   867
      (com.ms.com.Variant::void putCharArray (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   868
      (com.ms.com.Variant::void putDispatchRef (java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   869
      (com.ms.com.Variant::java.lang.Object getDispatchRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   870
      (com.ms.com.Variant::void putVariantArrayRef (com.ms.com.Variant[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   871
      (com.ms.com.Variant::com.ms.com.Variant[] getVariantArrayRef ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   872
      (com.ms.com.Variant::void changeType (unsigned short))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   873
      (com.ms.com.Variant::void ncloneIndirect (com.ms.com.Variant))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   874
      (com.ms.com.Variant::void nFinalize (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   875
      (com.ms.com.Variant::void nclone (com.ms.com.Variant))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   876
      (com.ms.com.Variant::unsigned short toShort ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   877
      (com.ms.com.Variant::void putSafeArrayRefHelper (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   878
      (com.ms.com.Variant::com.ms.com.Variant[] toVariantArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   879
      (com.ms.com.Variant::java.lang.Object toByteArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   880
      (com.ms.com.Variant::void TrueVariantClear ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   881
      (com.ms.awt.WToolkit::boolean MessageBeep (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   882
      (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
   883
      (com.ms.applet.AppletPanel::void securedCall0 (int java.lang.Object))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   884
      (com.ms.applet.AppletPanel::com.ms.security.PermissionSet getDefaultPermissionsFromLoader (com.ms.vm.loader.URLClassLoader))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   885
      (com.ms.dll.Win32Exception::int FormatMessage (int int int int java.lang.StringBuffer int int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   886
      (com.ms.awt.WGuiCallback::boolean SetEvent (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   887
      (com.ms.awt.WGuiCallback::int CreateSemaphore (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   888
      (com.ms.awt.WGuiCallback::int ReleaseSemaphore (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   889
      (com.ms.awt.WGuiCallback::void userYield (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   890
      (com.ms.awt.WGuiCallback::int MsgWaitForMultipleObjects (int int[] boolean int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   891
      (com.ms.awt.WGuiCallback::int CreateEvent (int boolean boolean int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   892
      (com.ms.activeX.ActiveXToolkit::int GetSysColor (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   893
      (com.ms.awt.peer.NativeGraphics::void setPageDimension (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   894
      (com.ms.awt.peer.NativeGraphics::void setBkColour (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   895
      (com.ms.awt.peer.NativeGraphics::void getClipBounds (com.ms.awt.peer.NativeRect int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   896
      (com.ms.awt.peer.NativeGraphics::void pGetCharOutline (int byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   897
      (com.ms.awt.peer.NativeGraphics::void drawLine (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   898
      (com.ms.awt.peer.NativeGraphics::void setXORMode (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   899
      (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
   900
      (com.ms.awt.peer.NativeGraphics::int getCoClass ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   901
      (com.ms.awt.peer.NativeGraphics::void drawArc (int int int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   902
      (com.ms.awt.peer.NativeGraphics::void getInitialPageDimension (com.ms.awt.peer.NativeRect))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   903
      (com.ms.awt.peer.NativeGraphics::void setVisRgn (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   904
      (com.ms.awt.peer.NativeGraphics::void pSetForeground (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   905
      (com.ms.awt.peer.NativeGraphics::int pGetDC ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   906
      (com.ms.awt.peer.NativeGraphics::void drawPixels (int[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   907
      (com.ms.awt.peer.NativeGraphics::void drawPolygon (int[] int[] int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   908
      (com.ms.awt.peer.NativeGraphics::void createFromImage (com.ms.awt.peer.INativeImage))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   909
      (com.ms.awt.peer.NativeGraphics::void endPage ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   910
      (com.ms.awt.peer.NativeGraphics::int pGetCharOutlineSize (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   911
      (com.ms.awt.peer.NativeGraphics::void pDrawBezier (int int int[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   912
      (com.ms.awt.peer.NativeGraphics::int drawBytes (byte[] int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   913
      (com.ms.awt.peer.NativeGraphics::void changeClip (int int int int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   914
      (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
   915
      (com.ms.awt.peer.NativeGraphics::void drawT2Curve (float float float float float float int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   916
      (com.ms.awt.peer.NativeGraphics::void createFromPrintJob (java.lang.String com.ms.awt.peer.SPJData))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   917
      (com.ms.awt.peer.NativeGraphics::void endPrintJob ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   918
      (com.ms.awt.peer.NativeGraphics::void pSetOrigin (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   919
      (com.ms.awt.peer.NativeGraphics::void createFromHDC (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   920
      (com.ms.awt.peer.NativeGraphics::void drawOval (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   921
      (com.ms.awt.peer.NativeGraphics::int pSetFont (java.lang.String int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   922
      (com.ms.awt.peer.NativeGraphics::void setPaintMode (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   923
      (com.ms.awt.peer.NativeGraphics::void startPage ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   924
      (com.ms.awt.peer.NativeGraphics::void clearClip ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   925
      (com.ms.awt.peer.NativeGraphics::void createFromCopy (com.ms.awt.peer.INativeGraphics))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   926
      (com.ms.awt.peer.NativeGraphics::void scanLines (int int[] int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   927
      (com.ms.awt.peer.NativeGraphics::void drawRoundRect (int int int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   928
      (com.ms.awt.peer.NativeGraphics::void dispose ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   929
      (com.ms.awt.peer.NativeGraphics::void clearRect (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   930
      (com.ms.awt.peer.NativeGraphics::void copyArea (int int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   931
      (com.ms.awt.peer.NativeGraphics::void createFromWindow (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   932
      (com.ms.awt.peer.NativeGraphics::void drawPolyline (int[] int[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   933
      (com.ms.awt.peer.NativeGraphics::void drawRect (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   934
      (com.ms.awt.peer.CToolkit::void callbackEventLoop (com.ms.awt.peer.IToolkitCallback))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   935
      (com.ms.awt.peer.CToolkit::int getToolkitHwnd ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   936
      (com.ms.awt.peer.CToolkit::int createCompHwnd (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   937
      (com.ms.awt.peer.CNativeSystemIME::void setCompositionFont (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   938
      (com.ms.awt.peer.CNativeSystemIME::void setCompositionPos (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   939
      (com.ms.awt.peer.CNativeSystemIME::void setOpenStatus (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   940
      (com.ms.awt.peer.CNativeSystemIME::int getOpenStatus (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   941
      (com.ms.awt.peer.CNativeSystemIME::java.lang.String getCompositionString (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   942
      (com.ms.awt.peer.CNativeSystemIME::java.lang.String getCompositionResultString (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   943
      (com.ms.net.wininet.WininetStreamHandlerFactory::int initNative (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   944
      (com.ms.com.SafeArray::void rawGetVariantAs (int com.ms.com.Variant))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   945
      (com.ms.com.SafeArray::void NSafeArrayInit (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   946
      (com.ms.com.SafeArray::float rawGetDouble (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   947
      (com.ms.com.SafeArray::void NRawBoolCopyToJavaArray (int int boolean[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   948
      (com.ms.com.SafeArray::void validateArray (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   949
      (com.ms.com.SafeArray::void NSafeArrayCreateFromString (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   950
      (com.ms.com.SafeArray::void rawSetString (int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   951
      (com.ms.com.SafeArray::int getInt (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   952
      (com.ms.com.SafeArray::void setInt (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   953
      (com.ms.com.SafeArray::boolean getBoolean (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   954
      (com.ms.com.SafeArray::void setBoolean (int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   955
      (com.ms.com.SafeArray::int computeOffset (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   956
      (com.ms.com.SafeArray::void NSafeArrayNullInit ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   957
      (com.ms.com.SafeArray::void rawSetVariant (int com.ms.com.Variant))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   958
      (com.ms.com.SafeArray::float rawGetFloat (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   959
      (com.ms.com.SafeArray::float getFloat (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   960
      (com.ms.com.SafeArray::void setFloat (int float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   961
      (com.ms.com.SafeArray::int computeOffset2 (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   962
      (com.ms.com.SafeArray::void rawSetDouble (int double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   963
      (com.ms.com.SafeArray::java.lang.String asString ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   964
      (com.ms.com.SafeArray::void NRawCopyToJavaArray (int int java.lang.Object int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   965
      (com.ms.com.SafeArray::void NSafeArrayCreate (int int int[] int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   966
      (com.ms.com.SafeArray::void NRawBoolCopyFromJavaArray (boolean[] int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   967
      (com.ms.com.SafeArray::void NSafeArrayDestroy (boolean boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   968
      (com.ms.com.SafeArray::int NSafeArrayCopy ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   969
      (com.ms.com.SafeArray::int rawGetInt (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   970
      (com.ms.com.SafeArray::boolean rawGetBoolean (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   971
      (com.ms.com.SafeArray::void rawSetFloat (int float))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   972
      (com.ms.com.SafeArray::java.lang.String rawGetString (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   973
      (com.ms.com.SafeArray::int NTotalNumElems ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   974
      (com.ms.com.SafeArray::double getDouble (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   975
      (com.ms.com.SafeArray::void setDouble (int double))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   976
      (com.ms.com.SafeArray::void Nreinit (com.ms.com.SafeArray))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   977
      (com.ms.com.SafeArray::int getPhysicalSafeArray ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   978
      (com.ms.com.SafeArray::int NgetdwordAt (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   979
      (com.ms.com.SafeArray::void NRawCopyFromJavaArray (java.lang.Object int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   980
      (com.ms.com.SafeArray::void rawSetBoolean (int boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   981
      (com.ms.com.SafeArray::void rawSetInt (int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   982
      (com.ms.awt.peer.CNativeComponent::void invalidate (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   983
      (com.ms.awt.peer.CNativeComponent::void hideModal ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   984
      (com.ms.awt.peer.CNativeComponent::void hide ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   985
      (com.ms.awt.peer.CNativeComponent::void setOnTop (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   986
      (com.ms.awt.peer.CNativeComponent::void registerDragDrop ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   987
      (com.ms.awt.peer.CNativeComponent::void endValidate ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   988
      (com.ms.awt.peer.CNativeComponent::void enable ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   989
      (com.ms.awt.peer.CNativeComponent::void disable ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   990
      (com.ms.awt.peer.CNativeComponent::void setTitle (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   991
      (com.ms.awt.peer.CNativeComponent::void getBounds (com.ms.awt.peer.NativeRect))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   992
      (com.ms.awt.peer.CNativeComponent::int gethwnd ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   993
      (com.ms.awt.peer.CNativeComponent::void showModal ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   994
      (com.ms.awt.peer.CNativeComponent::void setCursor (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   995
      (com.ms.awt.peer.CNativeComponent::void reshape (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   996
      (com.ms.awt.peer.CNativeComponent::void requestFocus ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   997
      (com.ms.awt.peer.CNativeComponent::void callDefWindowProc (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   998
      (com.ms.awt.peer.CNativeComponent::void registerCustomDropTarget (com.ms.com.IUnknown))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
   999
      (com.ms.awt.peer.CNativeComponent::void setNoActivate (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1000
      (com.ms.awt.peer.CNativeComponent::void getPlaceOnScreen (com.ms.awt.peer.NativeRect))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1001
      (com.ms.awt.peer.CNativeComponent::void beginValidate ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1002
      (com.ms.awt.peer.CNativeComponent::void clippedReshape (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1003
      (com.ms.awt.peer.CNativeComponent::void setResizable (boolean))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1004
      (com.ms.awt.peer.CNativeComponent::void setIcon (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1005
      (com.ms.awt.peer.CNativeComponent::void toBack ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1006
      (com.ms.awt.peer.CNativeComponent::void setFrameHost (com.ms.awt.peer.IBrowserAppletFrameCallback))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1007
      (com.ms.awt.peer.CNativeComponent::void toFront ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1008
      (com.ms.awt.peer.CNativeComponent::void show ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1009
      (com.ms.awt.peer.CNativeComponent::void updateInsets (com.ms.awt.peer.NativeInsets))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1010
      (com.ms.awt.peer.CNativeComponent::void dispose ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1011
      (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
  1012
      (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
  1013
      (com.ms.awt.peer.CNativeComponent::void beginDrag (com.ms.awt.peer.INativeDragCallback))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1014
      (com.ms.fx.RegionConverter::int computeNativeRegion (int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1015
      (com.ms.fx.RegionConverter::int[] computeJavaRegion (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1016
      (com.ms.net.wininet.URLUtils::java.lang.String canonicalizeURL (java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1017
      (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
  1018
      (com.ms.awt.peer.NativeFontMetrics::int bytesWidth (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1019
      (com.ms.awt.peer.NativeFontMetrics::int stringWidth (java.lang.String int int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1020
      (com.ms.awt.peer.NativeFontMetrics::int charsWidth (char[] int int int int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1021
      (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
  1022
      (com.ms.io.console.Console::int MessageBox (int java.lang.String java.lang.String int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1023
      (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
  1024
      (com.ms.security.management.SecurityZone::byte[] pLoadCustomPermissions (int int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1025
      (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
  1026
      (com.ms.awt.peer.NativeImage::void create (int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1027
      (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
  1028
      (com.ms.awt.peer.NativeImage::int getCoClass ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1029
      (com.ms.awt.peer.NativeImage::int getIcon (int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1030
      (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
  1031
      (com.ms.awt.peer.NativeImage::void sendPixels (com.ms.awt.peer.SPData))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1032
      (com.ms.awt.peer.NativeImage::void fillPixels (com.ms.awt.peer.SPData byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1033
      (com.ms.awt.peer.NativeImage::void dispose ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1034
      (com.ms.awt.peer.NativeImage::void init (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1035
      (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
  1036
      (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
  1037
      (com.ms.awt.peer.NativeImage::int finish (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1038
      (com.ms.awt.peer.NativeImage::void imageDraw (int int int int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1039
      (com.ms.awt.peer.NativeResource::java.lang.String loadString (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1040
      (com.ms.awt.peer.NativeResource::int openDialogFromID (int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1041
      (com.ms.awt.peer.NativeResource::boolean attach (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1042
      (com.ms.awt.peer.NativeResource::void loadBytes (int int java.lang.String byte[] int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1043
      (com.ms.awt.peer.NativeResource::int getSize (int int java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1044
      (com.ms.awt.peer.NativeResource::void detach ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1045
      (com.ms.awt.peer.NativeResource::int openDialogFromName (java.lang.String))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1046
      (com.ms.net.wininet.WininetURLConnection::com.ms.applet.BrowserAppletFrame findOfflineContext ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1047
      (com.ms.com.DispatchProxy::void finalize ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1048
      (com.ms.com.DispatchProxy::void init (com.ms.com._Guid java.lang.reflect.Method[] int[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1049
      (com.ms.net.wininet.WininetInputStream::void close ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1050
      (com.ms.net.wininet.WininetInputStream::int read (byte[] int int))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1051
      (com.ms.net.wininet.WininetInputStream::int available ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1052
      (com.ms.net.wininet.WininetInputStream::long skip (long))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1053
      (com.ms.net.wininet.WininetInputStream::void connect (java.lang.String boolean boolean java.lang.SecurityManager))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1054
      (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
  1055
      (com.ms.net.wininet.http.HttpInputStream::byte[] getResponseHeaders ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1056
      (com.ms.net.wininet.http.HttpInputStream::void close0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1057
      (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
  1058
      (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
  1059
      (com.ms.vm.loader.CabCracker::void getBytes0 (int int byte[]))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1060
      (com.ms.vm.loader.CabCracker::void cleanup ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1061
      (com.ms.vm.loader.CabCracker::int GetTempPath (int java.lang.StringBuffer))
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1062
      (com.ms.vm.loader.CabCracker::void load0 ())
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1063
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1064
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1065
"
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1066
!
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1067
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1068
performance1
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1069
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1070
     JAVA::BenchMark new 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
  1071
     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
  1072
     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
  1073
     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
  1074
     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
  1075
     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
  1076
     JAVA::BenchMark new neweststringmark
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1077
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1078
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1079
    "
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1080
"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1081
                    caffmark  loopmark  logicmark  sievemark  methodmark  stringmark  float  image  graphic dialog newstringmark  neweststringmark
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1082
 linux:
512
033a5cd5237a checkin from browser
cg
parents: 510
diff changeset
  1083
   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
  1084
                      103       133        142       137          28          73       109    167     18    140
520
64e7e53cdfac checkin from browser
cg
parents: 519
diff changeset
  1085
512
033a5cd5237a checkin from browser
cg
parents: 510
diff changeset
  1086
   P6/233 JIT                   479       2459       393         649          28                                       21              12
033a5cd5237a checkin from browser
cg
parents: 510
diff changeset
  1087
   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
  1088
                      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
  1089
                      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
  1090
                      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
  1091
                      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
  1092
                      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
  1093
                                                                             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
  1094
                     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
  1095
                     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
  1096
                     1177      4608       4309      1810        2432         895       532    182     20     35
540
aed82cbbd8de checkin from browser
cg
parents: 539
diff changeset
  1097
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1098
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1099
 w95
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1100
   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
  1101
                      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
  1102
                      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
  1103
                      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
  1104
                      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
  1105
                      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
  1106
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
                    caffmark  loopmark  logicmark  sievemark  methodmark  stringmark  float  image  graphic dialog newstringmark  neweststringmark
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1108
"
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1109
!
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1110
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1111
performance2
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1112
    "
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1113
     symantec benchmarks
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1114
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1115
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1116
    "
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1117
"
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1118
		BubbleSort    BidirBubbleSort  QuickSort  Sieve   Hanoi   Dhry   Fib   Array   Tree   Total
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1119
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1120
   ST/X+J Linux
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1121
   233Mhz P6
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1122
   No JIT          352767         354597         69585    43048  101638  28961 108839  48815
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1123
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1124
   ST/X+J Linux
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1125
   233Mhz P6
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1126
   JIT             128724         116810         20259    39733   83160  27613  52093  33166  43996  545554
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1127
		   124744         101428         17239    10052    8264  14004  38821  23252  33709  374660
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1128
   +IINC           120324                                  7265
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1129
   +IADD op2       100173          90737         18128     6996    7423  17093  48559  44209  57056  390374
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1130
   +ISUB op2                       90460         17547             5921                       57056  390461
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  1131
   +ICMPEQ/NE       99785          90147                           5792                43482  56486  388255
460
6a2e97955261 checkin from browser
cg
parents: 459
diff changeset
  1132
   +ICMP            87398          78214         15784     7574    5628  12812  38481  24654  32252  302797
461
a9813035ef09 *** empty log message ***
cg
parents: 460
diff changeset
  1133
   +IFICMPLE        84198          74928         13814     5650          11674         23241         293118
a9813035ef09 *** empty log message ***
cg
parents: 460
diff changeset
  1134
   +IFICMPxx        76867          69738         12208                          37505  21973  32104  273569
a9813035ef09 *** empty log message ***
cg
parents: 460
diff changeset
  1135
   +IFICMPEQ/NE                                                    5580  11202         21723
a9813035ef09 *** empty log message ***
cg
parents: 460
diff changeset
  1136
   const IFICMPxx                                11856             5463  11032  37372                272726
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  1137
   +lea for add/sub
463
8c3de864c642 *** empty log message ***
cg
parents: 462
diff changeset
  1138
   +BALOAD                                       11700     4600    5015   9431
8c3de864c642 *** empty log message ***
cg
parents: 462
diff changeset
  1139
   +BASTORE                                                3279
8c3de864c642 *** empty log message ***
cg
parents: 462
diff changeset
  1140
   +CALOAD/CASTORE                                                        8907
466
38245acebed4 checkin from browser
cg
parents: 465
diff changeset
  1141
   regSave change   66119          60365          9997             4917  15386  37851  38202  50027  286497
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1142
		    64858          58360          9476             4889  15001  37211  36288  48313  278478
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1143
		    63146          55949          9302                   14899
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1144
		    62970          56085          9352     3226    4837   8779  37573  22815  33899  241297
471
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1145
   -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
  1146
471
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1147
   +IALOAD          39162          36347
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1148
   +IASTORE         32461          30663          4299             3667                19556  30563  166868
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1149
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1150
   -IALOAD/IASTORE
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1151
										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
  1152
										       19232  29726
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1153
										       18821
496
7771c4f4492c checkin from browser
cg
parents: 495
diff changeset
  1154
   +AALOAD/BALOAD
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1155
		    41490          39527          6776     3315    4077   8443  33895  19152  28018  184693
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1156
		    41291          37034          6593                          32682
497
0066a4a59d5b checkin from browser
cg
parents: 496
diff changeset
  1157
   +ATHROW                                                                6449                       180079
498
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1158
   +IASTORE         38848          35601          6219             3796   6122         17869  30085  175106
503
f43fe1be86bf checkin from browser
cg
parents: 502
diff changeset
  1159
   IINC delayed code
f43fe1be86bf checkin from browser
cg
parents: 502
diff changeset
  1160
   +ANEWARRAY                                              3263
f43fe1be86bf checkin from browser
cg
parents: 502
diff changeset
  1161
   +LADD/LSUB const 38719          35256                                  6062  27071                172859
512
033a5cd5237a checkin from browser
cg
parents: 510
diff changeset
  1162
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1163
							   2837                 22835
514
a1f3d99a4194 checkin from browser
cg
parents: 513
diff changeset
  1164
   +ISTORE into arg
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1165
									  3080
514
a1f3d99a4194 checkin from browser
cg
parents: 513
diff changeset
  1166
   quick L2I for ints                                                     2774  21184
a1f3d99a4194 checkin from browser
cg
parents: 513
diff changeset
  1167
   +*ASTORE / *ALOAD
a1f3d99a4194 checkin from browser
cg
parents: 513
diff changeset
  1168
    again                                                  1621    3654   1525
533
535e4dd386ef checkin from browser
cg
parents: 532
diff changeset
  1169
   +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
  1170
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1171
------------------------------------------------------------------------------------------------------------
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1172
		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
  1173
   ST/X+J Win95
498
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1174
   200Mhz P5
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1175
   JIT              78490          77060         15220     4840    6370   9180  73160  36080         351700
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1176
				   76900         13560             5500   9010         35200         348600
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1177
										66080         69920  370750
507
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1178
   +IADD non consts 76620          73210         13180     3790                 63550         58880  356900
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1179
											      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
  1180
		    77390          72450         12520     3900    6040   8950  62450  34330  57780  335810
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1181
		    77220          71950                           5270   8840                       338650
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1182
		    72390          70690                                                      48010  327370
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1183
		    74910          66740         11420                    8620  61730  33340  47350  313940
507
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1184
   +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
  1185
		    71740                                  2800
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1186
		    71460          65250         11540     2750                 62180  33840  50750  311660
507
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1187
   +LCMP                                                                        59100
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1188
   better abs(I)
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1189
   +xALOAD/IF_ICMPx 66130          61520         12080     3300    5280   8190  56510  33830  50310  297150
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1190
   elim dummy static                                               5210                       48270
ac12e4436df8 checkin from browser
cg
parents: 505
diff changeset
  1191
   methods                                                                                    44160
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1192
		   119020         112440         19330     3070    4560   2640  56960  37730  52790  408540
498
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1193
------------------------------------------------------------------------------------------------------------
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  1194
		BubbleSort    BidirBubbleSort  QuickSort  Sieve   Hanoi   Dhry   Fib   Array   Tree   Total
498
8814e0d001bd checkin from browser
cg
parents: 497
diff changeset
  1195
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1196
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1197
   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
  1198
   (90Mhz P5)
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1199
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1200
   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
  1201
   (90Mhz P5)
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1202
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1203
   Symantec Cafe    14541          12198          3686     1922    4527   3325   3425  12969  26829   83422
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1204
   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
  1205
   (90Mhz P5)
441
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1206
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1207
   Symantec Cafe     8292           6970          2714     1613    3345   3235   2013   4516  13180   45878
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1208
   JIT 1.2
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1209
   (90Mhz P5)
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1210
"
3a589161eadc checkin from browser
cg
parents: 440
diff changeset
  1211
471
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1212
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1213
   |b|
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1214
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1215
   b := JAVA::BubbleSortAlgorithm new.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1216
   b perform:#'setData(JJ)V' with:10000 with:0 with:0 with:0.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1217
   Time millisecondsToRun:[
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1218
       b performTest.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1219
   ]
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1220
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1221
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1222
   |b|
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1223
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1224
   b := JAVA::QSortAlgorithm new.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1225
   b perform:#'setData(JJ)V' with:500000 with:0 with:0 with:0.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1226
   Time millisecondsToRun:[
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1227
       b performTest.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1228
   ]
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1229
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1230
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1231
   |t|
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1232
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1233
   t := JAVA::Tree new.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1234
   t perform:#'setData(JJ)V' with:1000000 with:0 with:0 with:0.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1235
   Time millisecondsToRun:[
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1236
       t performTest.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1237
   ]
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1238
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1239
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1240
   |t|
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1241
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1242
   t := JAVA::Array new.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1243
   t perform:#'setData(JJ)V' with:1000000 with:0 with:0 with:0.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1244
   Time millisecondsToRun:[
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1245
       t performTest.
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1246
   ]
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1247
"
ae5216f34461 checkin from browser
cg
parents: 469
diff changeset
  1248
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1249
! !
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1250
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1251
!JavaVM class methodsFor:'initialization'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1252
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1253
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
  1254
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
    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
  1256
    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
  1257
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
    "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
  1259
!
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
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1261
compile:source selector:smalltalkSelector asJavaMethod:javaSelector fakedSource:fakedSource in:aClass
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1262
    "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
  1263
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1264
    |cloneCode|
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1265
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1266
    (aClass implements:javaSelector) ifFalse:[
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1267
        Class packageQuerySignal answer:'__temporary__'
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1268
        do:[
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1269
            aClass
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1270
                compile:source
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1271
                classified:'java support'
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1272
                logged:false.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1273
        ].
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1274
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1275
        cloneCode := aClass compiledMethodAt:smalltalkSelector.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1276
        cloneCode source:fakedSource.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1277
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1278
        Class withoutUpdatingChangesDo:[
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1279
            aClass removeSelector:smalltalkSelector.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1280
            aClass addSelector:javaSelector withMethod:cloneCode.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1281
        ]
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1282
    ].
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1283
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1284
    "Created: / 5.11.1998 / 19:30:22 / cg"
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1285
    "Modified: / 5.11.1998 / 19:37:57 / cg"
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1286
!
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1287
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1288
deinitialize
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1289
    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
  1290
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1291
    KnownWindows 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
  1292
        KnownWindows do: [:v | v isTopView ifTrue: [ v destroy ] ]
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1293
    ].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1294
    JavaWindowGroup := nil.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1295
    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
  1296
    OpenFileTable := nil.
380
4bc7f45e2994 some more native support for NS4.0 java classes.
cg
parents: 374
diff changeset
  1297
    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
  1298
    SystemClassLoader := nil.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1299
    SystemProperties := nil.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1300
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1301
    "
2580
0e56b45d70ee class: JavaVM
Stefan Vogel <sv@exept.de>
parents: 2396
diff changeset
  1302
     JavaVM deinitialize
0e56b45d70ee class: JavaVM
Stefan Vogel <sv@exept.de>
parents: 2396
diff changeset
  1303
    "
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1304
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1305
    "Created: / 03-01-1998 / 21:28:14 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1306
    "Modified: / 03-12-1998 / 20:33:21 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1307
    "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
  1308
    "Modified: / 16-11-2011 / 09:46:49 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1309
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1310
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1311
deinitializeAdditionalJavaProtocol
2149
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1312
    "deinstall additional java protocol in smalltalk classes, req'd for java programs"
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1313
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  1314
    #(
2149
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1315
        #'clone()Ljava/lang/Object;'
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1316
        #'equals(Ljava/lang/Object;)Z'
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1317
        #'toString()Ljava/lang/String;'
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1318
        #'getClass()Ljava/lang/Class;'
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  1319
     ) do:[:sel |
2149
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1320
        (Object implements:sel) ifTrue:[
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1321
            Class withoutUpdatingChangesDo:[
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1322
                Object removeSelector:sel.
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1323
            ]
2e3d2a599772 changed: #deinitializeAdditionalJavaProtocol
Claus Gittinger <cg@exept.de>
parents: 2117
diff changeset
  1324
        ].
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1325
    ].
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
     self deinitializeAdditionalJavaProtocol
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1329
    "
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1330
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1331
    "Created: / 4.2.1998 / 21:37:10 / cg"
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1332
    "Modified: / 5.12.1998 / 15:27:39 / cg"
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1333
!
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1334
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1335
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
  1336
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1337
    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
  1338
        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
  1339
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1340
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
    "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
  1342
!
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
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1344
initialize
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1345
    DUMMY_LONG_HIGHWORD := 1.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1346
    DUMMY_DOUBLE_HIGHWORD := 2.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1347
    StandardThreadGroup := nil.
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1348
    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
  1349
262
8edf97e626c8 offscreen images & better exception handling
cg
parents: 261
diff changeset
  1350
    "/ 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
  1351
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
    JavaConsoleStream := "Transcript"Stdout.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1353
    FullExceptionTrace := StackTrace := false.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1354
    WindowOPTrace := DrawOPTrace := EventTrace := ThreadTrace := false.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1355
    MonitorTrace := ExceptionTrace := FileOpenTrace := FileIOTrace := false.
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1356
    ExceptionDebug := ExitDebug := false.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1357
    ExceptionDebugPatterns := Set new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1358
    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
  1359
    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
  1360
    SocketConnectConfirmation := false.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1361
    WindowOPTrace := false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1362
    MonitorTrace := false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1363
    ThreadTrace := false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1364
    UnhandledJavaExceptionSignal := (Signal new) mayProceed: true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1365
    UnhandledJavaExceptionSignal nameClass: self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1366
        message: #unhandledJavaExceptionSignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1367
    UnhandledJavaExceptionSignal notifierString: 'unhandled java exception'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1368
    JavaExceptionSignal := (Signal new) mayProceed: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1369
    JavaExceptionSignal nameClass: self message: #javaExceptionSignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1370
    JavaExceptionSignal notifierString: 'java exception'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1371
    UnimplementedInstructionSignal := (Signal new) mayProceed: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1372
    UnimplementedInstructionSignal nameClass: self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1373
        message: #unimplementedInstructionSignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1374
    UnimplementedInstructionSignal notifierString: 'unimplemented instruction'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1375
    UnimplementedNativeMethodSignal := (Signal new) mayProceed: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1376
    UnimplementedNativeMethodSignal nameClass: self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1377
        message: #unimplementedNativeMethodSignal.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1378
    UnimplementedNativeMethodSignal
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1379
        notifierString: 'unimplemented native method'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1380
    BadMessageSignal := (Signal new) mayProceed: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1381
    BadMessageSignal nameClass: self message: #badMessageSignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1382
    BadMessageSignal notifierString: 'invalid message to JAVA object'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1383
    InternalErrorSignal := (Signal new) mayProceed: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1384
    InternalErrorSignal nameClass: self message: #internalErrorSignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1385
    InternalErrorSignal notifierString: 'internal error'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1386
    CallHandlerSignal := (Signal new) mayProceed: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1387
    CallHandlerSignal nameClass: self message: #callHandlerSignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1388
    CallHandlerSignal notifierString: 'internal signal'.
576
0214e973001d added rint native;
cg
parents: 575
diff changeset
  1389
    StdinReplacementFileQuerySignal := QuerySignal new.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1390
    StdinReplacementFileQuerySignal nameClass: self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1391
        message: #stdinReplacementFileQuerySignal.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1392
    StdinReplacementFileQuerySignal notifierString: 'asking for stdin stream'.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1393
    JavaPrivilegedAccessQuery := QuerySignal new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1394
    JavaPrivilegedAccessQuery defaultAnswer: false.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1395
    AssertionsEnabled := true.
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1396
    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
  1397
    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
  1398
    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
  1399
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1400
    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
  1401
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1402
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1403
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1404
     JavaVM initialize"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1405
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1406
    "Created: / 02-01-1998 / 18:02:34 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1407
    "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
  1408
    "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
  1409
    "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
  1410
    "Modified: / 03-09-2013 / 00:50:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1411
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1412
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1413
initializeAdditionalJavaProtocol
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1414
    "install additional java protocol in smalltalk classes, req'd for java programs"
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1415
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1416
    "/ since we use smalltalk Arrays for JavaArray, some
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1417
    "/ additional (java-) protocol is required.
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1418
    "/ This is also useful, when Smalltalk objects are passed to
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1419
    "/ java ...
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1420
    "/ We should implement all of the java.lang.Object protocol in
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1421
    "/ 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
  1422
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1423
    self
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1424
        compile:'__clone
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1425
    "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
  1426
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1427
      since it has a funny selector.)
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1428
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1429
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1430
    ^ 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
  1431
        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
  1432
        asJavaMethod:#'clone()Ljava/lang/Object;'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1433
        fakedSource:'#''clone()Ljava/lang/Object;''
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1434
    "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
  1435
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1436
      since it has a funny selector.)
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1437
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1438
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1439
    ^ self shallowCopy'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1440
        in:Object.
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1441
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1442
    "/ ------------------------------------------------------------
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1443
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1444
    self
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1445
        compile:'__equals:arg
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1446
    "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
  1447
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1448
      since it has a funny selector.)
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1449
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1450
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1451
    ^ (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
  1452
        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
  1453
        asJavaMethod:#'equals(Ljava/lang/Object;)Z'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1454
        fakedSource:'#''equals(Ljava/lang/Object;)Z''
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1455
    "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
  1456
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1457
      since it has a funny selector.)
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1458
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1459
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1460
    ^ (arg = self) ifTrue:[1] ifFalse:[0]'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1461
        in:Object.
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1462
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1463
    "/ ------------------------------------------------------------
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1464
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1465
    self
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1466
        compile:'__toString
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1467
    "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
  1468
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1469
      since it has a funny selector.)
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1470
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1471
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1472
    ^ 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
  1473
        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
  1474
        asJavaMethod:#'toString()Ljava/lang/String;'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1475
        fakedSource:'#''toString()Ljava/lang/String;''
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1476
    "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
  1477
     (This source cannot be accepted in the browser,
430
f8467bdf1db2 checkin from browser
cg
parents: 429
diff changeset
  1478
      since it has a funny selector.)
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1479
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1480
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 419
diff changeset
  1481
    ^ Java as_String:(self displayString)'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1482
        in:Object.
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1483
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1484
    "/ ------------------------------------------------------------
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1485
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1486
    self
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1487
        compile:'__getClass
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1488
    "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
  1489
     (This source cannot be accepted in the browser,
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1490
      since it has a funny selector.)
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1491
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1492
508
21d8af9a9b41 checkin from browser
cg
parents: 507
diff changeset
  1493
    ^ 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
  1494
        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
  1495
        asJavaMethod:#'getClass()Ljava/lang/Class;'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1496
        fakedSource:'#''getClass()Ljava/lang/Class;''
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1497
    "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
  1498
     (This source cannot be accepted in the browser,
489
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1499
      since it has a funny selector.)
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1500
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1501
13bfc8c4fdd3 checkin from browser
cg
parents: 486
diff changeset
  1502
    ^ JavaVM javaClassObjectForClass:self class'
672
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1503
        in:Object.
f0d74a853426 compile extra methods into temporary package
cg
parents: 667
diff changeset
  1504
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1505
    "/ ------------------------------------------------------------
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1506
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1507
    self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1508
        compile:'__hashCode
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1509
    "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
  1510
     (This source cannot be accepted in the browser,
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1511
      since it has a funny selector.)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1512
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1513
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1514
    ^ 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
  1515
        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
  1516
        asJavaMethod:#'hashCode()I'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1517
        fakedSource:'#''hashCode()I''
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1518
    "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
  1519
     (This source cannot be accepted in the browser,
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1520
      since it has a funny selector.)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1521
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1522
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1523
    ^ self identityHash'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1524
        in:Object.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1525
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1526
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1527
    "
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1528
     self initializeAdditionalJavaProtocol
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1529
    "
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1530
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1531
    "Modified: / 28-01-1997 / 19:38:58 / stefan"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1532
    "Modified: / 22-01-1998 / 21:23:40 / av"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1533
    "Created: / 04-02-1998 / 21:35:46 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1534
    "Modified: / 30-12-1998 / 21:07:55 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1535
    "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
  1536
!
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1537
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1538
initializeBaseClasses
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1539
    "load req'd base classes"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1540
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  1541
    _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
  1542
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1543
    #( '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
  1544
        (self classForName: cName definedBy: nil) isNil ifTrue: [
646
9f99cd5951a9 checkin from browser
cg
parents: 640
diff changeset
  1545
            AbortSignal raise.
9f99cd5951a9 checkin from browser
cg
parents: 640
diff changeset
  1546
            ^ self
9f99cd5951a9 checkin from browser
cg
parents: 640
diff changeset
  1547
        ]
326
d1a591aac993 checkin from browser
cg
parents: 325
diff changeset
  1548
    ].
2353
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
    "
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 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
  1551
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1552
    "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
  1553
    "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
  1554
    "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
  1555
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1556
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1557
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
  1558
    "/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
  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
    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
  1561
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1562
    "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
  1563
!
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
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1565
initializeClassRegistry
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1566
    ClassRegistry isNil ifTrue:[
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1567
        ClassRegistry := JavaClassRegistry new.
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1568
    ] ifFalse:[
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1569
        ClassRegistry flush.
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1570
    ]
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1571
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1572
    "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
  1573
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  1574
2353
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
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
  1576
    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
  1577
    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
  1578
    self initializeOpenFileTable.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1579
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1580
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1581
     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
  1582
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1583
    "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
  1584
    "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
  1585
    "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
  1586
    "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
  1587
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1588
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1589
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
  1590
    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
  1591
    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
  1592
    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
  1593
    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
  1594
        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
  1595
        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
  1596
        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
  1597
    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
  1598
    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
  1599
        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
  1600
        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
  1601
        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
  1602
    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
  1603
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1604
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1605
     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
  1606
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
    "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
  1608
    "Modified: / 02-03-2015 / 13:59:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1609
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1610
2372
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1611
initializeNatives
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1612
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1613
    NativeMethodsImplementation := Java release javaNativeMethodsImplementation.
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1614
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1615
    "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
  1616
!
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1617
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1618
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
  1619
    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
  1620
                        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
  1621
                        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
  1622
                        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
  1623
    OpenFileTableLock := RecursionLock new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1624
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1625
    "
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1626
     JavaVM initializeOpenFileTable
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1627
    "
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1628
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1629
    "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
  1630
    "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
  1631
    "Modified: / 30-07-2012 / 18:12:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1632
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1633
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1634
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
  1635
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1636
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1637
    "/    #(
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1638
    "/        (#byte    'B' 1)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1639
    "/        (#short   'S' 2)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1640
    "/        (#int     'I' 4)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1641
    "/        (#long    'J' 8)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1642
    "/        (#boolean 'Z' 1)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1643
    "/        (#char    'C' 2)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1644
    "/        (#float   'F' 4)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1645
    "/        (#double  'D' 8)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1646
    "/        (#void    'V' 0)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1647
    "/    ) triplesDo:[:nm :sig :len |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1648
    "/        |jClass classInst|
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1649
    "/
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1650
    "/        "/
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1651
    "/        "/ create a javaClass for it.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1652
    "/        "/
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1653
    "/        jClass := Java at:'java.lang.Class'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1654
    "/        jClass notNil ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1655
    "/            classInst := jClass new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1656
    "/            JavaClasses at:nm put:classInst.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1657
    "/            JavaClasses at:classInst put:nm.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1658
    "/        ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1659
    "/    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1660
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1661
     self initializePrimitiveClasses"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1662
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1663
    "Modified: / 22-10-1998 / 01:56:02 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1664
    "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
  1665
    "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
  1666
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1667
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1668
initializeReflection
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1669
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1670
    Reflection := ReflectionRegistry for: self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1671
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1672
    "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
  1673
    "Modified: / 16-01-2013 / 20:55:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1674
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1675
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1676
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
  1677
    "return a collection of native libs which are considered
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1678
     being already loaded. (used with jdk < 1.2)"
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1679
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1680
    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
  1681
                        '__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
  1682
                        '/usr/local/lib'
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1683
                        '/usr/local/lib/java'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1684
                ).
432
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1685
68e66ba7fe49 checkin from browser
cg
parents: 430
diff changeset
  1686
    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
  1687
                        '__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
  1688
                        '__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
  1689
                        '__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
  1690
                        '__builtIn__/winawt'
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1691
                        '__builtIn__/jpeg'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1692
                        '__builtIn__/mmedia'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1693
                        '__builtIn__/zip'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1694
                        '__builtIn__/math'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1695
                        '__builtIn__/sysresource'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1696
2353
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
                        "/ KAVA ...
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1698
                        '__builtIn__/agent'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1699
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1700
                        "/ MS-java ...
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1701
                        '__builtIn__/msawt'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1702
                        '__builtIn__/javart'
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1703
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1704
                        "/ 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
  1705
                        '__builtIn__/jpeg_sun'
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1706
                      ).
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1707
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1708
    "
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1709
     self initializeSimulatedLibs
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1710
    "
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1711
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1712
    "Created: / 4.1.1998 / 19:05:03 / cg"
457
38a5f940feb7 checkin from browser
cg
parents: 455
diff changeset
  1713
    "Modified: / 17.11.1998 / 23:53:02 / cg"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1714
!
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1715
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1716
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
  1717
    "return a collection of native libs which are considered
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1718
     being already loaded (used with jdk >= 1.2)"
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1719
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1720
    OperatingSystem isOSXlike ifTrue: [
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1721
        SimulatedNativeLibs := #( 'libawt.jnilib' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1722
                                  'libnet.jnilib' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1723
                                  'libcmm.jnilib' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1724
                                  'libzip.jnilib' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1725
                                  'libnio.jnilib'
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1726
                                  'libmanagement.jnilib'    "/ Management Beans - req'd by Tomcat
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1727
                                  'libjpeg.jnilib'          "/ Some UI stuff - req'd by Tomcat !!?!!    
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1728
                                  "/ 'liblcms.so' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1729
                                  'libfontmanager.so'       "/ req'd by java.text.Bidi
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1730
                                  "/ 'libj2pkcs11.so'          "/ req'd by Smack and some crypto stuff
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1731
                                    ).
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1732
        ^ self.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1733
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1734
    OperatingSystem isUNIXlike ifTrue: [
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1735
        SimulatedNativeLibs := #( 'libawt.so' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1736
                                  'libnet.so' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1737
                                  'libcmm.so' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1738
                                  'libzip.so' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1739
                                  '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
  1740
                                  '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
  1741
                                  '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
  1742
                                  'libfontmanager.so'       "/ req'd by java.text.Bidi
2744
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2737
diff changeset
  1743
                                  '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
  1744
                                    ).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1745
        ^ 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
  1746
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1747
    OperatingSystem isMSWINDOWSlike ifTrue: [
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1748
        SimulatedNativeLibs := #( 'awt.dll' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1749
                                  'net.dll' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1750
                                  'cmm.dll' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1751
                                  'zip.dll' 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1752
                                  'nio.so'
2744
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2737
diff changeset
  1753
                                  'management.dll'        "/ Management Beans - req'd by Tomcat
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2737
diff changeset
  1754
                                  'fontmanager.dll'       "/ req'd by java.text.Bidi
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2737
diff changeset
  1755
                                  '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
  1756
                                  '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
  1757
                                ).
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1758
        ^ self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1759
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1760
    SimulatedNativeLibs := #().
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1761
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1762
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1763
     self initializeSimulatedNativeLibs"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  1764
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1765
    "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
  1766
    "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
  1767
    "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
  1768
    "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
  1769
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1770
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1771
initializeSimulatedNativeMemory
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1772
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1773
    SimulatedNativeMemory := JavaNativeMemory new.
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
    "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
  1776
    "Modified: / 07-12-2010 / 23:45:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1777
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1778
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1779
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
  1780
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1781
    | java_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
  1782
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1783
    java_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
  1784
    (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
  1785
        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
  1786
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1787
2960
d133d35e293b Class loading refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2958
diff changeset
  1788
    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
  1789
    (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
  1790
        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
  1791
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1792
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1793
    "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
  1794
    "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
  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
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
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
  1798
    | cpu  cpu2  os dir |
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1799
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1800
    "/ use JAVA compatible cpu-name
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1801
    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
  1802
    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
  1803
    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
  1804
    (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
  1805
        cpu2 := 'amd64'
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1806
    ].
2353
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
    SimulatedOS notNil ifTrue: [ os := SimulatedOS ] ifFalse: [
661
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
  1808
        os := OperatingSystem getOSType.
49ce5b1c223a more ms java native stubs
cg
parents: 657
diff changeset
  1809
        os := os asUppercaseFirst.
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1810
    ].
2353
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
    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
  1812
                'java.runtime.name'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1813
                    '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
  1814
                'sun.boot.library.path'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1815
                    OperatingSystem isMSWINDOWSlike ifTrue: [
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1816
                        (Java release javaBinDirOnWindows) asString
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1817
                    ] ifFalse: [
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1818
                        OperatingSystem isOSXlike ifTrue:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1819
                            (Java release javaNativeLibDirOnUnix) asString 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1820
                        ] ifFalse:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1821
                            (Java release javaLibDirOnUnix / cpu2) asString 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1822
                        ].
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1823
                    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1824
                'java.vm.version'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1825
                    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
  1826
                'java.vm.vendor'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1827
                    '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
  1828
                'java.vendor.url'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1829
                    'http://www.exept.de & http://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
  1830
                'path.separator'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1831
                    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
  1832
                'java.vm.name'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1833
                    '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
  1834
                'file.encoding.pkg'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1835
                    '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
  1836
                'sun.java.launcher'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1837
                    '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
  1838
                'user.country'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1839
                    '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
  1840
                'sun.os.patch.level'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1841
                    '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
  1842
                'java.vm.specification.name'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1843
                    '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
  1844
                'user.dir'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1845
                    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
  1846
                'java.awt.graphicsenv'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1847
                    '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
  1848
                'java.endorsed.dirs'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1849
                    (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
  1850
                'os.arch'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1851
                    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
  1852
                'java.io.tmpdir'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1853
                    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
  1854
                'line.separator'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1855
                    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
  1856
                'java.vm.specification.vendor'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1857
                    '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
  1858
                'os.name'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1859
                    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
  1860
                'sun.jnu.encoding'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1861
                    '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
  1862
                'java.library.path'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1863
                    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
  1864
                'java.specification.name'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1865
                    '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
  1866
                'java.class.version'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1867
                    '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
  1868
                'sun.management.compiler'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1869
                    '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
  1870
                'os.version'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1871
                    OperatingSystem isMSWINDOWSlike ifTrue: [
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1872
                        OperatingSystem getSystemInfo at: #release
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1873
                    ] ifFalse: [ 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1874
                        OperatingSystem getSystemInfo at: #version 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1875
                    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1876
                'user.home'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1877
                    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
  1878
                'user.timezone'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1879
                    ''.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1880
                'java.awt.printerjob'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1881
                    '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
  1882
                'file.encoding'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1883
                    '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
  1884
                'java.specification.version'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1885
                    '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
  1886
                'java.class.path'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1887
                    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
  1888
                'user.name'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1889
                    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
  1890
                'java.vm.specification.version'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1891
                    '1.0'.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1892
                 "'sun.java.command'            . 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1893
                    '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
  1894
                'java.home'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1895
                    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
  1896
                'sun.arch.data.model'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1897
                    '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
  1898
                'user.language'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1899
                    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
  1900
                'java.specification.vendor'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1901
                    '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
  1902
                'java.vm.info'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1903
                    '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
  1904
                'java.version'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1905
                    '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
  1906
                'java.ext.dirs'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1907
                    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
  1908
                'sun.boot.class.path'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1909
                    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
  1910
                'java.vendor'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1911
                    '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
  1912
                'file.separator'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1913
                    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
  1914
                'java.vendor.url.bug'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1915
                    '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
  1916
                'sun.io.unicode.encoding'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1917
                    '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
  1918
                'sun.cpu.endian'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1919
                '   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
  1920
                'sun.desktop'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1921
                    '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
  1922
                'sun.cpu.isalist'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1923
                    ''
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1924
            }.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1925
495
0ec68ea85f2b checkin from browser
cg
parents: 494
diff changeset
  1926
    "/ props at:'user.dir'           put:(Filename currentDirectory pathName).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1927
    "/props at:'awt.toolkit'        put:(self defaultWindowingToolKit).
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1928
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1929
    "/ 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
  1930
    props at: 'hotjava.home' put: (self defaultHotJavaHome).
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1931
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2092
diff changeset
  1932
    "/ new with jdk 1.1.8
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1933
    "/ undocumented ?
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1934
    "/ 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
  1935
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1936
    props at: 'appletviewer.version' put: '1.1'.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1937
280
274951f1502c checkin from browser
cg
parents: 277
diff changeset
  1938
    "/ 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
  1939
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1940
    "/ 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
  1941
    props at: 'java.awt.fonts' put: '/usr/lib/X11/fonts'.
280
274951f1502c checkin from browser
cg
parents: 277
diff changeset
  1942
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1943
    "/ jws
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1944
    "/props at:'jws.home'             put:(self defaultJWSHome).
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  1945
    "/ new with jws 2.0 ...
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1946
    "/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
  1947
"/    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
  1948
69fc19f5e37d For Windows JDK7, make sure TwoStackSocketImpl is used
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3235
diff changeset
  1949
    OperatingSystem isMSWINDOWSlike ifTrue:[
69fc19f5e37d For Windows JDK7, make sure TwoStackSocketImpl is used
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3235
diff changeset
  1950
        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
  1951
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1952
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1953
    "/ 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
  1954
2945
98971af93e31 Fix in JavaVM>>#initializeSystemPropertiesInto: be careful when initializing stx.libjava.tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2928
diff changeset
  1955
    (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
  1956
        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
  1957
    ].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1958
    ^ props
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1959
388
eb6bcedef274 checkin from browser
cg
parents: 380
diff changeset
  1960
    "
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1961
     self initializeSystemPropertiesInto:(Dictionary new)
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1962
    "
388
eb6bcedef274 checkin from browser
cg
parents: 380
diff changeset
  1963
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1964
    "Created: / 03-01-1998 / 14:26:39 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  1965
    "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
  1966
    "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
  1967
    "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
  1968
    "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
  1969
    "Modified: / 20-11-2013 / 23:43:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1970
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1971
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  1972
initializeVM
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1973
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  1974
    | 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
  1975
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1976
    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
  1977
2372
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1978
    Java initializeRelease.
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  1979
3470
548d764d9769 64bit fix: increased default stack for 64bit VM
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3437
diff changeset
  1980
    "Interpreted Java requires a huge stack. Change default to 4MB (32bit) / 8MB (64bit).
2353
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
    "
3470
548d764d9769 64bit fix: increased default stack for 64bit VM
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3437
diff changeset
  1982
    Process defaultMaximumStackSize: ((1024 * 1024 * (ExternalAddress pointerSize // 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
  1983
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1984
    "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
  1985
     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
  1986
    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
  1987
        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
  1988
        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
  1989
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1990
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
    ClassRegistry := JavaClassRegistry for: self.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  1992
    ClassLoaderQuerySignal := Query new.
640
6cf4e5aa3573 *** empty log message ***
cg
parents: 631
diff changeset
  1993
    JavaObject autoload.
6cf4e5aa3573 *** empty log message ***
cg
parents: 631
diff changeset
  1994
    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
  1995
    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
  1996
    MonitorTraceId := 0.
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  1997
    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
  1998
    self initializeJavaResources.
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1999
    JavaConsoleStream := Transcript.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2000
    Java initAllStaticFields.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2001
    Java markAllClassesUninitialized.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2002
    ZipCache := OrderedCollection new.
2958
bbd626006ab0 Access to ZipEntryCache synchronized to avoid races.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2956
diff changeset
  2003
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2004
    ZipEntryCache := OrderedCollection new.
2958
bbd626006ab0 Access to ZipEntryCache synchronized to avoid races.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2956
diff changeset
  2005
    ZipEntryCacheFirstFree := 0.
bbd626006ab0 Access to ZipEntryCache synchronized to avoid races.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2956
diff changeset
  2006
    ZipEntryCacheLock := RecursionLock new.
bbd626006ab0 Access to ZipEntryCache synchronized to avoid races.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2956
diff changeset
  2007
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2008
    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
  2009
    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
  2010
    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
  2011
        nm first == $_ ifTrue:[
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  2012
            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
  2013
        ]
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  2014
    ].
2372
c4c47cba84d5 defined source container
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
  2015
    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
  2016
429
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  2017
    "/ force re-resolving;
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  2018
    "/ otherwise, class-inits would not be called
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  2019
    "/ 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
  2020
2100
4989419ae5c6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2098
diff changeset
  2021
    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
  2022
    JavaMethod allSubInstancesDo: [ :m |
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2023
            m clearJittedCodeAndForceJittingAgain.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2024
            "/ 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
  2025
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2026
    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
  2027
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2028
    "/ 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
  2029
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2030
    JavaClass startRememberingOrderOfClassInits.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2031
    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
  2032
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2033
    "/ < 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
  2034
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2035
    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
  2036
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2037
    "/ >= 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
  2038
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2039
    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
  2040
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2041
    "/>  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
  2042
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2043
    ThreadInterrupts := Dictionary new.
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  2044
    PerfCounters := Performance for: self.
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  2045
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2046
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2047
    self initializeClassReader.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2048
    self initializeOpenFileTable.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2049
    self initializeReflection.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2050
    self initializeBaseClasses.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2051
    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
  2052
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
  2053
    "/ 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
  2054
    "/ 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
  2055
    "/ 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
  2056
    blocker := Semaphore new.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2057
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2058
    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
  2059
    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
  2060
        [
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2061
            Error handle:[:ex |
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2062
                errorDuringInit := ex.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2063
                ex reject.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2064
            ] do:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2065
                Java initSystemClass.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2066
                Java initializeCurrentThread.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2067
                self initializeSystemClassLoader.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2068
                FinalizationLobby startFinalizationProcessAt: 5.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2069
            ].
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
  2070
        ] 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
  2071
            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
  2072
        ].
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
  2073
    ] newProcess.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2074
    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
  2075
    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
  2076
    booter resume.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2077
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
  2078
    blocker wait.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2079
    errorDuringInit notNil ifTrue:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2080
        self error:'error during boot of JVM: ',errorDuringInit description
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2081
    ].
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
  2082
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2083
    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
  2084
    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
  2085
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2086
    JavaNativeMethod allInstancesDo:[:e|e nCallsReset ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2087
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2088
    "
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2089
     JavaVM initialize.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2090
     JavaVM initializeVM."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2091
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2092
    "Created: / 03-01-1998 / 21:29:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2093
    "Modified: / 14-12-1999 / 18:58:56 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2094
    "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
  2095
    "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
  2096
    "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
  2097
    "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
  2098
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2099
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2100
initializeVMIfNoEventThreadRunning
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2101
    |uClass updater p|
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2102
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2103
    uClass := JAVA::sun::awt::ScreenUpdater.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2104
    uClass notNil ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2105
        updater := uClass instVarNamed:'updater'.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2106
        updater notNil ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2107
            p := self stProcessForJavaThread:updater
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2108
        ].
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2109
        (updater isNil or:[p isNil or:[p isDead]]) isNil ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2110
            self initializeVM.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2111
            ^ self.
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2112
        ]
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2113
    ].
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2114
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2115
    (JavaEventThread isNil or:[JavaEventThread isDead]) ifTrue:[
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2116
        self initializeVM
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2117
    ].
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2118
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2119
    "
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2120
     JavaVM initializeVMIfNoEventThreadRunning
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2121
    "
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2122
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2123
    "Created: / 15.1.1998 / 17:32:27 / cg"
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2124
    "Modified: / 24.12.1999 / 02:18:25 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2125
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2126
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2127
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
  2128
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2129
    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
  2130
    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
  2131
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2132
    "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
  2133
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2134
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2135
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
  2136
    "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
  2137
     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
  2138
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2139
    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
  2140
        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
  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
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
    "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
  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
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2146
reinitializeVM
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2147
    |classesToInit|
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2148
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2149
    self releaseAllJavaResources.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2150
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2151
    JavaConsoleStream := Transcript.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2152
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2153
    Java initAllStaticFields.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2154
    Java markAllClassesUninitialized.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2155
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2156
    self initializeOpenFileTable.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2157
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2158
    classesToInit := JavaClass orderOfClassInits.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2159
    JavaClass startRememberingOrderOfClassInits.
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2160
451
50d24dc93f8b checkin from browser
cg
parents: 448
diff changeset
  2161
    self initializePrimitiveClasses.
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  2162
"/    Java initSystemClass.
434
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
    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
  2165
        jClass classInit
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2166
    ].
455
36fffdce84f7 checkin from browser
cg
parents: 454
diff changeset
  2167
    Java initSystemClass.
434
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2168
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2169
    "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
  2170
    "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
  2171
    "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
  2172
!
3896831a7356 allow class-reinit without flushing compiled code
cg
parents: 432
diff changeset
  2173
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2174
reinitializeVMIfNoEventThreadRunning
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2175
    (JavaEventThread isNil or:[JavaEventThread isDead]) ifTrue:[
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2176
        ^ self reinitializeVM
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2177
    ].
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2178
    (JavaEventQueueThread isNil or:[JavaEventQueueThread isDead]) ifTrue:[
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2179
        ^ self reinitializeVM
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2180
    ].
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2181
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2182
    "
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2183
     JavaVM reinitializeVMIfNoEventThreadRunning
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2184
    "
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2185
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2186
    "Created: / 24.11.1998 / 15:45:49 / cg"
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2187
    "Modified: / 24.12.1999 / 02:36:41 / cg"
462
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2188
!
245375429cad *** empty log message ***
cg
parents: 461
diff changeset
  2189
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2190
releaseAllJavaResources
380
4bc7f45e2994 some more native support for NS4.0 java classes.
cg
parents: 374
diff changeset
  2191
    self deinitialize.
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2192
    FirstWindowCreationSemaphore := Semaphore new.
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2193
    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
  2194
    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
  2195
    LoadedNativeLibs := nil.
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2196
    ImageStretchCache := nil.
504
e22c50026869 checkin from browser
cg
parents: 503
diff changeset
  2197
    LastGraphics := LastGC := nil.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2198
    SimulatedNativeMemory := nil.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2199
    self initializePrimitiveClasses.
285
10bf4fdcd02f allow multiple java applets to be open
cg
parents: 284
diff changeset
  2200
    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
  2201
    "/self releaseAllMonitors.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2202
    self releaseAllWindows.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2203
    self releaseAllStreams.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2204
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2205
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2206
     JavaVM releaseAllJavaResources"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2207
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2208
    "Created: / 07-01-1998 / 22:49:42 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2209
    "Modified: / 24-12-1999 / 02:33:11 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2210
    "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
  2211
    "Modified: / 16-11-2011 / 20:27:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2212
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2213
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2214
releaseAllMonitors
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2215
    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
  2216
    LockTableAccess := Semaphore "RecursionLock" forMutualExclusion.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2217
    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
  2218
    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
  2219
        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
  2220
            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
  2221
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2222
    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
  2223
    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
  2224
        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
  2225
        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
  2226
        facility: #JVM.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2227
    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
  2228
    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
  2229
    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
  2230
    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
  2231
    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
  2232
        EnteredMonitorsPerProcess := IdentityDictionary new.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2233
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2234
    "
2353
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
     JavaVM releaseAllMonitors"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2236
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2237
    "Created: / 02-01-1998 / 18:04:05 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2238
    "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
  2239
    "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
  2240
    "Modified: / 02-03-2015 / 13:58:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2241
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2242
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2243
releaseAllStreams
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  2244
    OpenFileTable notNil ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2245
	OpenFileTable do:[:aStream |
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2246
	    aStream notNil ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2247
		aStream ~~ Stdin ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2248
		    aStream ~~ Stdout ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2249
			aStream ~~ Stderr ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2250
			    aStream ~~ JavaConsoleStream ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2251
				aStream isExternalStream ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2252
				    aStream shutDown
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2253
				]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2254
			    ]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2255
			]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2256
		    ]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2257
		]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2258
	    ]
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  2259
	]
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  2260
    ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2261
    self initializeOpenFileTable.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2262
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2263
    "
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2264
     JavaVM releaseAllStreams
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2265
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2266
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2267
    "Created: / 7.1.1998 / 22:57:04 / cg"
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  2268
    "Modified: / 4.2.1998 / 19:53:11 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2269
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2270
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2271
releaseAllWindows
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2272
    KnownWindows notNil ifTrue:[
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2273
	KnownWindows do:[:aView |
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2274
	    aView destroy
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2275
	].
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  2276
	KnownWindows := nil.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2277
    ]
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
     self releaseAllWindows
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2281
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2282
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2283
    "Created: / 7.1.1998 / 22:58:32 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2284
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2285
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2286
releaseLeftOverMonitors
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2287
    "release monitors held by dead processes"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2288
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2289
    | deadProcesses |
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2290
    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
  2291
    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
  2292
        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
  2293
            :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
  2294
            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
  2295
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2296
                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
  2297
                    :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
  2298
                    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
  2299
                        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
  2300
                        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
  2301
                        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
  2302
                    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
  2303
                ].
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
                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
  2305
            ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2306
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2307
        ].
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
    deadProcesses do: [:p | EnteredMonitorsPerProcess removeKey: p ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2309
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2310
    "
2353
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
     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
  2312
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2313
    "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
  2314
    "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
  2315
    "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
  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
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
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
  2319
    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
  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
    "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
  2322
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2323
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
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
  2325
    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
  2326
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2327
    "Created: / 30-07-2012 / 17:13:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2328
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2329
3486
2b184fec5681 Added JavaVM>>shutdown, a counterpart to JavaVM>>boot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3437
diff changeset
  2330
shutdown
2b184fec5681 Added JavaVM>>shutdown, a counterpart to JavaVM>>boot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3437
diff changeset
  2331
    "Shuts down Java. All pure-java threads are terminated and
2b184fec5681 Added JavaVM>>shutdown, a counterpart to JavaVM>>boot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3437
diff changeset
  2332
     all Java classes are unloaded. 
2b184fec5681 Added JavaVM>>shutdown, a counterpart to JavaVM>>boot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3437
diff changeset
  2333
     Use with care, shuting down running Java may have funny consequences expecially
2b184fec5681 Added JavaVM>>shutdown, a counterpart to JavaVM>>boot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3437
diff changeset
  2334
     when a Smalltalk thread is currently executing Java code."
2b184fec5681 Added JavaVM>>shutdown, a counterpart to JavaVM>>boot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3437
diff changeset
  2335
2b184fec5681 Added JavaVM>>shutdown, a counterpart to JavaVM>>boot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3437
diff changeset
  2336
    Java flushAllJavaResources.
2b184fec5681 Added JavaVM>>shutdown, a counterpart to JavaVM>>boot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3437
diff changeset
  2337
2b184fec5681 Added JavaVM>>shutdown, a counterpart to JavaVM>>boot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3437
diff changeset
  2338
    "Created: / 12-06-2015 / 20:16:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2b184fec5681 Added JavaVM>>shutdown, a counterpart to JavaVM>>boot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3437
diff changeset
  2339
!
2b184fec5681 Added JavaVM>>shutdown, a counterpart to JavaVM>>boot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3437
diff changeset
  2340
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2341
systemProperties
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2342
    |props|
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2343
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2344
    (props := SystemProperties) isNil ifTrue:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2345
        props := Dictionary new.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2346
        self initializeSystemPropertiesInto:props.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2347
        SystemProperties := props
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2348
    ].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2349
    ^ props
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2350
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2351
    "Created: / 3.1.1998 / 14:25:58 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2352
    "Modified: / 3.1.1998 / 14:32:38 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2353
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2354
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2355
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
  2356
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2357
    "
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
    #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
  2359
    (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
  2360
    "
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
    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
  2362
        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
  2363
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2364
        ^self.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2365
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2366
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2367
    "#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
  2368
    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
  2369
    (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
  2370
    "
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
    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
  2372
        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
  2373
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
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
    ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2376
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2377
     JavaVM initializeVM
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2378
    "
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  2379
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2380
    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
  2381
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
    "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
  2383
    "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
  2384
    "Modified: / 17-08-2012 / 15:35:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2385
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2386
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2387
!JavaVM class methodsFor:'Signal constants'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2388
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2389
badMessageSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2390
    ^ BadMessageSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2391
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2392
    "Created: / 2.1.1998 / 18:06:52 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2393
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2394
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2395
callHandlerSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2396
    ^ CallHandlerSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2397
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2398
    "Created: / 2.1.1998 / 18:07:16 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2399
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2400
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2401
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
  2402
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2403
    <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
  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
    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
  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
    ^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
  2408
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2409
    "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
  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
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2412
internalErrorSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2413
    ^ InternalErrorSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2414
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2415
    "Created: / 2.1.1998 / 18:07:05 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2416
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2417
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2418
javaExceptionSignal
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2419
    "^ JavaExceptionSignal"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2420
    ^JavaError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2421
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2422
    "Created: / 02-01-1998 / 18:05:58 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2423
    "Modified: / 01-03-2011 / 21:50:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2424
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2425
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2426
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
  2427
    ^ 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
  2428
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
    "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
  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
576
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2432
stdinReplacementFileQuerySignal
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2433
    ^ StdinReplacementFileQuerySignal
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2434
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2435
    "Created: / 2.1.1998 / 18:06:52 / cg"
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2436
!
0214e973001d added rint native;
cg
parents: 575
diff changeset
  2437
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2438
unhandledJavaExceptionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2439
    ^ UnhandledJavaExceptionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2440
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2441
    "Created: / 2.1.1998 / 18:05:19 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2442
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2443
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2444
unimplementedInstructionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2445
    ^ UnimplementedInstructionSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2446
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2447
    "Created: / 2.1.1998 / 18:06:15 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2448
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2449
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2450
unimplementedNativeMethodSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2451
    ^ UnimplementedNativeMethodSignal
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2452
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2453
    "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
  2454
    "Modified: / 15-01-2013 / 22:30:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2455
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2456
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2457
!JavaVM class methodsFor:'accessing'!
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2458
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
  2459
addSelector:newSelector withMethod:newMethod 
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2460
    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
  2461
    
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2462
    "/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
  2463
    
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  2464
    (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
  2465
        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
  2466
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2467
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2468
    "Created: / 24-12-1999 / 03:12:05 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2469
    "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
  2470
    "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
  2471
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2472
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2473
assertionsEnabled: aBoolean
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
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2478
        JavaVM assertionsEnabled: true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2479
        JavaVM assertionsEnabled: false.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2480
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2481
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2482
    "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
  2483
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2484
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2485
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
  2486
    ^ 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
  2487
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
    "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
  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
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
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
  2492
    ^ 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
  2493
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2494
    "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
  2495
    "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
  2496
!
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
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
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
  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
    "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
  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
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
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
  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
    "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
  2510
!
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2511
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2512
javaEventQueueThread
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2513
     ^ JavaEventQueueThread
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2514
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  2515
    "Created: / 24.12.1999 / 02:34:35 / cg"
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
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2518
javaEventThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2519
     ^ JavaEventThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2520
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2521
    "Created: / 8.1.1999 / 17:05:02 / cg"
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2522
!
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2523
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2524
javaScreenUpdaterThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2525
     ^ JavaScreenUpdaterThread
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2527
    "Created: / 8.1.1999 / 17:06:52 / cg"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2528
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2529
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2530
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
  2531
    ^ 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
  2532
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2533
    "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
  2534
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2535
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2536
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
  2537
    "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
  2538
    ^ 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
  2539
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2540
    "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
  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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2543
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
  2544
    ^ Reflection
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2545
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2546
    "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
  2547
    "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
  2548
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2549
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
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
  2551
    ^ 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
  2552
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
    "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
  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
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
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
  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
    "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
  2561
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2562
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2563
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
  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
    "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
  2568
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2569
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2570
useSmalltalkInterpreter
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
    JavaMethod makeMetaMethod
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
    "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
  2575
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2576
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2577
useVMInterpreter
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
    JavaMethod makeJavaMethod
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
    "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
  2582
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2583
2618
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2584
!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
  2585
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2586
builtInClassNames
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2587
    "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
  2588
     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
  2589
     JavaClassRegistry is sent #registerBuiltIn:
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2590
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2591
     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
  2592
     JavaClassRegistry>>registerBuiltIn:.
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2593
    "
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2594
    ^#(
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2595
        #'java/lang/Object'
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2596
        #'java/lang/String'
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  2597
        #'java/lang/System'
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  2598
        #'java/lang/Class'
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  2599
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  2600
        #'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
  2601
        #'java/lang/reflect/Method'
263045d15796 Initial support for generalized built-in class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2618
diff changeset
  2602
        #'java/lang/reflect/Field'
263045d15796 Initial support for generalized built-in class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2618
diff changeset
  2603
2618
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2604
    )
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2605
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2606
    "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
  2607
! !
e7757e5d593c Initial attempt to generalized builtin class support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2617
diff changeset
  2608
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2609
!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
  2610
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2611
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
  2612
    "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
  2613
     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
  2614
     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
  2615
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
    aClass methodDictionary do:[:mthd|
2577
20f1eddba58b Call __jbindnative() when initializing Java native method.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2568
diff changeset
  2617
        (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
  2618
            "Stdout nextPutAll:'Flushing code for ' , mthd printString; cr."
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2619
            mthd clearJittedCodeAndForceJittingAgain.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2620
            "/ 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
  2621
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2622
    ].
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
    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
  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
    "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
  2626
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2627
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2628
!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
  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
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
  2631
    ^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
  2632
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2633
    "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
  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
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
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
  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
    ^ 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
  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
    "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
  2641
    "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
  2642
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2643
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
at: aString put: aJavaClass
3216
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  2645
    <resource: #obsolete>
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  2646
    
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  2647
    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
  2648
    ^ 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
  2649
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2650
    "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
  2651
    "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
  2652
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2653
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
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
  2655
    "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
  2656
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2657
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2658
    ^ 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
  2659
        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
  2660
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2661
    "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
  2662
    "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
  2663
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2664
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2665
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
  2666
    "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
  2667
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2668
    | 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
  2669
2617
1bbc3b4a686f Removed debug print in JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2605
diff changeset
  2670
"/    classLoader isNil ifTrue:[
1bbc3b4a686f Removed debug print in JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2605
diff changeset
  2671
"/        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
  2672
"/    ].
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
  2673
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2674
    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
  2675
    result := self
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2676
                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
  2677
                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
  2678
                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
  2679
                    | class  classLoaderEnsured |
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  2680
                    self assert: (binaryName includes: $.) not.
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  2681
                        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
  2682
                        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
  2683
                ].
2961
86e181f74199 Class loading refactoring (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2960
diff changeset
  2684
2353
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
    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
  2686
        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
  2687
            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
  2688
            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
  2689
            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
  2690
    ] 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
  2691
    ^ 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
  2692
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
    "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
  2694
    "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
  2695
    "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
  2696
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2697
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
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
  2699
    "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
  2700
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2701
    | 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
  2702
    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
  2703
        ^ (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
  2704
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2705
    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
  2706
                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
  2707
                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
  2708
                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
  2709
    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
  2710
        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
  2711
    ].
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.
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
    "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
  2715
    "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
  2716
    "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
  2717
!
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
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
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
  2720
    "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
  2721
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
    ^ 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
  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
    "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
  2725
    "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
  2726
    "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
  2727
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2728
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2729
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
  2730
    "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
  2731
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2732
    | 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
  2733
    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
  2734
        ^ (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
  2735
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2736
    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
  2737
                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
  2738
                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
  2739
                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
  2740
    ^ 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
  2741
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
    "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
  2743
    "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
  2744
    "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
  2745
!
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
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
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
  2748
    "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
  2749
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2750
    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
  2751
3112
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  2752
    ^ 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
  2753
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2754
    "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
  2755
    "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
  2756
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2757
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2758
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
  2759
    "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
  2760
     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
  2761
     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
  2762
     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
  2763
     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
  2764
     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
  2765
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2766
    | dir  dirString  className  loadedClasses |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2767
    dir := directory asFilename asAbsoluteFilename.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2768
    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
  2769
    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
  2770
    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
  2771
        dir isDirectory ifTrue:[
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2772
            dir recursiveDirectoryContentsAsFilenamesDo: [
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2773
                :filename |
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2774
                (filename isRegularFile and: [ filename suffix = #class ]) ifTrue: [
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2775
                    dirString := dir pathName.
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2776
                    className := filename withoutSuffix pathName.
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2777
                    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
  2778
                    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
  2779
                    (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
  2780
                        (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
  2781
                            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
  2782
                        ].
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2783
                    ]
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
        ] ifFalse:[
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2787
            | zar |
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2788
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2789
            zar := ZipArchive oldFileNamed: dir pathName.
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2790
            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
  2791
            (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
  2792
                | nm |
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2793
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2794
                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
  2795
                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
  2796
                    (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
  2797
                        (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
  2798
                            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
  2799
                        ].
d8458cc3aabe Make JavaVM>>#loadClassesIn: to work with .jar files as well.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2868
diff changeset
  2800
                    ]
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2801
                ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2802
            ]
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
    ^ 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
  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
    "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
  2808
    "Modified: / 27-05-2014 / 12:20:24 / 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
  2809
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2810
2730
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2811
!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
  2812
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2813
loadClassNamed: className usingClassLoader: classLoader
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2814
    "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
  2815
     `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
  2816
     the class ourselfs"
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2817
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2818
    | class |
2730
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2819
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2820
    JavaClassReader classLoaderQuerySignal answer: classLoader do: [
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2821
        classLoader isNil ifTrue:[
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2822
            "/ Primordial load...
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  2823
            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
  2824
        ] ifFalse:[
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2825
            class := classLoader
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2826
                    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
  2827
                    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
  2828
            class := self classForJavaClassObject: class.
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2829
        ].
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2830
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2831
    ^ 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
  2832
2730
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2833
    "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
  2834
    "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
  2835
!
83f8416e153c Cleanup. Change source API in `Java` to return stream rather than string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2836
83f8416e153c Cleanup. Change source API in `Java` to return stream rather than string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2837
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
  2838
    "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
  2839
     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
  2840
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
     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
  2842
     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
  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
    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
  2845
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
    "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
  2847
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2848
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2849
!JavaVM class methodsFor:'debugging support'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2850
2353
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
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
  2852
    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
  2853
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
    "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
  2855
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2856
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2857
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
  2858
    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
  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
    "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
  2861
    "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
  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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2864
exceptionDebug
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2865
    ^ ExceptionDebug
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2866
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2867
    "Created: / 27.1.1999 / 20:14:51 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2868
!
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
exceptionDebug:aBoolean
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2871
    ExceptionDebug := aBoolean
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
    "Created: / 27.1.1999 / 20:15:00 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2874
!
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
exceptionDebugPatterns
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
    ^ ExceptionDebugPatterns
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2879
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2880
    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
  2881
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2882
    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
  2883
    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
  2884
    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
  2885
    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
  2886
    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
  2887
    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
  2888
    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
  2889
    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
  2890
    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
  2891
    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
  2892
    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
  2893
    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
  2894
    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
  2895
    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
  2896
    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
  2897
    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
  2898
    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
  2899
    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
  2900
    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
  2901
    ExceptionDebugPatterns add: 'java/lang/IllegalAccess*'.
2925
a77c05c8cd68 Fix in JavaVM for exception debugging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2921
diff changeset
  2902
    ExceptionDebugPatterns add: 'java/util/zip/ZipException'.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  2903
    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
  2904
    ExceptionDebugPatterns add: 'java/lang/ThreadDeath'.
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  2905
2730
272689c14005 Fixed removing of Java classes (issue #40)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2705
diff changeset
  2906
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2907
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2908
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2909
    ExceptionDebug := true.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2910
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2911
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  2912
    "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
  2913
    "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
  2914
!
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2915
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2916
exceptionTrace:aBoolean
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2917
    ExceptionTrace := aBoolean
24475baf6abc CHECKCAST/INSTANCEOF optimization (part 3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2595
diff changeset
  2918
2965
bac7022ca26a Merged 7c3b2a89f173 and 80a1a085a982 (branch performance-optimizations)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2961 2620
diff changeset
  2919
!
bac7022ca26a Merged 7c3b2a89f173 and 80a1a085a982 (branch performance-optimizations)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2961 2620
diff changeset
  2920
2850
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  2921
monitorTrace
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  2922
    ^ MonitorTrace
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  2923
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  2924
    "Created: / 11-10-2013 / 11:16:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2925
! !
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  2926
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2927
!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
  2928
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2929
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
  2930
    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
  2931
    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
  2932
    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
  2933
        | 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
  2934
        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
  2935
        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
  2936
            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
  2937
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2938
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2939
    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
  2940
        | 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
  2941
        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
  2942
        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
  2943
            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
  2944
        ]
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
    ].
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
    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
  2947
        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
  2948
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2949
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  2950
    "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
  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
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
  2954
    ^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
  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
    "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
  2957
!
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
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
  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
    | 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
  2962
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
    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
  2964
    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
  2965
        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
  2966
            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
  2967
            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
  2968
            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
  2969
        ]
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
    ].
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 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
  2972
        ('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
  2973
            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
  2974
                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
  2975
                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
  2976
        )
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
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
    "
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
        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
  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
    "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
  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
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2985
!JavaVM class methodsFor:'defaults'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2986
359
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2987
audioEnabled
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2988
    ^ NoAudio not
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2989
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2990
    "Created: / 18.7.1998 / 22:31:36 / cg"
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2991
!
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2992
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2993
audioEnabled:aBoolean
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2994
    NoAudio := aBoolean not
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2995
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2996
    "Created: / 18.7.1998 / 22:31:20 / cg"
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2997
!
bcad9c97d2e5 use #copyReplaceAll:with:
cg
parents: 347
diff changeset
  2998
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  2999
defaultCLASSPATH
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3000
    |s|
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3001
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3002
    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
  3003
    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
  3004
        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
  3005
        separatedBy: [s nextPut: OperatingSystem pathSeparator].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3006
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3007
    ^ s contents
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3008
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3009
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3010
     self defaultCLASSPATH
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3011
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3012
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3013
    "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
  3014
    "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
  3015
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3016
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
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
  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
    ^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
  3020
        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
  3021
            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
  3022
        ] 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
  3023
            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
  3024
        ]
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
    ]
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
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
    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
  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
    "Created: / 31-08-2011 / 20:03:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3032
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3033
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3034
defaultHotJavaHome
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3035
    ^ '/usr/local/java/hotjava'.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3036
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3037
    "Modified: / 5.8.1997 / 04:13:36 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3038
    "Created: / 3.1.1998 / 14:27:34 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3039
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3040
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3041
defaultJAVAHome
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3042
    ^ Java javaHome
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3043
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3044
    "Modified: / 6.8.1997 / 00:54:44 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3045
    "Created: / 3.1.1998 / 14:27:01 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3046
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3047
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3048
defaultJWSHome
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  3049
    '/phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS' asFilename exists ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3050
	^ '/phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS'
474
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  3051
    ].
6e583001b16c create extra javaTopView (may need expose events ...)
cg
parents: 471
diff changeset
  3052
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3053
    ^ '/usr/local/java/JWS'.
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3054
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3055
    "Created: / 3.1.1998 / 14:27:42 / cg"
479
0ae3179779eb checkin from browser
cg
parents: 477
diff changeset
  3056
    "Modified: / 3.12.1998 / 14:54:08 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3057
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3058
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3059
defaultJavaLibraryPath
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3060
    |javaHome jreHome dirs libDir jniLibDir|
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3061
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3062
    javaHome := Java release javaHome asFilename.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3063
    jreHome := Java release jreHome.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3064
    libDir := Java release libDirInJreHome.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3065
    jniLibDir := Java release jniLibDirInJreHome.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3066
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3067
    dirs := Set new.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3068
    dirs
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3069
        add: javaHome / libDir;
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3070
        add: javaHome / libDir / 'amd64';
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3071
        add: javaHome / libDir / 'i386'.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3072
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3073
    libDir ~= jniLibDir ifTrue:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3074
        dirs 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3075
            add: javaHome / jniLibDir;
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3076
            add: javaHome / jniLibDir / 'amd64';
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3077
            add: javaHome / jniLibDir / 'i386'.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3078
    ].
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3079
    jreHome notNil ifTrue:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3080
        dirs 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3081
            add: jreHome / libDir ;
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3082
            add: jreHome / libDir / 'amd64'  ;
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3083
            add: jreHome / libDir / 'i386' ;
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3084
            add: jreHome / 'bin'.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3085
        libDir ~= jniLibDir ifTrue:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3086
            dirs 
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3087
                add: jreHome / jniLibDir;
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3088
                add: jreHome / jniLibDir / 'amd64';
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3089
                add: jreHome / jniLibDir / 'i386'
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3090
        ].
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3091
    ].
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3092
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3093
    OperatingSystem isMSWINDOWSlike ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3094
        dirs
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3095
            add: javaHome / 'bin'.
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3096
    ].
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3097
    dirs := (dirs select:[:d| d exists]) asOrderedCollection.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3098
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3099
    ^String streamContents:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3100
        [:path|
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3101
        dirs
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3102
            do:[:d|path nextPutAll:d pathName]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3103
            separatedBy:[path nextPut: OperatingSystem pathSeparator]]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3104
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3105
    "
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  3106
     JavaVM defaultJavaLibraryPath
2151
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
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3109
    "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
  3110
    "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
  3111
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3112
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3113
defaultSunBootLibraryPath
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3114
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3115
    |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
  3116
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3117
    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
  3118
    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
  3119
        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
  3120
        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
  3121
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3122
    ^ s contents
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3123
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3124
    "
2353
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
        JavaVM defaultSunBootLibraryPath
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
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3128
    "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
  3129
    "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
  3130
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3131
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3132
defaultWindowingToolKit
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3133
    "/ prefer the windows toolkit ...
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3134
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3135
    (self classForName: 'sun.awt.windows.WToolkit') notNil ifTrue: [
2092
7da11fcd701b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2085
diff changeset
  3136
        ^ 'sun.awt.windows.WToolkit'.
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
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
    (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
  3139
        self halt: 'MotifToolKit: this is untested code'.
2092
7da11fcd701b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2085
diff changeset
  3140
        ^ 'sun.awt.motif.MToolkit'.
7da11fcd701b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2085
diff changeset
  3141
    ].
2353
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: 'TinyToolKit: this is untested code'.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3143
    ^ 'sun.awt.tiny.TinyToolkit'.
de483f561c9e *** empty log message ***
cg
parents:
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
    "/    ^ '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
  3146
    "/    ^ 'sun.awt.motif.MToolkit'.
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
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
     self defaultWindowingToolKit"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3149
    "Created: / 3.1.1998 / 14:27:49 / cg"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 274
diff changeset
  3150
    "Modified: / 27.1.1998 / 21:52:52 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3151
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3152
546
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3153
fileAccessTrace
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3154
    ^ FileAccessTrace
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3155
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3156
    "Created: / 27.1.1999 / 18:55:40 / cg"
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3157
!
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3158
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3159
fileAccessTrace:aBoolean
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3160
    FileAccessTrace := aBoolean
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3161
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3162
    "Created: / 19.10.1998 / 16:01:44 / cg"
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3163
    "Modified: / 27.1.1999 / 18:55:52 / cg"
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3164
!
56e1665483d2 *** empty log message ***
cg
parents: 544
diff changeset
  3165
390
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3166
fileOpenConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3167
    ^ FileOpenConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3168
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3169
    "Created: / 19.10.1998 / 16:01:44 / cg"
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3170
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3171
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3172
fileOpenConfirmation:aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3173
    FileOpenConfirmation := aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3174
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3175
    "Created: / 19.10.1998 / 16:01:56 / cg"
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3176
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3177
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3178
javaConsole:aStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3179
    JavaConsoleStream := aStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3180
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3181
    "
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3182
     JavaVM javaConsole:Transcript
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3183
    "
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3184
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3185
    "Modified: / 6.8.1997 / 00:34:13 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3186
    "Created: / 3.1.1998 / 14:27:58 / cg"
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3187
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3188
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3189
javaConsoleStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3190
    ^ JavaConsoleStream
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3191
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3192
    "Created: / 3.1.1998 / 14:32:16 / cg"
390
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3193
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3194
572
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3195
nullPointerExceptionDebug
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3196
    ^ NullPointerExceptionDebug
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3197
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3198
    "Created: / 27.1.1999 / 20:14:51 / cg"
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3199
!
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3200
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3201
nullPointerExceptionDebug:aBoolean
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3202
    NullPointerExceptionDebug := aBoolean
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3203
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3204
    "Created: / 27.1.1999 / 20:15:00 / cg"
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3205
!
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
diff changeset
  3206
390
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3207
socketConnectConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3208
    ^ SocketConnectConfirmation
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3209
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3210
    "Created: / 19.10.1998 / 16:02:15 / cg"
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3211
!
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3212
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3213
socketConnectConfirmation:aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3214
    SocketConnectConfirmation := aBoolean
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3215
f33f1eeefb08 configurable fileOpen and socketConnect confirmations.
cg
parents: 388
diff changeset
  3216
    "Created: / 19.10.1998 / 16:02:06 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3217
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3218
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3219
!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
  3220
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3221
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
  3222
    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
  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
    "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
  3225
!
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
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
  3228
    ^ 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
  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
    "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
  3231
!
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
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
  3234
     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
  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
    "Created: / 08-12-2011 / 21:06:03 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3237
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3238
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3239
!JavaVM class methodsFor:'helpers'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3240
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3241
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
  3242
    "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
  3243
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3244
    | sc  tc |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3245
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3246
    "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
  3247
    s isJavaPrimitiveType ifTrue: [
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3248
        "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
  3249
        ^ 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
  3250
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3251
     "
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
     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
  3253
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3254
     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
  3255
     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
  3256
     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
  3257
     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
  3258
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
     - 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
  3260
     - 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
  3261
     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
  3262
     - 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
  3263
    "
2353
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
    (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
  3265
        ^ (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
  3266
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3267
     "
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
     - 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
  3269
     - 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
  3270
     - 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
  3271
     superinterface of S.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3272
    "
2353
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
    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
  3274
        ^ 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
  3275
            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
  3276
            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
  3277
    ].
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
     "
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
     - 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
  3280
     ponents of type SC , then:
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3281
    "
2353
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
    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
  3283
    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
  3284
     "
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
     - 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
  3286
    "
2601
3d4b433fb25c Performance optimization - classForName: (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2597
diff changeset
  3287
    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
  3288
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3289
     - 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
  3290
     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
  3291
     - 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
  3292
     - 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
  3293
     recursive application of these rules.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3294
    "
2353
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
    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
  3296
        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
  3297
        ^ 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
  3298
            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
  3299
            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
  3300
    ].
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
     "
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
     - 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
  3303
     by arrays (JLS3 4.10.3).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3304
    "
2353
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
    ((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
  3306
        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
  3307
    ^ false
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3308
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3309
    "Modified: / 09-01-1999 / 00:45:21 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3310
    "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
  3311
    "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
  3312
    "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
  3313
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3315
javaStringObjectForString:string
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3316
    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
  3317
    ^ self reflection javaStringObjectForString:string interned:false
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3318
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3319
    "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
  3320
    "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
  3321
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3322
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3323
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
  3324
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3325
    ^self reflection javaStringObjectForString:string interned:intern.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3326
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3327
    "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
  3328
    "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
  3329
    "Modified: / 09-02-2011 / 01:04:21 / Marcel Hlopko <hlopik@gmail.com>"
321
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 319
diff changeset
  3330
!
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 319
diff changeset
  3331
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3332
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
  3333
    | 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
  3334
    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
  3335
    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
  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
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
    "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
  3339
    "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
  3340
    "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
  3341
!
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
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
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
  3344
    | 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
  3345
3112
1f8c991bc1d2 Variaous optimizations in string manipulatios to speed up class reading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3083
diff changeset
  3346
    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
  3347
2353
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
    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
  3349
    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
  3350
    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
  3351
        "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
  3352
        dimensions := dimensions - 1.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3353
    ].
2353
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
    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
  3355
        ^ 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
  3356
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
    "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
  3358
    "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
  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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3361
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
  3362
    | 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
  3363
    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
  3364
    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
  3365
    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
  3366
    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
  3367
    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
  3368
        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
  3369
    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
  3370
    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
  3371
    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
  3372
    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
  3373
    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
  3374
    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
  3375
        ((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
  3376
            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
  3377
            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
  3378
274
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3379
    "/
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3380
    "/ that on was only temporarily present in JDK1.1.3 (sigh)
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3381
    "/
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3382
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3383
    (i := thread class instVarOffsetOf: 'initial_stack_memory') notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3384
        thread instVarAt: i put: 0.
274
0a9193e3f2be *** empty log message ***
cg
parents: 272
diff changeset
  3385
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3386
    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
  3387
    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
  3388
        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
  3389
    ] 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
  3390
        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
  3391
    ].
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3392
    ^ thread
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3393
2353
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
    "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
  3395
    "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
  3396
    "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
  3397
    "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
  3398
!
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
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
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
  3401
    | 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
  3402
    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
  3403
    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
  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
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
    "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
  3407
    "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
  3408
    "Modified: / 09-12-2011 / 13:12:39 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3409
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3410
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3411
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
  3412
    | 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
  3413
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3414
    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
  3415
        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
  3416
        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
  3417
        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
  3418
        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
  3419
        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
  3420
            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
  3421
        standardGroup instVarNamed: 'destroyed' put: 0.
2806
41d1af53f1eb Fix in JavaVM>>standardThreadGroup
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2744
diff changeset
  3422
        standardGroup instVarNamed: 'daemon' put: 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
  3423
        (standardGroup class instVarOffsetOf: 'vmAllowSuspension') notNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3424
            standardGroup instVarNamed: 'vmAllowSuspension' put: 0.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3425
        ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3426
        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
  3427
        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
  3428
        standardGroup instVarNamed: 'groups' put: nil.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3429
        StandardThreadGroup := standardGroup.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3430
    ].
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3431
    ^ StandardThreadGroup
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3432
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3433
    "Created: / 03-01-1998 / 01:41:54 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3434
    "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
  3435
    "Modified: / 07-10-2013 / 11:51:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3436
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3437
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3438
!JavaVM class methodsFor:'helpers - exceptions'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3439
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3440
throwAbstractMethodError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3441
    ^ self throwExceptionClassName: 'java.lang.AbstractMethodError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3442
        withMessage: 'resolving a method ref failed'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3443
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3444
    "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
  3445
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3446
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3447
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
  3448
    | 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
  3449
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
    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
  3451
    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
  3452
    ^ self throwException: ex
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3453
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3454
    "Created: / 14.1.1998 / 21:36:05 / cg"
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3455
    "Modified: / 20.11.1998 / 13:27:14 / cg"
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3456
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3457
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3458
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
  3459
    | 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
  3460
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3461
    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
  3462
    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
  3463
    ^ self throwException: ex
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3464
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3465
    "Modified: / 20.11.1998 / 13:27:14 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3466
    "Created: / 8.1.1999 / 15:03:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3467
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3468
3114
ba69147aea97 Better error message for VM-thrown ArrayStoreException.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3112
diff changeset
  3469
throwArrayStoreException:message
582
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3470
    ^ self
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3471
        throwExceptionClassName:'java.lang.ArrayStoreException'
3114
ba69147aea97 Better error message for VM-thrown ArrayStoreException.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3112
diff changeset
  3472
        withMessage:message
ba69147aea97 Better error message for VM-thrown ArrayStoreException.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3112
diff changeset
  3473
ba69147aea97 Better error message for VM-thrown ArrayStoreException.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3112
diff changeset
  3474
    "Modified: / 02-06-2014 / 14:21:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
581
124338be273b checkin from browser
cg
parents: 579
diff changeset
  3475
!
124338be273b checkin from browser
cg
parents: 579
diff changeset
  3476
530
3ad16c28ff2b checkin from browser
cg
parents: 529
diff changeset
  3477
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
  3478
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3479
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3480
    ^ 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
  3481
        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
  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
    "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
  3484
    "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
  3485
    "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
  3486
!
3ad16c28ff2b checkin from browser
cg
parents: 529
diff changeset
  3487
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3488
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
  3489
    ^ self throwClassFormatError: 'Invalid class format'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3490
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3491
    "Created: / 04-01-1998 / 22:26:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3492
    "Modified: / 10-11-1998 / 13:20:31 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3493
    "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
  3494
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3495
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3496
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
  3497
    ^ 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
  3498
        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
  3499
        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
  3500
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
    "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
  3502
    "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
  3503
    "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
  3504
!
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
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3506
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
  3507
    ^ 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
  3508
	throwExceptionClassName:'java.lang.ClassNotFoundException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3509
	withMessage:'no such class'
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3510
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3511
    "Created: / 4.1.1998 / 22:25:26 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3512
    "Modified: / 7.1.1998 / 15:25:35 / cg"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3513
!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3514
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3515
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
  3516
    ^ 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
  3517
        withMessage: 'no such class: ' , className
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3518
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3519
    "Created: / 4.1.1998 / 22:26:09 / cg"
429
99990a8a3509 *** empty log message ***
cg
parents: 426
diff changeset
  3520
    "Modified: / 10.11.1998 / 13:20:31 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3521
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3522
2908
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3523
throwCloneNotSupportedException
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3524
    ^ 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
  3525
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3526
    "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
  3527
!
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
throwCloneNotSupportedException: message
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3530
    ^ self
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3531
        throwExceptionClassName:'java.lang.CloneNotSupportedException'
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3532
        withMessage: message
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3533
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3534
    "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
  3535
!
064418faa2e3 Another pass over Mauve tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2875
diff changeset
  3536
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3537
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
  3538
    ^ 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
  3539
        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
  3540
        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
  3541
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3542
    "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
  3543
!
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
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3545
throwDivisionByZeroException
582
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3546
    DivisionByZeroExceptionDebug == true ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3547
	self halt:'division by zero'.
582
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3548
    ].
0796f6db7c14 checkin from browser
cg
parents: 581
diff changeset
  3549
    ^ self
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3550
	throwExceptionClassName:'java.lang.ArithmeticException'
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3551
	withMessage:'division by zero'
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3552
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3553
    "Created: / 8.1.1999 / 14:28:15 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3554
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  3555
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3556
throwException: aJavaException
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3557
    <resource: #skipInDebuggersWalkBack>
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3558
    | con  jMsg  msg  exClass  srchCon  handlerContext  handlerPC  method  pc  hPC handler |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3559
    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
  3560
        | tmpMessage |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3561
        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
  3562
        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
  3563
            tmpMessage := Java as_ST_String: tmpMessage
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3564
        ].
2353
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
        Logger
2925
a77c05c8cd68 Fix in JavaVM for exception debugging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2921
diff changeset
  3566
            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
  3567
                    , tmpMessage , ')'
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  3568
            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
  3569
            facility: 'JVM'
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3570
    ].
2353
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
    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
  3572
        "/        self internalError:('JAVA: exception: ' , aJavaException class fullName).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3573
        (ExceptionDebugPatterns isNilOrEmptyCollection
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3574
            or: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3575
                ExceptionDebugPatterns
2925
a77c05c8cd68 Fix in JavaVM for exception debugging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2921
diff changeset
  3576
                    anySatisfy: [:pattern | pattern match: 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
  3577
            ])
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3578
                ifTrue: [
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  3579
                    ObjectMemory debugBreakPoint3.
2925
a77c05c8cd68 Fix in JavaVM for exception debugging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2921
diff changeset
  3580
                    self halt: ('JAVA: exceptionDebug: ' , 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
  3581
                ]
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3582
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3583
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3584
    "/
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3585
    "/ search stack for a javaContext which handles that exception
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3586
    "/
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3587
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3588
2587
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3589
    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
  3590
    [ 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
  3591
        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
  3592
        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
  3593
            (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
  3594
                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
  3595
                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
  3596
                    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
  3597
                ].
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3598
                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
  3599
                (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
  3600
                    handlerPC := hPC.
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3601
                    handlerContext := srchCon
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3602
                ].
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3603
            ] ifFalse:[
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3604
                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
  3605
                    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
  3606
                        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
  3607
                    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
  3608
                        "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
  3609
                        handlerContext := srchCon.
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3610
                    ]
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  3611
                ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3612
            ].
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3613
        ].
459
a73a8726694c *** empty log message ***
cg
parents: 457
diff changeset
  3614
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3615
    handlerContext isNil ifTrue: [
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3616
        "/
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3617
        "/ no JavaHandler ... let smalltalk handle it
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3618
        "/
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3619
        exClass := aJavaException class.
3121
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  3620
        (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
  3621
            JavaUnhandledThreadDeathError
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  3622
                raiseWith: aJavaException
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  3623
                errorString: msg
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  3624
                in: thisContext sender.
cc0ea0656186 Fixed bug #77: Ignore unhandled ThreadDeath exceptions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3114
diff changeset
  3625
            ^ 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
  3626
        ].
2841
6fa1bcf9c997 JavaClass>>#name vs. #binaryName refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  3627
        msg := 'Java ' , exClass 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
  3628
        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
  3629
        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
  3630
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
        "/ for our convenience: skip ST contexts
652
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3632
        "/ (i.e. the handler or debugger will see the javaContext first )
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3633
4f234e6ade10 keep track of dead eventQueue thread;
cg
parents: 649
diff changeset
  3634
        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
  3635
        [ 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
  3636
        con isNil ifTrue: [ con := thisContext sender ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3637
        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
  3638
            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
  3639
            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
  3640
            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
  3641
    ] 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
  3642
        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
  3643
            "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3644
            "/ 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
  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
            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
  3647
            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
  3648
            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
  3649
            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
  3650
            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
  3651
        ] 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
  3652
            | 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
  3653
            "/
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
            "/ 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
  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
            "/ 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
  3657
            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
  3658
            "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
  3659
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
            "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
  3661
            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
  3662
            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
  3663
            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
  3664
            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
  3665
            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
  3666
        ].
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  3667
    ].
2353
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
    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
  3669
    Processor activeProcess == JavaEventQueueThread ifTrue: [ self halt ].
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  3670
    Processor activeProcess terminate.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3671
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3672
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3673
     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
  3674
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3675
    "Created: / 07-01-1998 / 15:28:22 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3676
    "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
  3677
    "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
  3678
    "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
  3679
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3680
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3681
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
  3682
    | 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
  3683
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3684
    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
  3685
    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
  3686
    ^ 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
  3687
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3688
    "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
  3689
    "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
  3690
    "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
  3691
    "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
  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
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
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
  3695
    | 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
  3696
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
    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
  3698
    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
  3699
    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
  3700
    ^ 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
  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
    "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
  3703
!
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
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
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
  3706
    "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
  3707
     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
  3708
     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
  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
    |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
  3711
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
    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
  3713
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
    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
  3715
    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
  3716
    returnContext := thisContext sender sender sender.
2843
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3717
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3718
    (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
  3719
        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
  3720
    ] ifFalse:[
2843
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3721
    token := JavaContext finallyTokenClass new.
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3722
        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
  3723
            token
2843
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3724
                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
  3725
                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
  3726
                exception: returnContext receiver;
2843
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3727
                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
  3728
        ] ifFalse:[
2843
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3729
            returnContext selector == #return ifTrue:[
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3730
                token
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3731
                    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
  3732
                    selector: #return;
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3733
                    exception: returnContext receiver;
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3734
                    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
  3735
            ] ifFalse:[
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  3736
                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
  3737
            ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3738
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3739
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3740
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3741
    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
  3742
    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
  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
    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
  3745
    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
  3746
    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
  3747
    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
  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
    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
  3750
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
    "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
  3752
    "Modified: / 10-10-2013 / 10:03:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3753
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3754
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3755
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
  3756
    ^ 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
  3757
        throwExceptionClassName:'java.lang.ExceptionInInitializerError'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3758
        withMessage:'error when initializing class: ' , className
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3759
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3760
    "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
  3761
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3762
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3763
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
  3764
    ^ 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
  3765
        throwExceptionClassName:'java.io.FileNotFoundException'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3766
        withMessage: message
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
    "Created: / 04-01-1998 / 22:26:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3769
    "Modified: / 10-11-1998 / 13:20:31 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3770
    "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
  3771
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3772
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3773
throwIOExceptionWithMessage:message
584
9e346fcad5d9 oops - kept interrupts blocked sometimes
cg
parents: 582
diff changeset
  3774
    IOExceptionDebug == true ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3775
	self halt:'IO Exception'.
584
9e346fcad5d9 oops - kept interrupts blocked sometimes
cg
parents: 582
diff changeset
  3776
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3777
    ^ self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3778
	throwExceptionClassName:'java.io.IOException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3779
	withMessage:message
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3780
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3781
    "Created: / 7.1.1998 / 10:34:24 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3782
    "Modified: / 7.1.1998 / 15:26:25 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3783
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3784
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3785
throwIllegalAccessError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3786
    ^ self throwExceptionClassName: 'java.lang.IllegalAccessError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3787
        withMessage: 'illegal access'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3788
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3789
    "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
  3790
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3791
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3792
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
  3793
    ^ 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
  3794
	throwExceptionClassName:'java.lang.IllegalAccessException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3795
	withMessage:'illegal access'
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3796
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3797
    "Modified: / 7.1.1998 / 15:25:35 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3798
    "Created: / 14.1.1998 / 23:13:44 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3799
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3800
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3801
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
  3802
    ^ 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
  3803
        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
  3804
        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
  3805
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3806
    "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
  3807
    "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
  3808
    "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
  3809
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3810
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3811
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
  3812
    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
  3813
            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
  3814
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3815
    "Created: / 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
  3816
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3817
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3818
throwIncompatibleClassChangeError
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3819
        ^ self throwExceptionClassName: 'java.lang.IncompatibleClassChangeError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3820
                withMessage: 'illegal change'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3821
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3822
    "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
  3823
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3824
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3825
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
  3826
    ^ 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
  3827
	throwExceptionClassName:'java.lang.InstantiationException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3828
	withMessage:'cannot instantiate'
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3829
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3830
    "Modified: / 7.1.1998 / 15:25:35 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3831
    "Created: / 14.1.1998 / 23:15:01 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3832
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3833
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3834
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
  3835
    ^ 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
  3836
        throwExceptionClassName:'java.lang.InstantiationException'
691
8dcc24aeaa95 *** empty log message ***
cg
parents: 682
diff changeset
  3837
        withMessage:('cannot instantiate: ' , aJavaClass javaName)
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3838
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3839
    "Modified: / 7.1.1998 / 15:25:35 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3840
    "Created: / 14.1.1998 / 23:17:02 / cg"
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3841
!
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  3842
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3843
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
  3844
    ^ 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
  3845
        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
  3846
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3847
    "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
  3848
!
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
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  3850
throwInterruptedIOException: message
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  3851
    ^ 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
  3852
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  3853
    "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
  3854
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2580
diff changeset
  3855
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3856
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
  3857
    | 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
  3858
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3859
    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
  3860
    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
  3861
    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
  3862
    ^ 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
  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
    "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
  3865
!
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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3867
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
  3868
    ^ 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
  3869
        throwExceptionClassName:'java.lang.LinkageError'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3870
        withMessage: message
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3871
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3872
    "Modified: / 10-11-1998 / 13:20:31 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3873
    "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
  3874
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3875
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3876
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
  3877
    ^ 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
  3878
        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
  3879
        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
  3880
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
    "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
  3882
!
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
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3884
throwNoSuchFieldException
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3885
  ^ self throwExceptionClassName: 'java.lang.NoSuchFieldError'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3886
        withMessage: 'looking up a field failed'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3887
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3888
    "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
  3889
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3890
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3891
throwNoSuchMethodError
3539
e546e1df7a01 Fixed baaad bug in INVOKE? handling when method does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3515
diff changeset
  3892
      ^ self throwNoSuchMethodError: 'looking up a method failed'.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3893
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3894
    "Created: / 11-04-2011 / 20:33:19 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3539
e546e1df7a01 Fixed baaad bug in INVOKE? handling when method does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3515
diff changeset
  3895
    "Modified: / 21-03-2016 / 01:11:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e546e1df7a01 Fixed baaad bug in INVOKE? handling when method does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3515
diff changeset
  3896
!
e546e1df7a01 Fixed baaad bug in INVOKE? handling when method does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3515
diff changeset
  3897
e546e1df7a01 Fixed baaad bug in INVOKE? handling when method does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3515
diff changeset
  3898
throwNoSuchMethodError: message
e546e1df7a01 Fixed baaad bug in INVOKE? handling when method does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3515
diff changeset
  3899
      ^ self throwExceptionClassName: 'java.lang.NoSuchMethodError'
e546e1df7a01 Fixed baaad bug in INVOKE? handling when method does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3515
diff changeset
  3900
              withMessage: message
e546e1df7a01 Fixed baaad bug in INVOKE? handling when method does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3515
diff changeset
  3901
e546e1df7a01 Fixed baaad bug in INVOKE? handling when method does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3515
diff changeset
  3902
    "Created: / 21-03-2016 / 01:11:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3903
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3904
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3905
throwNullPointerException
2515
bcfe9f4dca6b Improvements in JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2457
diff changeset
  3906
    self throwNullPointerException:'null pointer'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3907
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3908
    "Created: / 09-01-1998 / 02:26:08 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3909
    "Modified: / 28-01-1998 / 02:30:09 / cg"
2515
bcfe9f4dca6b Improvements in JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2457
diff changeset
  3910
    "Modified: / 15-04-2013 / 21:18:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3911
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3912
2353
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
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
  3914
    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
  3915
        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
  3916
    ].
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
    ^ 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
  3918
        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
  3919
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3920
    "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
  3921
    "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
  3922
    "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
  3923
    "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
  3924
!
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
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
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
  3927
    ^ 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
  3928
	throwExceptionClassName:'java.lang.NumberFormatException'
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  3929
	withMessage:'bad number format'
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3930
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3931
    "Modified: / 7.1.1998 / 15:25:35 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  3932
    "Created: / 11.1.1998 / 16:08:22 / cg"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3933
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3934
2353
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
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
  3936
    ^ 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
  3937
        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
  3938
        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
  3939
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: / 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
  3941
    "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
  3942
    "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
  3943
!
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
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
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
  3946
    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
  3947
        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
  3948
        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
  3949
            ^ 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
  3950
                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
  3951
        ].
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
    "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
  3954
!
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
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
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
  3957
    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
  3958
        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
  3959
            ^ 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
  3960
                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
  3961
        ].
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
    "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
  3964
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3965
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3966
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
  3967
    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
  3968
        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
  3969
            ^ 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
  3970
                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
  3971
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3972
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3973
    "Created: / 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
  3974
    "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
  3975
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3976
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3977
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
  3978
    ^ self throwZipException:'error in opening zip file'.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3979
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  3980
    "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
  3981
    "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
  3982
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3983
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3984
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
  3985
    ^ 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
  3986
           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
  3987
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  3988
    "Created: / 20-07-2012 / 19:15:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3989
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3990
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3991
!JavaVM class methodsFor:'helpers - io'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  3992
2353
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
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
  3994
    "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
  3995
     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
  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
    | 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
  3998
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
    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
  4000
    [ 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
  4001
        (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
  4002
            "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
  4003
            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
  4004
            [
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
                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
  4006
                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
  4007
                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
  4008
                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
  4009
                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
  4010
            ] 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
  4011
                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
  4012
            ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4013
        ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4014
            ex pass.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4015
        ].
307
d009b196caa7 more stuff (mostly sockets)
cg
parents: 306
diff changeset
  4016
    ].
2353
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
    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
  4018
        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
  4019
        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
  4020
    ].
2353
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
    ^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
  4022
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4023
    "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
  4024
    "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
  4025
    "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
  4026
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4027
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4028
!JavaVM class methodsFor:'helpers - reflection'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4029
2353
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
classForJavaClassObject:aJavaClassObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4031
    "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
  4032
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4033
    ^ self reflection classForJavaClassObject:aJavaClassObject
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4034
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4035
    "Created: / 23-01-1998 / 17:44:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4036
    "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
  4037
    "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
  4038
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4039
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4040
javaClassObjectForClass: aClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4041
    "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
  4042
     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
  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
"/    | 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
  4045
"/
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
"/    "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
  4047
"/    (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
  4048
"/        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
  4049
"/    ] 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
  4050
    ^ self reflection javaClassObjectForClass: aClass.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4051
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4052
    "Created: / 23-01-1998 / 17:43:38 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4053
    "Modified: / 05-12-1998 / 15:29:32 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4054
    "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
  4055
    "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
  4056
    "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
  4057
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4058
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
  4059
javaFieldObjectForField:aJavaField in:aJavaLangClass 
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4060
    "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
  4061
     instance for it."
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
        See OpenJDK7 source:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4064
        jdk7/hotspot/src/share/vm/runtime/reflection.cpp,
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4065
        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
  4066
    
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3122
diff changeset
  4067
    | field  clazz  nm  slot  type  modifiers |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4068
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4069
    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
  4070
    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
  4071
            interned:true.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4072
    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
  4073
    type := self javaClassObjectForClass:aJavaField typeClass.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4074
    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
  4075
    field := (self classForName:'java.lang.reflect.Field') new.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4076
    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
  4077
        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
  4078
        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
  4079
        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
  4080
        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
  4081
        instVarNamed:#modifiers put:modifiers;
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4082
        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
  4083
    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
  4084
        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
  4085
            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
  4086
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4087
    ^ field.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4088
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4089
    "Modified: / 05-12-1998 / 15:29:32 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4090
    "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
  4091
    "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
  4092
    "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
  4093
    "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
  4094
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4095
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4096
methodForJavaConstructorObject:constructor
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4097
    "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
  4098
     it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4099
    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
  4100
    ^ self reflection methodForJavaConstructorObject: constructor.
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
    "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
  4103
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4104
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4105
methodForJavaMethodObject:aJavaMethodObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4106
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4107
        Given an instance of java.lang.reflect.Method, answers
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4108
        real method associated with it."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4109
   ^ self reflection methodForJavaMethodObject:aJavaMethodObject.
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
    "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
  4112
    "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
  4113
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4114
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4115
!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
  4116
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4117
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
  4118
    | 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
  4119
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4120
    "/    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
  4121
    "/                   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
  4122
    "/    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
  4123
    "/        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
  4124
    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
  4125
    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
  4126
        LockTable at:someObject put:(mon := JavaMonitor for:someObject)
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4127
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4128
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4129
"/        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4130
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4131
    ^ 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
  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
    "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
  4134
    "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
  4135
    "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
  4136
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4137
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4138
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
  4139
    | 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
  4140
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4141
    "/ 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
  4142
    "/ JavaMethods (they are smalltalk trampolines) and thus their
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4143
    "/ activation does not create Java context
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4144
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4145
    "/ 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
  4146
    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
  4147
        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
  4148
        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
  4149
        ^ self
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4150
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4151
    thisProcess := 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
  4152
    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
  4153
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4154
            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
  4155
                    bindWith:(self monitorFriendlyPrintStringOf:someObject)
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4156
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4157
                    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
  4158
            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
  4159
            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
  4160
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4161
    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
  4162
2955
55692310d4e6 Fix in JavaVM>>monitorEnter:in: inflate thinlock using #getMonitor.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2945
diff changeset
  4163
    "/ 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
  4164
    someObject getJavaMonitor.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4165
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4166
    "/ 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
  4167
    self enterMonitor:someObject ofProcess:thisProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4168
"/    aJavaContext notNil ifTrue:[aJavaContext addMonitor:someObject].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4169
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4170
    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
  4171
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4172
    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
  4173
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4174
            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
  4175
                    bindWith:(self monitorFriendlyPrintStringOf:someObject)
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4176
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4177
                    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
  4178
            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
  4179
            facility:#JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4180
    ].
2353
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
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
    "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
  4183
    "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
  4184
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4185
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4186
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
  4187
    | 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
  4188
"/    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
  4189
    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
  4190
        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
  4191
        self breakPoint: #mh.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4192
        ^ self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4193
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4194
    thisProcess := Processor activeProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4195
    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
  4196
        Logger
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4197
            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
  4198
                    bindWith: (self monitorFriendlyPrintStringOf: someObject)
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4199
                    with: aJavaContext selector
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4200
                    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
  4201
            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
  4202
            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
  4203
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4204
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4205
    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
  4206
    self leaveMonitor: someObject ofProcess: thisProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4207
"/    aJavaContext notNil ifTrue:[aJavaContext removeMonitor: someObject].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4208
    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
  4209
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: monitor left for %1 in %2 thread %3'
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4213
                    bindWith: (self monitorFriendlyPrintStringOf: someObject)
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)
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4216
            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
  4217
            facility: #JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4218
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4219
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4220
    "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
  4221
    "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
  4222
!
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
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
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
  4225
    | 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
  4226
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4227
    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
  4228
    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
  4229
    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
  4230
    (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
  4231
        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
  4232
        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
  4233
            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
  4234
        ^self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4235
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4236
    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
  4237
    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
  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
    "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
  4240
    "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
  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
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
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
  4244
    | 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
  4245
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4246
    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
  4247
    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
  4248
    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
  4249
    (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
  4250
        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
  4251
        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
  4252
            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
  4253
        ^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
  4254
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4255
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4256
    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
  4257
    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
  4258
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4259
    "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
  4260
    "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
  4261
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4262
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
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
  4264
    "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
  4265
     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
  4266
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4267
    | 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
  4268
    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
  4269
        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
  4270
            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
  4271
            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
  4272
            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
  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
    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
  4275
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4276
    wasBlocked := OperatingSystem blockInterrupts.
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4277
    "/self assert: aJavaContext method isSynchronized.
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4278
    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
  4279
    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
  4280
        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
  4281
    ] 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
  4282
        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
  4283
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4284
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4285
    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
  4286
      __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
  4287
    }
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4288
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4289
    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
  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
    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
  4292
        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
  4293
            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
  4294
            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
  4295
            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
  4296
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4297
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4298
    "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
  4299
    "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
  4300
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4301
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
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
  4303
    "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
  4304
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
    | 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
  4306
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4307
    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
  4308
    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
  4309
        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
  4310
        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
  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
    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
  4313
    (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
  4314
    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
  4315
        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
  4316
        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
  4317
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4318
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4319
    "Created: / 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
  4320
    "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
  4321
    "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
  4322
    "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
  4323
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4324
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
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
  4326
    "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
  4327
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
    | wasBlocked  thisProcess  mon |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4329
    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
  4330
    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
  4331
        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
  4332
        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
  4333
            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
  4334
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4335
    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
  4336
    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
  4337
    (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
  4338
        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
  4339
        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
  4340
        ^self.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4341
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4342
    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
  4343
    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
  4344
    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
  4345
    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
  4346
        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
  4347
        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
  4348
            throwInterruptedException: 'process was interrupted before/during wait !!?'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4349
    ].
2353
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
    "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
  4352
    "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
  4353
    "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
  4354
    "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
  4355
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4356
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4357
!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
  4358
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
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
  4360
    "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
  4361
     *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
  4362
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4363
    | 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
  4364
    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
  4365
    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
  4366
    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
  4367
        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
  4368
            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
  4369
                    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
  4370
                    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
  4371
            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
  4372
            facility: #JVM.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4373
    ].
2353
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
    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
  4375
    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
  4376
"/    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
  4377
"/    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
  4378
"/    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
  4379
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
    "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
  4381
    "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
  4382
!
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
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
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
  4385
    | 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
  4386
    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
  4387
    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
  4388
    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
  4389
    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
  4390
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4391
    "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
  4392
    "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
  4393
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4394
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
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
  4396
    "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
  4397
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4398
    | 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
  4399
    (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
  4400
        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
  4401
        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
  4402
        enteredMonitors do: [:each | self acquireMonitor: each ofProcess: aProcess. ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4403
    ].
2353
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
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
    "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
  4406
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4407
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4408
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
  4409
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4410
    ^ (self 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
  4411
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4412
    "Modified: / 08-01-1999 / 14:02:15 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4413
    "Created: / 17-11-2011 / 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
  4414
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4415
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4416
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
  4417
"/    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
  4418
    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
  4419
        self assert: ((self acquiredMonitorsOfProcess: aProcess) last first == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4420
    ] 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
  4421
        self assert: ((self acquiredMonitorsOfProcess: aProcess) last == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4422
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4423
    (self 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
  4424
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
    "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
  4426
    "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
  4427
    "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
  4428
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4429
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
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
  4431
    ^ 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
  4432
        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
  4433
            | 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
  4434
            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
  4435
            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
  4436
            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
  4437
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4438
            .
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4439
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4440
    "Created: / 17-11-2011 / 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
  4441
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4442
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4443
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
  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
    ^ 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
  4447
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4448
    "Created: / 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
  4449
    "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
  4450
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4451
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
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
  4453
    "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
  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
    ^ (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
  4456
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4457
    "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
  4458
    "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
  4459
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4460
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
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
  4462
    "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
  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
    ^ (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
  4465
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4466
    "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
  4467
    "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
  4468
!
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
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
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
  4471
    | 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
  4472
    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
  4473
    ^ 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
  4474
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
    "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
  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
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
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
  4479
    | 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
  4480
    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
  4481
    ^ 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
  4482
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4483
    "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
  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
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
  4487
    "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
  4488
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4489
    | 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
  4490
    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
  4491
        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
  4492
        objInLists := { obj . MonitorTraceId }
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4493
    ] 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
  4494
        objInLists := obj
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4495
    ].
2353
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
"/    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
  4497
    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
  4498
    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
  4499
    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
  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
        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
  4502
            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
  4503
                    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
  4504
                    with: aProcess id
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4505
                    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
  4506
            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
  4507
            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
  4508
            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
  4509
            "/attachment: thisContext fullPrintAllString
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4510
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4511
    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
  4512
    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
  4513
"/    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
  4514
"/    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
  4515
"/    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
  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
    "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
  4518
    "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
  4519
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4520
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4521
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
  4522
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
    ^ (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
  4524
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
    "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
  4526
    "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
  4527
    "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
  4528
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4529
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4530
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
  4531
"/    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
  4532
"/    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
  4533
    MonitorTrace ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4534
        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
  4535
    ] 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
  4536
        self assert: ((self enteredMonitorsOfProcess: aProcess) last == anyObject).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4537
    ].
2353
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
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
    (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
  4541
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4542
    "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
  4543
    "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
  4544
    "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
  4545
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4546
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4547
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
  4548
    ^ 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
  4549
        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
  4550
            | 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
  4551
            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
  4552
            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
  4553
            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
  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
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
    "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
  4558
    "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
  4559
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4560
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
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
  4562
    "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
  4563
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 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
  4565
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
    "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
  4567
    "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
  4568
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4569
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4570
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
  4571
   |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
  4572
   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
  4573
   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
  4574
   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
  4575
    each exit.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4576
    ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4577
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4578
    "Created: / 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
  4579
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4580
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4581
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
  4582
    ^ (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
  4583
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4584
    "Created: / 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
  4585
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4586
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4587
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
  4588
   | 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
  4589
   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
  4590
   ^ 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
  4591
   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
  4592
           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
  4593
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: / 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
  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
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
  4598
   | 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
  4599
   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
  4600
   ^ 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
  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
    "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
  4603
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4604
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
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
  4606
     | 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
  4607
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4608
    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
  4609
    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
  4610
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4611
    ^ 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
  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
    "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
  4614
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4615
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
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
  4617
    "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
  4618
     *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
  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
    | 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
  4621
    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
  4622
    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
  4623
    "/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
  4624
    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
  4625
        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
  4626
        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
  4627
                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
  4628
                with: aProcess name
2457
0cef0ce3d1ac Make JavaContext>>acquiredMonitors obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  4629
                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
  4630
        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
  4631
        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
  4632
        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
  4633
        "/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
  4634
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4635
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4636
    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
  4637
"/    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
  4638
"/    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
  4639
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4640
    "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
  4641
    "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
  4642
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4643
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4644
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
  4645
    "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
  4646
     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
  4647
     (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
  4648
     *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
  4649
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4650
    | monitors |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4651
    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
  4652
    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
  4653
        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
  4654
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
            | 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
  4656
            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
  4657
            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
  4658
                (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
  4659
                    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
  4660
                        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
  4661
                        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
  4662
                        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
  4663
                    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
  4664
                    mon exit
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4665
                ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4666
            ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4667
        ].
2353
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
        EnteredMonitorsPerProcess removeKey: aProcess.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4669
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4670
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4671
    "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
  4672
    "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
  4673
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4674
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4675
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
  4676
    | 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
  4677
    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
  4678
    (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
  4679
        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
  4680
    ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4681
        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
  4682
            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
  4683
                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
  4684
                        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
  4685
                        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
  4686
                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
  4687
                facility: #JVM
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4688
        ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4689
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4690
2353
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
    "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
  4692
    "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
  4693
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4694
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
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
  4696
    | 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
  4697
    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
  4698
        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
  4699
                    , someObject identityHash printString.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4700
    ].
2353
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
    ^ objString
2841
6fa1bcf9c997 JavaClass>>#name vs. #binaryName refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4702
6fa1bcf9c997 JavaClass>>#name vs. #binaryName refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4703
    "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
  4704
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4705
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4706
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
  4707
    "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
  4708
     *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
  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
    | 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
  4711
    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
  4712
    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
  4713
    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
  4714
    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
  4715
        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
  4716
            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
  4717
                    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
  4718
                    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
  4719
            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
  4720
            facility: #JVM.
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4721
    ].
2353
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
    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
  4723
    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
  4724
"/    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
  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
    "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
  4727
    "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
  4728
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4729
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4730
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
  4731
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
    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
  4733
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4734
    "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
  4735
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4736
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4737
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
  4738
    "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
  4739
     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
  4740
     *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
  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
    | 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
  4743
    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
  4744
    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
  4745
        monitors do: [:obj | self releaseMonitor: obj ofProcess: aProcess. ].
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4746
    ].
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4747
2353
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
    "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
  4749
    "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
  4750
    "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
  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
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
  4754
    "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
  4755
     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
  4756
     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
  4757
     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
  4758
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4759
    ^ [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4760
        | 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
  4761
        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
  4762
            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
  4763
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4764
        self releaseMonitorsOfUnwindingContext: aJavaContext.
544
18535acdec91 checkin from browser
cg
parents: 541
diff changeset
  4765
    ].
284
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4766
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4767
    "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
  4768
    "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
  4769
    "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
  4770
! !
a4216f13deac more jdk1.2 stuff
cg
parents: 280
diff changeset
  4771
2353
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
!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
  4773
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4774
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
  4775
    "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
  4776
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
    | wasBlocked  thisProcess  releasedCount  acquiredCount |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4778
    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
  4779
    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
  4780
    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
  4781
    (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
  4782
        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
  4783
            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
  4784
                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
  4785
                        , (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
  4786
                            , ' monitors'
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4787
                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
  4788
                facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4789
        ].
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
        self releaseMonitorsOfProcess: thisProcess.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4791
    ].
2353
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
    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
  4793
    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
  4794
    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
  4795
        (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
  4796
            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
  4797
        ].
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
    ].
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
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
    "/ 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
  4801
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4802
    (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
  4803
        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
  4804
        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
  4805
            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
  4806
                    , (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
  4807
                        , ' 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
  4808
            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
  4809
            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
  4810
        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
  4811
        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
  4812
        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
  4813
        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
  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
    "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
  4817
    "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
  4818
    "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
  4819
    "Modified: / 02-03-2015 / 14:11:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
440
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
  4820
! !
9f1ede9c5f68 checkin from browser
cg
parents: 439
diff changeset
  4821
2353
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
!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
  4823
2914
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4824
_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
  4825
    "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
  4826
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4827
    ^ 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
  4828
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4829
    "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
  4830
!
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4831
2353
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
_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
  4833
    <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
  4834
    "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
  4835
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  4836
    ^ 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
  4837
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4838
    "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
  4839
!
1f4c3054998c Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2908
diff changeset
  4840
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_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
  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_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
  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: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
  4847
! !
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  4848
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4849
!JavaVM class methodsFor:'queries'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4850
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4851
booted
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4852
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4853
    | jVM |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4854
2353
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
    "/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
  4856
    ^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
  4857
        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
  4858
        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
  4859
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4860
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4861
"/    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
  4862
"/    ^ 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
  4863
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4864
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4865
     JavaVM booted"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4866
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  4867
    "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
  4868
    "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
  4869
    "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
  4870
! !
eae34fe6ce03 sysresource stuff + separate nullPtr debug
cg
parents: 569
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
!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
  4873
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4874
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
  4875
    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
  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
    "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
  4878
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4880
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
  4881
    ^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
  4882
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4883
    "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
  4884
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4885
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4886
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
  4887
    "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
  4888
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
    | blocked sema |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  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
    blocked := OperatingSystem blockInterrupts.
2928
08a14f3553a2 Fix in JavaVM>>#unpark: (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2925
diff changeset
  4892
    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
  4893
    sema := ParkUnparkSemaphores at: process ifAbsentPut:[Semaphore new].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4894
    blocked ifFalse:[ OperatingSystem unblockInterrupts ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4895
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4896
    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
  4897
    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
  4898
    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
  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 / 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
  4901
    "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
  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
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
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
  4905
    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
  4906
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4907
    "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
  4908
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4909
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
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
  4911
    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
  4912
    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
  4913
    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
  4914
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4915
    "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
  4916
    "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
  4917
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4918
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
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
  4920
    "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
  4921
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
    | 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
  4923
    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
  4924
    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
  4925
    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
  4926
                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
  4927
    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
  4928
    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
  4929
    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
  4930
    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
  4931
        nm := jName
520
64e7e53cdfac checkin from browser
cg
parents: 519
diff changeset
  4932
    ].
2353
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
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
    "/ 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
  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
    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
  4937
        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
  4938
            (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
  4939
                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
  4940
            ].
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
        ]
526
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  4942
    ].
a5c6d24f952b checkin from browser
cg
parents: 524
diff changeset
  4943
2353
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
    "/ 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
  4945
    "/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
  4946
    "/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
  4947
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
    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
  4949
        addExitAction: [
2850
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4950
            MonitorTrace ifTrue:[
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4951
                Logger
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4952
                    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
  4953
                            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
  4954
                    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
  4955
                    facility: #JVM.
e4f0dcc42f4a Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  4956
            ].
2353
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
            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
  4958
            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
  4959
            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
  4960
            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
  4961
                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
  4962
            ].
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
        ].
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
    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
  4965
    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
  4966
    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
  4967
    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
  4968
    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
  4969
    ^ 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
  4970
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4971
    "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
  4972
    "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
  4973
    "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
  4974
    "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
  4975
!
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
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
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
  4978
    "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
  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
    | blocked sema |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4981
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
    blocked := OperatingSystem blockInterrupts.
2928
08a14f3553a2 Fix in JavaVM>>#unpark: (typo)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2925
diff changeset
  4983
    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
  4984
    sema := ParkUnparkSemaphores at: process ifAbsentPut:[Semaphore new].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4985
    blocked ifFalse:[ OperatingSystem unblockInterrupts ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  4986
3384
98eb8443f4f4 Use new Logger API (use Logger severityXXX instead of symbols)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  4987
    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
  4988
    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
  4989
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
    "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
  4991
    "Modified: / 02-03-2015 / 13:56:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4992
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4993
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4994
!JavaVM class methodsFor:'vm support'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  4995
3070
3f6f3b935c17 Fixed unimplemented native java.lang.reflect.Array.get()
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3066
diff changeset
  4996
_AALOAD: arr _: idx
2568
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  4997
    "Called from the VM (___aaload()) for unhandled cases"
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  4998
3070
3f6f3b935c17 Fixed unimplemented native java.lang.reflect.Array.get()
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3066
diff changeset
  4999
    (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
  5000
        ^ JavaVM throwArrayIndexOutOfBoundsException: arr _: idx. 
3f6f3b935c17 Fixed unimplemented native java.lang.reflect.Array.get()
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3066
diff changeset
  5001
    ].
3f6f3b935c17 Fixed unimplemented native java.lang.reflect.Array.get()
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3066
diff changeset
  5002
    arr basicAt: idx + 1
2568
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  5003
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  5004
    "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
  5005
    "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
  5006
!
2a2741b4cda1 AALOAD/AASTORE refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2567
diff changeset
  5007
2567
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5008
_AASTORE: arr _: val _: index
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5009
    "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
  5010
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5011
     (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
  5012
        (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
  5013
            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
  5014
            ^ nil "Not reached"
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5015
        ].
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5016
    ].
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5017
    arr basicAt: index + 1 put: val
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5018
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5019
    "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
  5020
    "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
  5021
!
b7befaec5b54 Added JavaVM class>>_AASTORE:_:_: insn implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2527
diff changeset
  5022
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5023
_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
  5024
    "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
  5025
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5026
    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
  5027
    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
  5028
        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
  5029
                         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
  5030
        ^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
  5031
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5032
    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
  5033
    ^ cls javaArrayClass new:size
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5034
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5035
    "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
  5036
    "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
  5037
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5038
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5039
_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
  5040
    "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
  5041
     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
  5042
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5043
    ^ 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
  5044
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5045
    "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
  5046
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5047
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5048
_ARRAYLENGTH:arr
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  5049
    arr isNil ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5050
        "/self halt:'should not happen'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5051
        self throwNullPointerException.
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  5052
    ].
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5053
    ^ arr size
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5054
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5055
    "Created: / 08-01-1999 / 14:38:27 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5056
    "Modified: / 31-05-2011 / 10:09:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5057
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5058
523
4e94b5f76d80 checkin from browser
cg
parents: 520
diff changeset
  5059
_ATHROW:aJavaException
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5060
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5061
    <resource: #skipInDebuggersWalkBack>
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5062
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5063
    | message |
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5064
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  5065
    aJavaException isNil ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5066
        self halt:'cannot happen'
586
55ea33ab322a checkin from browser
cg
parents: 585
diff changeset
  5067
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5068
    "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
  5069
     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
  5070
     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
  5071
     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
  5072
     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
  5073
     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
  5074
     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
  5075
    aJavaException class == JavaContext finallyTokenClass ifTrue:[
2843
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5076
        | sender |
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5077
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5078
        "/ 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
  5079
        sender := thisContext sender.
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5080
        sender method isSynchronized ifTrue:[
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5081
            self releaseMonitorsOfUnwindingContext: thisContext sender.
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5082
        ].
36f000314bcd Fix in mixed exception handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2841
diff changeset
  5083
        "/ 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
  5084
        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
  5085
        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
  5086
    ].
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5087
    "Another kludge: ECJ compiler throws java.lang.Error in case
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5088
     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
  5089
     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
  5090
     to JavaUnresolvedCompilationError"
2868
90724c4fa7f8 Fix to recompile erroneous classes upon reload.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2851
diff changeset
  5091
    aJavaException class binaryName == #'stx/libjava/tools/compiler/CompileError' ifTrue:[
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5092
        message := aJavaException getMessage.
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5093
        (message startsWith: 'Unresolved compilation problem:') ifTrue:[
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5094
            JavaUnresolvedCompilationError newException
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5095
                messageText: (message copyFrom: 'Unresolved compilation problem:' size + 1) trimSeparators;
2527
c380a7c258fb Makes JavaUnresolvedCompilationError proceedable.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2526
diff changeset
  5096
                proceedable: true;
c380a7c258fb Makes JavaUnresolvedCompilationError proceedable.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2526
diff changeset
  5097
                raiseSignal.
c380a7c258fb Makes JavaUnresolvedCompilationError proceedable.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2526
diff changeset
  5098
            ^thisContext sender return
2526
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5099
        ]
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5100
    ].
ef415ed11871 Added JavaUnresolvedCompilationError.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2515
diff changeset
  5101
2353
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 throwException:aJavaException
519
0df8dbbb5a7a checkin from browser
cg
parents: 518
diff changeset
  5103
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5104
    "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
  5105
    "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
  5106
    "Modified: / 16-10-2013 / 12:53: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
  5107
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5108
2593
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5109
_CHECKCAST: obj _: cls
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5110
    "A principal implementation of CHECKCAST instruction. Called by the bytecode
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  5111
     interpreter for unhandled cases."
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  5112
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5113
    obj isNil ifTrue:[ ^ obj ].
2593
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5114
    (self canCast: obj class to: cls) ifFalse: [
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5115
        self throwClassCastException.
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5116
        ^ nil
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5117
    ].
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5118
    ^ obj
adf8741afdf1 Java CHECKCAST instruction refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2592
diff changeset
  5119
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5120
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5121
2587
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  5122
_CHECKCAST_R: object _: classRef
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5123
    "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
  5124
     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
  5125
    | class |
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  5126
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  5127
    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
  5128
    class := classRef resolve.
2594
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5129
    (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
  5130
        self throwClassCastException.
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5131
        ^nil.
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5132
    ].
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5133
    ^object.
2587
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  5134
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  5135
    "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
  5136
    "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
  5137
!
b09eaedf206a Optimization: use Context>>findSpecialHandle:raise: to search for exception handlers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2584
diff changeset
  5138
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5139
_D2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5140
    |v|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5141
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5142
    v := op1 asInteger.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5143
    v > 16r7FFFFFFF ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5144
	self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5145
	v := 16r7FFFFFFF
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5146
    ] ifFalse:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5147
	v < 16r80000000 negated ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5148
	    self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5149
	    v := 16r80000000 negated
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5150
	]
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5151
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5152
    ^ v
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5153
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5154
    "Modified: / 17.10.1998 / 21:55:49 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5155
    "Created: / 8.1.1999 / 14:47:13 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5156
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5157
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5158
_D2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5159
    |v|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5160
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5161
    v := op1 asInteger.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5162
    v > 16r7FFFFFFFFFFFFFFF ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5163
	self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5164
	v := 16r7FFFFFFFFFFFFFFF
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5165
    ] ifFalse:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5166
	v < 16r8000000000000000 negated ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5167
	    self halt.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5168
	    v := 16r8000000000000000 negated
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  5169
	]
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5170
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5171
    ^ v
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5172
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5173
    "Modified: / 17.10.1998 / 21:55:49 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5174
    "Created: / 8.1.1999 / 14:46:44 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5175
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5176
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5177
_DADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5178
    ^ op1 asFloat + op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5179
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5180
    "Created: / 8.1.1999 / 15:11:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5181
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5182
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5183
_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
  5184
    ^ 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
  5185
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5186
    "Created: / 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
  5187
    "Modified: / 06-09-2011 / 19:31:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5188
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5189
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5190
_DMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5191
    ^ op1 asFloat * op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5192
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5193
    "Created: / 8.1.1999 / 14:49:52 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5194
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5195
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5196
_DNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5197
    ^ op asFloat negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5198
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5199
    "Created: / 8.1.1999 / 15:06:15 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5200
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5201
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5202
_DSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5203
    ^ op1 asFloat - op2 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5204
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5205
    "Created: / 8.1.1999 / 15:10:59 / cg"
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
_F2I:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5209
    ^ self _D2I:op1
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:47:42 / 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
_F2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5215
    ^ self _D2L:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5216
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5217
    "Created: / 8.1.1999 / 14:47:53 / 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
_FADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5221
    ^ op1 asShortFloat + op2 asShortFloat
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:11:36 / 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
_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
  5227
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5228
    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
  5229
        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
  5230
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5231
    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
  5232
        ^ 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
  5233
    ].
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5234
    ^ op1 asShortFloat / op2 asShortFloat.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5235
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5236
    "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
  5237
    "Modified: / 06-07-2012 / 13:12:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5238
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5239
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5240
_FMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5241
    ^ op1 asShortFloat * op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5242
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5243
    "Created: / 8.1.1999 / 14:50:10 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5244
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5245
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5246
_FNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5247
    ^ op asShortFloat negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5248
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5249
    "Created: / 8.1.1999 / 15:06:33 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5250
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5251
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5252
_FSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5253
    ^ op1 asShortFloat - op2 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5254
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5255
    "Created: / 8.1.1999 / 15:08:17 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5256
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5257
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
  5258
_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
  5259
    "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
  5260
3235
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5261
    | class offset |
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5262
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
  5263
    obj isNil ifTrue:[
2992
732f9db2a195 Cleanup & refactoring of constant pool references (JavaRef2 hierarchy)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2990
diff changeset
  5264
        ^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
  5265
    ].
3235
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5266
    class := fieldRef classRef resolve; javaClass.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5267
    class hasMultipleVersions ifTrue:[
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5268
        fieldRef classRef resolveForVersionOf: obj or: nil.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5269
        fieldRef resolve.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5270
        offset := fieldRef resolvedOffset.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5271
        fieldRef invalidate.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5272
    ] ifFalse:[
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5273
        fieldRef resolve.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5274
        offset := fieldRef resolvedOffset.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5275
    ].
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  5276
    ^ 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
  5277
f44a7499454b Added _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
    "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
  5279
    "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
  5280
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5281
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5282
_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
  5283
    "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
  5284
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5285
    | 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
  5286
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5287
    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
  5288
    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
  5289
    class classInitInternal.
2992
732f9db2a195 Cleanup & refactoring of constant pool references (JavaRef2 hierarchy)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2990
diff changeset
  5290
    ^ 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
  5291
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5292
    "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
  5293
    "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
  5294
!
f44a7499454b Added _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
2594
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5296
_INSTANCEOF:obj _:cls
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5297
    "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
  5298
     interpreter for unhandled cases."
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5299
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5300
    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
  5301
    (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
  5302
        ^ 0
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5303
    ].
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5304
    ^ 1
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5305
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5306
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5307
    "Created: / 08-01-1999 / 14:52:54 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  5308
    "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
  5309
    "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
  5310
    "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
  5311
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5312
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5313
_INSTANCEOF_R: object _: classRef
2595
77ab6e032c7f CHECKCAST/INSTANCEOF/ARRAYLENGTH refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
  5314
    "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
  5315
     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
  5316
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5317
    | 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
  5318
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5319
    object isNil ifTrue: [ ^ 0 ].
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  5320
    class := classRef resolve.
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  5321
     ^(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
  5322
        ifTrue:  [ 1 ]
6b2c378121a3 Reimplementation of INSTANCEOF in same spirit as CHECKCAST.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2593
diff changeset
  5323
        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
  5324
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  5325
    "Created: / 15-10-2012 / 21:51:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5326
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  5327
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
  5328
_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
  5329
    "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
  5330
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5331
    | 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
  5332
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5333
    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
  5334
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5335
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5336
    ^ 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
  5337
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5338
    "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
  5339
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5340
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5341
_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
  5342
    "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
  5343
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5344
    | 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
  5345
f44a7499454b Added _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
    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
  5347
f44a7499454b Added _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
    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
  5350
    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
  5351
    ^ 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
  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
    "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
  5354
!
f44a7499454b Added _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
_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
  5357
    "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
  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
    | 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
  5360
f44a7499454b Added _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
    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
  5362
f44a7499454b Added _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
    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
  5365
    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
  5366
    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
  5367
    ^ 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
  5368
f44a7499454b Added _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
    "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
  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
f44a7499454b Added _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
_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
  5373
    "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
  5374
f44a7499454b Added _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
    | 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
  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 := 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
  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
f44a7499454b Added _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
    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
  5381
    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
  5382
    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
  5383
    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
  5384
    ^ 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
  5385
f44a7499454b Added _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
    "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
  5387
!
f44a7499454b Added _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
_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
  5390
    "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
  5391
f44a7499454b Added _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
    | 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
  5393
f44a7499454b Added _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
    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
  5395
f44a7499454b Added _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
    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
  5398
    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
  5399
    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
  5400
    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
  5401
    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
  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: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
  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 _: 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
  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: 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
  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
    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
  5421
    ^ 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
  5422
f44a7499454b Added _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
    "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
  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
f44a7499454b Added _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
_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
  5427
    "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
  5428
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5429
    | method args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5430
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5431
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5432
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5433
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
  5434
    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
  5435
    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
  5436
    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
  5437
    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
  5438
    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
  5439
    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
  5440
    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
  5441
    ^ 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
  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
    "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
  5444
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5445
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5446
_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
  5447
    "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
  5448
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5449
    | 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
  5450
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5451
    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
  5452
f44a7499454b Added _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
f44a7499454b Added _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 := 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
  5455
    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
  5456
    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
  5457
    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
  5458
    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
  5459
    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
  5460
    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
  5461
    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
  5462
    ^ 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
  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
    "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
  5465
!
f44a7499454b Added _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
_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
  5468
    "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
  5469
f44a7499454b Added _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
    | 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
  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
    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
  5473
f44a7499454b Added _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
f44a7499454b Added _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 := 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
  5476
    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
  5477
    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
  5478
    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
  5479
    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
  5480
    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
  5481
    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
  5482
    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
  5483
    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
  5484
    ^ 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
  5485
f44a7499454b Added _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
    "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
  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
f44a7499454b Added _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
_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
  5490
    "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
  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
    | 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
  5493
f44a7499454b Added _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
    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
  5495
f44a7499454b Added _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
f44a7499454b Added _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 := 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
  5498
    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
  5499
    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
  5500
    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
  5501
    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
  5502
    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
  5503
    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
  5504
    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
  5505
    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
  5506
    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
  5507
    ^ 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
  5508
f44a7499454b Added _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
    "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
  5510
!
f44a7499454b Added _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
_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
  5513
    "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
  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
    | 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
  5516
f44a7499454b Added _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
    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
  5518
f44a7499454b Added _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
f44a7499454b Added _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 := 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
  5521
    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
  5522
    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
  5523
    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
  5524
    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
  5525
    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
  5526
    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
  5527
    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
  5528
    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
  5529
    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
  5530
    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
  5531
    ^ 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
  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
    "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
  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
f44a7499454b Added _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
_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
  5537
    "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
  5538
f44a7499454b Added _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
    | 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
  5540
f44a7499454b Added _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
    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
  5542
f44a7499454b Added _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
f44a7499454b Added _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 := 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
  5545
    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
  5546
    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
  5547
    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
  5548
    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
  5549
    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
  5550
    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
  5551
    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
  5552
    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
  5553
    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
  5554
    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
  5555
    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
  5556
    ^ 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
  5557
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
  5558
    "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
  5559
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5560
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5561
_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
  5562
    "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
  5563
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5564
    | method args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5565
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5566
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5567
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5568
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5569
    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
  5570
    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
  5571
    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
  5572
    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
  5573
    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
  5574
    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
  5575
    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
  5576
    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
  5577
    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
  5578
    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
  5579
    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
  5580
    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
  5581
    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
  5582
    ^ 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
  5583
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5584
    "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
  5585
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5586
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
  5587
_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
  5588
    "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
  5589
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5590
    | method args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5591
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5592
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5593
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5594
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
  5595
    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
  5596
    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
  5597
    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
  5598
    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
  5599
    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
  5600
    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
  5601
    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
  5602
    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
  5603
    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
  5604
    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
  5605
    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
  5606
    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
  5607
    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
  5608
    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
  5609
    ^ 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
  5610
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5611
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5612
    "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
  5613
!
f44a7499454b Added _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
f44a7499454b Added _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
_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
  5616
    "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
  5617
f44a7499454b Added _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
    | 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
  5619
f44a7499454b Added _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
    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
  5621
    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
  5622
f44a7499454b Added _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
    ^ 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
  5624
f44a7499454b Added _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
    "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
  5626
!
f44a7499454b Added _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
f44a7499454b Added _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
_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
  5629
    "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
  5630
f44a7499454b Added _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
    | 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
  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
    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
  5634
    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
  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
    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
  5637
    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
  5638
    ^ 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
  5639
f44a7499454b Added _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
    "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
  5641
!
f44a7499454b Added _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
_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
  5644
    "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
  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
    | 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
  5647
f44a7499454b Added _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
    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
  5649
    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
  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
    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
  5652
    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
  5653
    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
  5654
    ^ 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
  5655
f44a7499454b Added _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
    "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
  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
f44a7499454b Added _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
_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
  5660
    "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
  5661
f44a7499454b Added _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
    | 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
  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 := 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
  5665
    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
  5666
f44a7499454b Added _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
    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
  5668
    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
  5669
    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
  5670
    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
  5671
    ^ 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
  5672
f44a7499454b Added _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
    "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
  5674
!
f44a7499454b Added _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
_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
  5677
    "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
  5678
f44a7499454b Added _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
    | 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
  5680
f44a7499454b Added _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
    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
  5682
    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
  5683
f44a7499454b Added _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
    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
  5685
    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
  5686
    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
  5687
    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
  5688
    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
  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: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
  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 _: 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
  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: 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
  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
    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
  5708
    ^ 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
  5709
f44a7499454b Added _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
    "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
  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
f44a7499454b Added _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
_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
  5714
    "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
  5715
f44a7499454b Added _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
    | 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
  5717
f44a7499454b Added _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
    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
  5719
    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
  5720
f44a7499454b Added _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 := 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
  5722
    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
  5723
    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
  5724
    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
  5725
    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
  5726
    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
  5727
    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
  5728
    ^ 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
  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
    "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
  5731
!
f44a7499454b Added _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
f44a7499454b Added _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
_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
  5734
    "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
  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 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
  5737
f44a7499454b Added _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
    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
  5739
    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
  5740
f44a7499454b Added _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 := 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
  5742
    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
  5743
    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
  5744
    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
  5745
    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
  5746
    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
  5747
    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
  5748
    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
  5749
    ^ 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
  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
    "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
  5752
!
f44a7499454b Added _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
_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
  5755
    "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
  5756
f44a7499454b Added _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
    | 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
  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
    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
  5760
    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
  5761
f44a7499454b Added _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 := 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
  5763
    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
  5764
    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
  5765
    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
  5766
    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
  5767
    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
  5768
    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
  5769
    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
  5770
    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
  5771
    ^ 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
  5772
f44a7499454b Added _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
    "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
  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
f44a7499454b Added _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
_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
  5777
    "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
  5778
f44a7499454b Added _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
    | 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
  5780
f44a7499454b Added _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
    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
  5782
    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
  5783
f44a7499454b Added _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 := 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
  5785
    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
  5786
    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
  5787
    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
  5788
    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
  5789
    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
  5790
    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
  5791
    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
  5792
    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
  5793
    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
  5794
    ^ 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
  5795
f44a7499454b Added _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
    "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
  5797
!
f44a7499454b Added _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
_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
  5800
    "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
  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
    | 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
  5803
f44a7499454b Added _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
    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
  5805
    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
  5806
f44a7499454b Added _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 := 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
  5808
    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
  5809
    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
  5810
    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
  5811
    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
  5812
    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
  5813
    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
  5814
    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
  5815
    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
  5816
    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
  5817
    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
  5818
    ^ 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
  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
    "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
  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
f44a7499454b Added _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
_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
  5824
    "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
  5825
f44a7499454b Added _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
    | 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
  5827
f44a7499454b Added _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
    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
  5829
    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
  5830
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5831
    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
  5832
    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
  5833
    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
  5834
    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
  5835
    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
  5836
    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
  5837
    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
  5838
    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
  5839
    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
  5840
    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
  5841
    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
  5842
    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
  5843
    ^ 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
  5844
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5845
    "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
  5846
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5847
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
  5848
_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
  5849
    "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
  5850
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
  5851
    | 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
  5852
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5853
    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
  5854
    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
  5855
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5856
    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
  5857
    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
  5858
    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
  5859
    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
  5860
    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
  5861
    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
  5862
    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
  5863
    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
  5864
    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
  5865
    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
  5866
    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
  5867
    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
  5868
    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
  5869
    ^ 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
  5870
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5871
    "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
  5872
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5873
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5874
_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
  5875
    "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
  5876
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5877
    | method class args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5878
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5879
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5880
    class  := method javaClass.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5881
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5882
    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
  5883
    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
  5884
    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
  5885
    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
  5886
    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
  5887
    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
  5888
    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
  5889
    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
  5890
    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
  5891
    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
  5892
    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
  5893
    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
  5894
    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
  5895
    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
  5896
    ^ 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
  5897
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5898
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5899
    "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
  5900
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  5901
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
  5902
_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
  5903
    "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
  5904
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5905
    | 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
  5906
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5907
    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
  5908
    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
  5909
    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
  5910
    ^ 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
  5911
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5912
    "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
  5913
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5914
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5915
_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
  5916
    "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
  5917
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  5918
    | 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
  5919
f44a7499454b Added _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
    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
  5921
    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
  5922
    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
  5923
    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
  5924
    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
  5925
    ^ 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
  5926
f44a7499454b Added _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
    "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
  5928
!
f44a7499454b Added _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
_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
  5931
    "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
  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
    | 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
  5934
f44a7499454b Added _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
    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
  5936
    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
  5937
    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
  5938
    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
  5939
    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
  5940
    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
  5941
    ^ 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
  5942
f44a7499454b Added _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
    "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
  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
f44a7499454b Added _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
_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
  5947
    "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
  5948
f44a7499454b Added _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
    | 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
  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 := 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
  5952
    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
  5953
    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
  5954
    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
  5955
    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
  5956
    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
  5957
    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
  5958
    ^ 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
  5959
f44a7499454b Added _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
    "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
  5961
!
f44a7499454b Added _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
_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
  5964
    "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
  5965
f44a7499454b Added _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
    | 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
  5967
f44a7499454b Added _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
    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
  5969
    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
  5970
    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
  5971
    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
  5972
    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
  5973
    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
  5974
    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
  5975
    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
  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: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
  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 _: 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
  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: 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
  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
    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
  5995
    ^ 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
  5996
f44a7499454b Added _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
    "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
  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
f44a7499454b Added _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
_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
  6001
    "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
  6002
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6003
    | method class args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6004
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6005
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6006
    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
  6007
    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
  6008
    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
  6009
    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
  6010
    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
  6011
    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
  6012
    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
  6013
    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
  6014
    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
  6015
    ^ 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
  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
    "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
  6018
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6019
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6020
_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
  6021
    "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
  6022
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6023
    | 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
  6024
f44a7499454b Added _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
    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
  6026
    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
  6027
    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
  6028
    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
  6029
    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
  6030
    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
  6031
    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
  6032
    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
  6033
    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
  6034
    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
  6035
    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
  6036
    ^ 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
  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
    "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
  6039
!
f44a7499454b Added _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
_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
  6042
    "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
  6043
f44a7499454b Added _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
    | 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
  6045
f44a7499454b Added _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
    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
  6047
    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
  6048
    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
  6049
    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
  6050
    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
  6051
    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
  6052
    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
  6053
    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
  6054
    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
  6055
    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
  6056
    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
  6057
    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
  6058
    ^ 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
  6059
f44a7499454b Added _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
    "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
  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
f44a7499454b Added _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
_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
  6064
    "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
  6065
f44a7499454b Added _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
    | 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
  6067
f44a7499454b Added _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
    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
  6069
    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
  6070
    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
  6071
    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
  6072
    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
  6073
    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
  6074
    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
  6075
    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
  6076
    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
  6077
    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
  6078
    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
  6079
    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
  6080
    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
  6081
    ^ 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
  6082
f44a7499454b Added _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
    "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
  6084
!
f44a7499454b Added _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
_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
  6087
    "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
  6088
f44a7499454b Added _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
    | 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
  6090
f44a7499454b Added _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
    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
  6092
    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
  6093
    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
  6094
    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
  6095
    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
  6096
    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
  6097
    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
  6098
    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
  6099
    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
  6100
    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
  6101
    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
  6102
    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
  6103
    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
  6104
    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
  6105
    ^ 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
  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
    "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
  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
f44a7499454b Added _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
_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
  6111
    "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
  6112
f44a7499454b Added _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
    | 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
  6114
f44a7499454b Added _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
    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
  6116
    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
  6117
    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
  6118
    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
  6119
    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
  6120
    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
  6121
    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
  6122
    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
  6123
    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
  6124
    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
  6125
    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
  6126
    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
  6127
    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
  6128
    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
  6129
    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
  6130
    ^ 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
  6131
f44a7499454b Added _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
    "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
  6133
!
f44a7499454b Added _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
f44a7499454b Added _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
_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
  6136
    "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
  6137
f44a7499454b Added _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
    | 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
  6139
f44a7499454b Added _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
    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
  6141
    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
  6142
    class classInitInternal.
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6143
    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
  6144
    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
  6145
    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
  6146
    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
  6147
    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
  6148
    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
  6149
    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
  6150
    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
  6151
    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
  6152
    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
  6153
    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
  6154
    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
  6155
    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
  6156
    ^ 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
  6157
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6158
    "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
  6159
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6160
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6161
_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
  6162
    "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
  6163
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6164
    | method class args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6165
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6166
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6167
    class  := method javaClass.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6168
    class classInitInternal.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6169
    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
  6170
    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
  6171
    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
  6172
    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
  6173
    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
  6174
    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
  6175
    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
  6176
    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
  6177
    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
  6178
    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
  6179
    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
  6180
    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
  6181
    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
  6182
    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
  6183
    ^ 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
  6184
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6185
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6186
    "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
  6187
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6188
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
  6189
_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
  6190
    "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
  6191
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6192
    | 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
  6193
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6194
    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
  6195
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6196
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6197
    ^ 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
  6198
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6199
    "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
  6200
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6201
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6202
_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
  6203
    "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
  6204
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6205
    | 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
  6206
f44a7499454b Added _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
    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
  6208
f44a7499454b Added _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
    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
  6211
    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
  6212
    ^ 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
  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
    "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
  6215
!
f44a7499454b Added _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
_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
  6218
    "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
  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
    | 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
  6221
f44a7499454b Added _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
    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
  6223
f44a7499454b Added _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
    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
  6226
    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
  6227
    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
  6228
    ^ 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
  6229
f44a7499454b Added _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
    "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
  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
f44a7499454b Added _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
_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
  6234
    "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
  6235
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
  6236
    | 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
  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 := 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
  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
f44a7499454b Added _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
    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
  6242
    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
  6243
    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
  6244
    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
  6245
    ^ 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
  6246
f44a7499454b Added _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
    "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
  6248
!
f44a7499454b Added _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
_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
  6251
    "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
  6252
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6253
    | 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
  6254
f44a7499454b Added _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
    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
  6256
f44a7499454b Added _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
    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
  6259
    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
  6260
    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
  6261
    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
  6262
    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
  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: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
  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 _: 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
  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: 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
  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
    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
  6282
    ^ 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
  6283
f44a7499454b Added _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
    "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
  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
f44a7499454b Added _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
_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
  6288
    "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
  6289
f44a7499454b Added _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
    | method args |
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6291
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6292
    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
  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
f44a7499454b Added _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 := 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
  6296
    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
  6297
    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
  6298
    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
  6299
    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
  6300
    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
  6301
    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
  6302
    ^ 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
  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
    "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
  6305
!
f44a7499454b Added _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
f44a7499454b Added _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
_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
  6308
    "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
  6309
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6310
    | 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
  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
    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
  6313
f44a7499454b Added _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
f44a7499454b Added _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 := 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
  6316
    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
  6317
    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
  6318
    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
  6319
    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
  6320
    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
  6321
    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
  6322
    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
  6323
    ^ 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
  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
    "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
  6326
!
f44a7499454b Added _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
_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
  6329
    "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
  6330
f44a7499454b Added _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
    | 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
  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
    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
  6334
f44a7499454b Added _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
f44a7499454b Added _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 := 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
  6337
    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
  6338
    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
  6339
    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
  6340
    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
  6341
    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
  6342
    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
  6343
    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
  6344
    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
  6345
    ^ 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
  6346
f44a7499454b Added _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
    "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
  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
f44a7499454b Added _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
_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
  6351
    "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
  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
    | 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
  6354
f44a7499454b Added _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
    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
  6356
f44a7499454b Added _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
f44a7499454b Added _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 := 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
  6359
    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
  6360
    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
  6361
    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
  6362
    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
  6363
    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
  6364
    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
  6365
    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
  6366
    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
  6367
    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
  6368
    ^ 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
  6369
f44a7499454b Added _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
    "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
  6371
!
f44a7499454b Added _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
_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
  6374
    "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
  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
    | 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
  6377
f44a7499454b Added _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
    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
  6379
f44a7499454b Added _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
f44a7499454b Added _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 := 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
  6382
    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
  6383
    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
  6384
    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
  6385
    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
  6386
    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
  6387
    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
  6388
    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
  6389
    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
  6390
    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
  6391
    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
  6392
    ^ 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
  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
    "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
  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
f44a7499454b Added _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
_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
  6398
    "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
  6399
f44a7499454b Added _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
    | 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
  6401
f44a7499454b Added _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
    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
  6403
f44a7499454b Added _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
f44a7499454b Added _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 := 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
  6406
    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
  6407
    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
  6408
    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
  6409
    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
  6410
    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
  6411
    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
  6412
    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
  6413
    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
  6414
    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
  6415
    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
  6416
    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
  6417
    ^ 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
  6418
f44a7499454b Added _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
    "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
  6420
!
f44a7499454b Added _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
_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
  6423
    "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
  6424
f44a7499454b Added _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
    | 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
  6426
f44a7499454b Added _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
    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
  6428
f44a7499454b Added _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
2975
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6430
    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
  6431
    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
  6432
    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
  6433
    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
  6434
    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
  6435
    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
  6436
    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
  6437
    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
  6438
    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
  6439
    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
  6440
    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
  6441
    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
  6442
    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
  6443
    ^ 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
  6444
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6445
    "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
  6446
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6447
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6448
_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
  6449
    "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
  6450
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6451
    | method args |
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6452
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6453
    method := methodRef resolve.
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6454
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6455
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6456
    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
  6457
    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
  6458
    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
  6459
    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
  6460
    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
  6461
    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
  6462
    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
  6463
    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
  6464
    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
  6465
    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
  6466
    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
  6467
    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
  6468
    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
  6469
    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
  6470
    ^ 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
  6471
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
    "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
  6474
!
ec1f7113fac0 Added _INVOKE*R: methods used by new JIT compiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2966
diff changeset
  6475
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6476
_L2D:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6477
    ^ op1 asFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6478
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6479
    "Created: / 8.1.1999 / 14:46:09 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6480
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6481
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6482
_L2F:op1
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6483
    ^ op1 asShortFloat
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6484
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6485
    "Created: / 8.1.1999 / 14:46:18 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6486
    "Modified: / 8.1.1999 / 14:50:18 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6487
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6488
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6489
_LADD:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6490
    |sum|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6491
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6492
    sum := (op1 + op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6493
    ^ sum
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6494
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6495
    "Created: / 8.1.1999 / 15:07:39 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6496
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6497
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6498
_LAND:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6499
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6500
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6501
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6502
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6503
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6504
    rslt := op1 bitAnd: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6505
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6506
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6507
    "Modified: / 7.1.1998 / 21:21:53 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6508
    "Created: / 8.1.1999 / 14:54:22 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6509
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6510
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6511
_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
  6512
    "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
  6513
     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
  6514
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6515
    ^ref isJavaClassRef ifTrue:[
2584
af1783f58d87 Bugfix in _LDC_R: - do not initilalize class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2582
diff changeset
  6516
        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
  6517
    ] 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
  6518
        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
  6519
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6520
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6521
    "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
  6522
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6523
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6524
_LDIV:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6525
    |quo|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6526
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6527
    quo := op1 quo: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6528
    ^ quo
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6529
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6530
    "Created: / 8.1.1999 / 15:04:47 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6531
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6532
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6533
_LMUL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6534
    |prod o1 o2 sign|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6535
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6536
"/ self halt.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6537
    "/ ST's largeIntegers compute a correct result;
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6538
    "/ but here, we want the overflow to flow into the
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6539
    "/ sign bit ... (sigh)
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6540
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6541
    sign := 1.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6542
    (o1 := op1) < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6543
	sign := -1.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6544
	o1 := o1 negated.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6545
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6546
    (o2 := op2) < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6547
	sign := sign negated.
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6548
	o2 := o2 negated.
524
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
    prod := (o1 * o2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6552
    (prod bitAnd:16r8000000000000000) ~~ 0 ifTrue:[
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6553
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6554
    sign == -1 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6555
	prod := prod negated
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6556
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6557
    ^ prod
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6558
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6559
    "Created: / 8.1.1999 / 15:10:04 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6560
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6561
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6562
_LNEG:op
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6563
    ^ op asInteger negated
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6564
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6565
    "Created: / 8.1.1999 / 15:06:59 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6566
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6567
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6568
_LOR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6569
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6570
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6571
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6572
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6573
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6574
    rslt := op1 bitOr: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6575
    ^ rslt
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:05:10 / 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
_LREM:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6581
    |rem|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6582
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6583
    rem := op1 rem: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6584
    ^ rem
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6585
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6586
    "Modified: / 7.1.1998 / 00:23:11 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6587
    "Created: / 8.1.1999 / 15:04:23 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6588
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6589
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6590
_LSHL:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6591
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6592
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6593
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6594
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6595
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6596
    rslt := (op1 bitShift:op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6597
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6598
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6599
    "Created: / 8.1.1999 / 14:51:08 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6600
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6601
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6602
_LSHR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6603
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6604
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6605
    op1 < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6606
	self halt
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6607
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6608
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6609
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6610
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6611
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6612
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6613
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6614
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6615
    "Created: / 8.1.1999 / 14:51:57 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6616
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6617
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6618
_LSUB:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6619
    |diff|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6620
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6621
    diff := (op1 - op2) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6622
    ^ diff
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6623
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6624
    "Created: / 8.1.1999 / 15:10:33 / cg"
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
_LUSHR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6628
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6629
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6630
    op1 < 0 ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6631
	self halt
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6632
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6633
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6634
    (op1 < 0) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6635
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6636
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6637
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6638
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6639
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6640
    "Modified: / 7.1.1998 / 21:22:17 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6641
    "Created: / 8.1.1999 / 14:51:32 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6642
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6643
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6644
_LXOR:op1 _:op2
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6645
    |rslt|
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6646
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6647
    (op1 < 0 or:[op2 < 0]) ifTrue:[
616
53bf2ec50346 *** empty log message ***
cg
parents: 603
diff changeset
  6648
	self halt.
524
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6649
    ].
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6650
    rslt := op1 bitXor: op2.
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6651
    ^ rslt
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6652
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6653
    "Created: / 8.1.1999 / 15:12:28 / cg"
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6654
!
c8a27ccbb61e checkin from browser
cg
parents: 523
diff changeset
  6655
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6656
_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
  6657
    "/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
  6658
    "/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
  6659
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6660
    self monitorEnter: someObject in: thisContext sender.
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  6661
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6662
    "Created: / 08-01-1999 / 14:23:10 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6663
    "Modified: / 08-01-1999 / 18:47:26 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6664
    "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
  6665
    "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
  6666
    "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
  6667
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6668
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6669
_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
  6670
    self monitorExit: someObject in: thisContext sender.
528
99eb49a63c1a checkin from browser
cg
parents: 526
diff changeset
  6671
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6672
    "Created: / 08-01-1999 / 14:23:19 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  6673
    "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
  6674
    "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
  6675
    "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
  6676
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6677
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6678
_MULTIANEWARRAY1: cls _: dim1
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6679
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6680
    | a1 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6681
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6682
    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
  6683
        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
  6684
                         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
  6685
        ^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
  6686
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6687
    a1 := cls new: dim1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6688
    ^ a1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6689
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6690
    "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
  6691
    "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
  6692
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6693
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6694
_MULTIANEWARRAY1_R: clsRef _: dim1
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6695
    ^ self _MULTIANEWARRAY1: clsRef resolve _: dim1
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6696
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6697
    "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
  6698
!
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
_MULTIANEWARRAY2: cls _: dim1 _: dim2
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6701
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6702
    | a1 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6703
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6704
    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
  6705
        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
  6706
                         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
  6707
        ^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
  6708
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6709
    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
  6710
        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
  6711
                         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
  6712
        ^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
  6713
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6714
    a1 := cls new: dim1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6715
    1 to: dim1 do:[:i1|
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6716
        | a2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6717
        a2 := (a1 class javaComponentClass new: dim2).
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6718
        a1 at: i1  put: a2.
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
    "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
  6723
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6724
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6725
_MULTIANEWARRAY2_R: clsRef _: dim1 _: dim2
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6726
    ^ self _MULTIANEWARRAY2: clsRef resolve _: dim1 _: dim2
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6727
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6728
    "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
  6729
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6730
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6731
_MULTIANEWARRAY3: cls _: dim1 _: dim2 _: dim3
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6732
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6733
    | a1 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6734
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6735
    dim1 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6736
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6737
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6738
        ^nil
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
    dim2 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6741
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6742
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6743
        ^nil
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6744
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6745
    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
  6746
        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
  6747
                         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
  6748
        ^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
  6749
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6750
    a1 := cls new: dim1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6751
    1 to: dim1 do:[:i1|
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6752
        | a2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6753
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6754
        a2 := a1 class javaComponentClass new: dim2.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6755
        1 to: dim2 do:[:i2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6756
            | a3 |
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
            a3 := a2 class javaComponentClass new: dim3.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6759
            a2 at: i2 put: a3.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6760
        ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6761
        a1 at: i1  put: a2.
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
    ^ a1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6764
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6765
    "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
  6766
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6767
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6768
_MULTIANEWARRAY3_R: clsRef _: dim1 _: dim2 _: dim3
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6769
    ^ 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
  6770
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6771
    "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
  6772
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6773
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6774
_MULTIANEWARRAY4: cls _: dim1 _: dim2 _: dim3 _: dim4
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
    | a1 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6777
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6778
    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
  6779
        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
  6780
                         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
  6781
        ^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
  6782
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6783
    dim2 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6784
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6785
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6786
        ^nil
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6787
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6788
    dim3 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6789
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6790
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6791
        ^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
  6792
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6793
    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
  6794
        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
  6795
                         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
  6796
        ^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
  6797
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6798
    a1 := cls new: dim1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6799
    1 to: dim1 do:[:i1|
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6800
        | a2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6801
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6802
        a2 := a1 class javaComponentClass new: dim2.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6803
        1 to: dim2 do:[:i2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6804
            | a3 |
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
            a3 := a2 class javaComponentClass new: dim3.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6807
            1 to: dim3 do:[:i3 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6808
                | a4 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6809
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6810
                a4 := a3 class javaComponentClass new: dim4.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6811
                a3 at: i3 put: a4.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6812
            ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6813
            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
  6814
        ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6815
        a1 at: i1  put: a2.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6816
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6817
    ^ a1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6818
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6819
    "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
  6820
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6821
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6822
_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
  6823
    ^ 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
  6824
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6825
    "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
  6826
!
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
_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
  6829
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6830
    | a1 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6831
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6832
    dim1 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6833
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6834
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6835
        ^nil
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
    dim2 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6838
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6839
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6840
        ^nil
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6841
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6842
    dim3 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6843
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6844
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6845
        ^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
  6846
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6847
    dim4 < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6848
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6849
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6850
        ^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
  6851
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6852
    dim5  < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6853
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6854
                         withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6855
        ^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
  6856
    ].
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6857
    a1 := cls new: dim1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6858
    1 to: dim1 do:[:i1|
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6859
        | a2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6860
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6861
        a2 := a1 class javaComponentClass new: dim2.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6862
        1 to: dim2 do:[:i2 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6863
            | a3 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6864
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6865
            a3 := a2 class javaComponentClass new: dim3.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6866
            1 to: dim3 do:[:i3 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6867
                | a4 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6868
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6869
                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
  6870
                1 to: dim4 do:[:i4 |
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6871
                    | a5 |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6872
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6873
                    a5 := a4 class javaComponentClass new: dim5.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6874
                    a4 at: i4 put: a5.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6875
                ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6876
                a3 at: i3 put: a4.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6877
            ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6878
            a2 at: i2 put: a3.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6879
        ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6880
        a1 at: i1  put: a2.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6881
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6882
    ^ a1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6883
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6884
    "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
  6885
!
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
_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
  6888
    ^ 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
  6889
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6890
    "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
  6891
!
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6892
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6893
_MULTIANEWARRAY: cls _: dims
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6894
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6895
    | allocator |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6896
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
  6897
    dims isEmptyOrNil ifTrue:[
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6898
        self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6899
                         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
  6900
    ].
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
    dims do:[:d |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6903
        d < 0 ifTrue:[
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6904
            self throwExceptionClassName:'java.lang.NegativeArraySizeException'
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6905
                             withMessage:'negative array size not allowed'.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6906
            ^nil
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
    ].
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
    allocator := [ :arrayClass :dimIndex |
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6911
        | array |
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
        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
  6914
        dimIndex ~~ dims size ifTrue:[
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6915
            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
  6916
                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
  6917
            ]
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6918
        ].
2989
593add70a2cd Added _MULTIANEWARRAY* methods to suppott new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6919
        array.
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6920
    ].
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6921
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6922
    ^ allocator value: cls value: 1.
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6923
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6924
    "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
  6925
    "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
  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
_MULTIANEWARRAY_R: clsRef _: dims
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6929
2989
593add70a2cd Added _MULTIANEWARRAY* methods to suppott new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6930
    ^ self _MULTIANEWARRAY: clsRef resolve _: dims
2987
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6931
1badaa4fa024 Added support for new MULTIANEWARRAY implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2979
diff changeset
  6932
    "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
  6933
    "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
  6934
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6935
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6936
_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
  6937
    | 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
  6938
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6939
    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
  6940
    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
  6941
    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
  6942
    ^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
  6943
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6944
    "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
  6945
    "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
  6946
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6947
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  6948
_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
  6949
    "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
  6950
     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
  6951
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
    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
  6953
        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
  6954
    ]
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
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
    "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
  6957
!
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
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
_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
  6960
    | 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
  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
    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
  6963
    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
  6964
    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
  6965
    ^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
  6966
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
    "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
  6968
    "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
  6969
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6970
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6971
_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
  6972
    "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
  6973
3235
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6974
    | class offset |
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6975
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6976
    obj isNil ifTrue:[
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6977
        ^self throwNullPointerException.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6978
    ].
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
  6979
    obj isNil ifTrue:[
2992
732f9db2a195 Cleanup & refactoring of constant pool references (JavaRef2 hierarchy)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2990
diff changeset
  6980
        ^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
  6981
    ].
3235
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6982
    class := fieldRef classRef resolve; javaClass.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6983
    class hasMultipleVersions ifTrue:[
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6984
        fieldRef classRef resolveForVersionOf: obj or: nil.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6985
        fieldRef resolve.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6986
        offset := fieldRef resolvedOffset.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6987
        fieldRef invalidate.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6988
    ] ifFalse:[
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6989
        fieldRef resolve.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6990
        offset := fieldRef resolvedOffset.
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6991
    ].   
6a5d85f29c3a Fixes for reloading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3216
diff changeset
  6992
    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
  6993
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6994
    "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
  6995
    "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
  6996
!
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6997
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  6998
_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
  6999
    "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
  7000
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7001
    | 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
  7002
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7003
    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
  7004
    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
  7005
    class classInitInternal.
2992
732f9db2a195 Cleanup & refactoring of constant pool references (JavaRef2 hierarchy)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2990
diff changeset
  7006
    ^ 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
  7007
f44a7499454b Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2975
diff changeset
  7008
    "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
  7009
    "Modified: / 31-01-2014 / 09:16:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  7010
! !
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  7011
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7012
!JavaVM class methodsFor:'windows - events'!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7013
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7014
awtEventsForEvent: anEvent javaWindow: jWin
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7015
    "given an ST/X event, create corresponding AWT event(s) for it"
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7016
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7017
    | 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
  7018
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7019
    type := anEvent type.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7020
    eventArgs := anEvent arguments.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7021
    key := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7022
    modifiers := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7023
    x := 0.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7024
    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
  7025
    ((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
  7026
        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
  7027
            ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7028
                "/        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
  7029
                "/        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
  7030
                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
  7031
                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
  7032
                ((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
  7033
                    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
  7034
                        ifTrue: [
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
                            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
  7036
                            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
  7037
                            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
  7038
                            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
  7039
                        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7040
                        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
  7041
                            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
  7042
                            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
  7043
                            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
  7044
                            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
  7045
                        ].
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
                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
  7047
                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
  7048
                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
  7049
                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
  7050
                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
  7051
                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
  7052
                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
  7053
                jEv instVarNamed: 'updateRect' put: jRect.
476
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  7054
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  7055
"/        jEv instVarNamed:'g'         put:jWin.
49d910487403 checkin from browser
cg
parents: 475
diff changeset
  7056
2353
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
                ^ 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
  7058
            ].
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
    (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
  7060
        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
  7061
            ifTrue: [
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
                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
  7063
                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
  7064
                    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
  7065
                ].
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
                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
  7067
                    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
  7068
                ].
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
                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
  7070
                    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
  7071
                ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7072
                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
  7073
                    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
  7074
                                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
  7075
                ].
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
                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
  7077
                    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
  7078
                                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
  7079
                ].
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
                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
  7081
                    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
  7082
                                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
  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 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
  7085
                    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
  7086
                                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
  7087
                ].
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
                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
  7089
                    "/ 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
  7090
                    "/ 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
  7091
                    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
  7092
                    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
  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
            ].
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
    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
  7096
        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
  7097
        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
  7098
        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
  7099
        key := anEvent key.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7100
        key isCharacter ifTrue: [ key := keyChar := key asciiValue ] ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7101
            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
  7102
                        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
  7103
            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
  7104
                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
  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
            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
  7107
                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
  7108
                "/ 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
  7109
            ].
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
            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
  7111
                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
  7112
                "/ 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
  7113
            ].
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
            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
  7115
                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
  7116
                "/ 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
  7117
            ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7118
            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
  7119
                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
  7120
                "/ 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
  7121
            ].
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
            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
  7123
                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
  7124
            ].
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
            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
  7126
                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
  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
            (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
  7129
                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
  7130
            ].
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
            (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
  7132
                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
  7133
            ].
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
            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
  7135
                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
  7136
            ].
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
            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
  7138
                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
  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 == #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
  7141
                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
  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 == #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
  7144
                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
  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
            (#( #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
  7147
                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
  7148
                    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
  7149
        ].
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
        (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
  7151
            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
  7152
        ] 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
  7153
        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
  7154
        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
  7155
        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
  7156
        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
  7157
        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
  7158
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7159
"/        jEv instVarNamed:'x'         put:x.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7160
"/        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
  7161
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
        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
  7163
        ^ Array with: jEv
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7164
    ].
2353
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
    (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
  7166
        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
  7167
        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
  7168
        (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
  7169
            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
  7170
        ] 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
  7171
            (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
  7172
                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
  7173
            ] 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
  7174
                (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
  7175
                    (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
  7176
                        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
  7177
                    ] 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
  7178
                ] 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
  7179
                    "/                    (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
  7180
                    "/                        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
  7181
                    "/                    ] 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
  7182
                    (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
  7183
                        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
  7184
                    ] 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
  7185
                        (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
  7186
                            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
  7187
                        ] 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
  7188
                            (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
  7189
                                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
  7190
                                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
  7191
                            ] 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
  7192
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7193
"/                        ]
2353
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
                        ]
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
                    ]
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
                ]
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
            ]
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
        ].
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
        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
  7200
        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
  7201
        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
  7202
        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
  7203
        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
  7204
        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
  7205
        ^ Array with: jEv
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7206
    ].
2353
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
    (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
  7208
        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
  7209
        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
  7210
        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
  7211
        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
  7212
        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
  7213
        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
  7214
        moved := (x ~~ view left or: [ y ~~ view top ]).
493
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  7215
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  7216
"/        (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
  7217
        "/ 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
  7218
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
        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
  7220
493
7e16e004250e checkin from browser
cg
parents: 489
diff changeset
  7221
"/        ].
2353
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
        "/
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
        "/ 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
  7224
        "/ 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
  7225
        "/
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
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
        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
  7228
            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
  7229
                "/
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
                "/ 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
  7231
                "/
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
                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
  7233
                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
  7234
                    "/ 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
  7235
                    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
  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
            ]
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
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7239
        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
  7240
        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
  7241
        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
  7242
        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
  7243
        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
  7244
        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
  7245
            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
  7246
            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
  7247
            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
  7248
        ].
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
        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
  7250
            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
  7251
            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
  7252
            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
  7253
        ].
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
        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
  7255
            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
  7256
            ^ 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
  7257
        ] 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
  7258
        ^ Array with: jEv1 with: jEv2.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7259
    ].
2353
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
    (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
  7261
        "/ '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
  7262
        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
  7263
        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
  7264
        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
  7265
        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
  7266
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7267
    ].
2353
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
    (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
  7269
        "/ '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
  7270
        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
  7271
        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
  7272
        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
  7273
        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
  7274
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7275
    ].
2353
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
    (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
  7277
        "/ '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
  7278
        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
  7279
        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
  7280
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7281
"/        x := eventArgs at:1.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7282
"/        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
  7283
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
        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
  7285
        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
  7286
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7287
    ].
2353
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
    (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
  7289
        "/ '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
  7290
        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
  7291
        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
  7292
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7293
"/        x := eventArgs at:1.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7294
"/        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
  7295
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
        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
  7297
        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
  7298
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7299
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7300
    (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
  7301
        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
  7302
         "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
  7303
         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
  7304
        " "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
  7305
        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
  7306
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
        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
  7308
        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
  7309
        ^ Array with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7310
    ].
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
  7311
    EventTrace == true ifTrue: [ Logger log: ('JAVA: unhandled event:' , type) infoPrintCR. ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7312
    ^ nil.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7313
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
  7314
    "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
  7315
    "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
  7316
    "Modified: / 02-03-2015 / 15:54:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7317
!
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7318
603
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  7319
delegatesTo:someOne
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  7320
    ^ false
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  7321
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  7322
    "Created: / 25.9.1999 / 16:11:48 / cg"
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  7323
!
35a6173e349c checkin from browser
cg
parents: 601
diff changeset
  7324
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7325
doWindowsEventThread
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7326
    "invoked in an endless loop by the WToolkit-eventLoop
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7327
     native method."
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7328
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7329
    | 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
  7330
    (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
  7331
        "/ '*** 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
  7332
        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
  7333
        "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
  7334
            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
  7335
            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
  7336
            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
  7337
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7338
        "/ 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
  7339
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7340
        ^ self
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7341
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7342
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7343
    "/ wait for an event to arrive ...
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7344
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7345
    sensor := JavaWindowGroup sensor.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7346
    [ sensor hasEvents or: [ sensor damageCount ~~ 0 ] ] whileFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7347
        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
  7348
        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
  7349
        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
  7350
            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
  7351
            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
  7352
            timeOut: nil.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7353
    ].
2353
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
    EventTrace ifTrue: [ '*** eventThread event arrived ...' printCR. ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7355
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7356
    "/ 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
  7357
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  7358
    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
  7359
    [ 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
  7360
        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
  7361
            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
  7362
            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
  7363
        ] 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
  7364
        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
  7365
            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
  7366
            ^ 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
  7367
        ].
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
        more := self processEvent: event
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  7369
    ]
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7370
2353
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
    "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
  7372
    "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
  7373
    "Modified: / 22-11-2011 / 13:22:32 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7374
!
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7376
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
  7377
    | 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
  7378
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7379
    KnownWindows isNil ifTrue: [ ^ false ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7380
    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
  7381
    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
  7382
    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
  7383
        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
  7384
            "/ 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
  7385
            "/ 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
  7386
            "/ 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
  7387
        ] 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
  7388
            "/ 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
  7389
            "/ 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
  7390
            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
  7391
                ('*** 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
  7392
                    , '-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
  7393
            ].
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
            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
  7395
        ].
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
        ^ true
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7397
    ].
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7398
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7399
    "/ change:
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7400
    "/ in the previous version, events for ST/X widgets (i.e. buttons etc)
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7401
    "/ where not passed to java, but instead forwarded directly to the widget
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7402
    "/ by the code below.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7403
    "/ This has changed, to pass it to Java, which eventually passes it to the
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7404
    "/ peer via the handleEvent native method (unless the event got consumed).
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7405
    "/ 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
  7406
2353
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
    (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
  7408
        "/    "/ 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
  7409
        "/
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
        "/    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
  7411
        "/"/        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
  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 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
  7414
        "/"/            ].
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
        "/"/            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
  7416
        "/"/            ^ 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
  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
        "/        (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
  7419
        "/        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
  7420
        "/            "/ 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
  7421
        "/            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
  7422
        "/        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7423
        "/    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7424
        (#( #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
  7425
         #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
  7426
         #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
  7427
         #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
  7428
         #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
  7429
            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
  7430
        ].
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7431
    ].
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7432
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7433
    "/ what a kludge - some events are passed back to
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7434
    "/ ST via the WComponent-handleEvent native method.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7435
    "/ However, repaints are not.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7436
    "/ In order to let ST widgets do the drawing,
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7437
    "/ selectively filter exposeEvents from Java ...
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7438
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7439
    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
  7440
    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
  7441
        "/ 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
  7442
    ] 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
  7443
        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
  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
        "/ 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
  7446
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
        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
  7448
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
        "/ 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
  7450
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 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
  7452
            (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
  7453
            (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
  7454
            (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
  7455
            (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
  7456
            (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
  7457
            (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
  7458
            (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
  7459
        ].
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  7460
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7461
    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
  7462
    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
  7463
        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
  7464
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7465
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7466
    "/ create an event
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7467
2353
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
    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
  7469
    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
  7470
        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
  7471
            ('*** 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
  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
        ^ true
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7474
    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7475
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7476
"/    v superView isNil ifTrue:[
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7477
"/        ('*** eventThread: event ignored for topView: ' , event type) printCR.
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7478
"/        ^ self
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7479
"/    ].
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7480
2353
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
    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
  7482
439
9c3603a90f30 *** empty log message ***
cg
parents: 434
diff changeset
  7483
    "/ 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
  7484
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7485
    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
  7486
                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
  7487
    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
  7488
        :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
  7489
        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
  7490
        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
  7491
        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
  7492
            "/ 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
  7493
            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
  7494
            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
  7495
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7496
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7497
        "/ 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
  7498
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7499
        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
  7500
        jWToolKit "class" perform: #'postEvent(Ljava/awt/AWTEvent;)V' with: jEv.
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7501
    ].
270
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  7502
    ^ false
6f21225aab53 *** empty log message ***
cg
parents: 268
diff changeset
  7503
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
  7504
    "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
  7505
    "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
  7506
    "Modified: / 02-03-2015 / 15:53:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7507
! !
2d8b3948a08a *** empty log message ***
cg
parents: 253
diff changeset
  7508
2353
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
!JavaVM::Performance class methodsFor:'documentation'!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7510
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7511
documentation
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7512
"
2353
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
    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
  7514
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
    [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
  7516
        Jan Vrany <jan.vrany@fit.cvut.cz>
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
    [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
  7519
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
    [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
  7521
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
    [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
  7523
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7524
"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7525
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7526
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7527
!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
  7528
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7529
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
  7530
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
    ^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
  7532
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7533
    "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
  7534
! !
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
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7536
!JavaVM::Performance methodsFor:'accessing'!
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7537
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7538
counters
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7539
    ^ counters
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7540
! !
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7541
2353
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
!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
  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
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
  7545
    "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
  7546
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
    ^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
  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
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
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
  7551
    "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
  7552
     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
  7553
     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
  7554
     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
  7555
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
    | 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
  7557
    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
  7558
        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
  7559
        ^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
  7560
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7561
    ^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
  7562
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7563
    "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
  7564
! !
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
!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
  7567
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
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
  7569
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
    "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
  7571
    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
  7572
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7573
    vm := aJavaVM.
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  7574
    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
  7575
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
    "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
  7577
    "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
  7578
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7579
2353
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
!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
  7581
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
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
  7583
    "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
  7584
     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
  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
    | 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
  7587
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
    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
  7589
        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
  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
    '%-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
  7593
        index .
2841
6fa1bcf9c997 JavaClass>>#name vs. #binaryName refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  7594
        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
  7595
        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
  7596
        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
  7597
    } 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
  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
    ^ 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
  7600
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
    "
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
        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
  7603
    "
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
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
    "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
  7606
    "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
  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
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
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
  7610
    | 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
  7611
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
    (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
  7613
        | 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
  7614
        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
  7615
        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
  7616
            ^ '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
  7617
        ].
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
    (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
  7620
        | 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
  7621
        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
  7622
            (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
  7623
                ^ '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
  7624
            ].
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
        ].
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
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7627
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7628
    ((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
  7629
        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
  7630
            ^ '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
  7631
        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7632
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7633
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
    ((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
  7635
        (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
  7636
            ^ '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
  7637
        ].
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
    ].
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
    ((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
  7641
        (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
  7642
            ^ '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
  7643
        ].
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
    ^''
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7648
    "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
  7649
    "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
  7650
!
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
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
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
  7653
    ^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
  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
    "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
  7656
!
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
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
  7659
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7660
    | 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
  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
    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
  7663
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
    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
  7665
    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
  7666
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
    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
  7668
    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
  7669
    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
  7670
        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
  7671
            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
  7672
            (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
  7673
                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
  7674
            ].
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
            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
  7676
        ]
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
    ].
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
    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
  7679
    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
  7680
        ('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
  7681
            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
  7682
                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
  7683
                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
  7684
                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
  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
    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
  7688
    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
  7689
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
    "
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
        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
  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
    "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
  7695
    "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
  7696
! !
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
!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
  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
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
  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
    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
  7703
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
    "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
  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
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
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
  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
    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
  7710
    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
  7711
    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
  7712
    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
  7713
    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
  7714
    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
  7715
    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
  7716
    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
  7717
    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
  7718
    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
  7719
    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
  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
    "
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
        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
  7723
    "
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
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
    "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
  7726
    "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
  7727
!
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
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
  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
    "Created: / 15-10-2012 / 15:33:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3437
ef514307ed0e Removed support for internal performance counters.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3416
diff changeset
  7732
    "Modified: / 11-04-2015 / 21:33: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
  7733
!
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
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
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
  7736
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
    "Created: / 15-10-2012 / 15:33:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3437
ef514307ed0e Removed support for internal performance counters.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3416
diff changeset
  7738
    "Modified: / 11-04-2015 / 21:33: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
  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
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
  7742
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
    "Created: / 28-08-2012 / 10:42:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3437
ef514307ed0e Removed support for internal performance counters.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3416
diff changeset
  7744
    "Modified: / 11-04-2015 / 21:33: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
  7745
!
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
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
  7748
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
    | 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
  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
    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
  7752
    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
  7753
                        [: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
  7754
    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
  7755
        | 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
  7756
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
        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
  7758
        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
  7759
        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
  7760
        aStream
2841
6fa1bcf9c997 JavaClass>>#name vs. #binaryName refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2806
diff changeset
  7761
            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
  7762
            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
  7763
            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
  7764
            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
  7765
    ]
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
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
    "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
  7768
    "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
  7769
!
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
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
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
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
    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
  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
    "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
  7776
! !
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
!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
  7779
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
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
  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
    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
  7783
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
    "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
  7785
!
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
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
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
  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
    [
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
        '  %-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
  7791
    ] 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
  7792
        '  %-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
  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
    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
  7795
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
    "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
  7797
!
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
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
  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
    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
  7802
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
    "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
  7804
! !
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
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
!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
  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
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
  7809
"
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
    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
  7811
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
    [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
  7813
        Jan Vrany <jan.vrany@fit.cvut.cz>
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
    [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
  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
    [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
  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
    [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
  7820
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
"
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
! !
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
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
!JavaVM::ReflectionRegistry class methodsFor:'instance creation'!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7825
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7826
for: aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7827
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7828
    ^self new setVM: aJavaVM.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7829
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7830
    "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
  7831
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7832
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7833
new
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7834
    "return an initialized instance"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7835
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7836
    ^ self basicNew initialize.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7837
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7838
2353
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
!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
  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
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
  7842
    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
  7843
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
    "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
  7845
!
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7846
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7847
initialize
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7848
    constantPoolMapping := IdentityDictionary new.
3512
9bc8e3ca32cc Use IdentityDictionaries in reflection registry.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3511
diff changeset
  7849
    javaClasses := IdentityDictionary new.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7850
    javaArrayClasses := IdentityDictionary new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7851
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7852
    "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
  7853
    "Modified: / 09-02-2011 / 00:24:28 / Marcel Hlopko <hlopik@gmail.com>"
3515
84f25ecd7385 Morre cleanup of JavaVM::ReflectionRegistry.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3514
diff changeset
  7854
    "Modified: / 11-01-2016 / 23:13:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7855
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7856
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7857
setVM: aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7858
2353
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
    "Now, aJavaVM == JavaVM (i.e, the class JavaVM
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7860
    itself, not its instance)"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7861
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7862
    vm := aJavaVM
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7863
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7864
    "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
  7865
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7866
2353
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
!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
  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
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
  7870
    ^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
  7871
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
    "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
  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
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
classForJavaClassObject: aJavaClassObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7876
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7877
        Given an instance of java.lang.Class, answers
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7878
        real (Java) class associated with it. The instance
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7879
        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
  7880
        (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
  7881
3511
708bf6b84f35 Cleaned up JavaVM::ReflectionRegistry
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3508
diff changeset
  7882
    ^ javaClasses at: aJavaClassObject 
708bf6b84f35 Cleaned up JavaVM::ReflectionRegistry
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3508
diff changeset
  7883
            ifAbsent: [ vm internalError: 'No class associated with given java.lang.Class!!' ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7884
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7885
    "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
  7886
    "Modified: / 21-10-2011 / 13:41:12 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
3511
708bf6b84f35 Cleaned up JavaVM::ReflectionRegistry
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3508
diff changeset
  7887
    "Modified: / 11-01-2016 / 16:45:11 / 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
  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
javaClassObjectArrayForClasses: classes
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7891
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7892
        Answers an instance of java.lang.Class[] for given
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7893
        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
  7894
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7895
    | 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
  7896
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  7897
    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
  7898
                new: classes size.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7899
    classes isNilOrEmptyCollection ifTrue: [ ^ array ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7900
    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
  7901
        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
  7902
    ^ array
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
    "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
  7905
    "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
  7906
    "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
  7907
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7908
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7909
javaClassObjectForClass:aClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7910
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7911
    ^self javaClassObjectForClass:aClass init: true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7912
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7913
    "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
  7914
    "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
  7915
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7916
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7917
javaClassObjectForClass: aClass init: init
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7918
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7919
        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
  7920
        real (Java) class."
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7921
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7922
    | javaClassObj |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7923
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7924
    self assert: aClass isBehavior message: 'aClass is not behavior'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7925
    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
  7926
2353
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
    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
  7928
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7929
    "/ 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
  7930
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7931
    "/ 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
  7932
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
    "/ 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
  7934
    "/ 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
  7935
    (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
  7936
        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
  7937
        aClass lookupObject: JavaLookup instance.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7938
    ].
2966
afd174546057 Post-merge fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2965
diff changeset
  7939
    javaClassObj := _java_lang_Class_CLASS new.
3495
494403a0af56 FIx for new OpenJDK 7 (7u85-2.6.1-3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3489
diff changeset
  7940
    "/ Some more recent OpenJDK 7 (7u85-2.6.1-3) introduced 
494403a0af56 FIx for new OpenJDK 7 (7u85-2.6.1-3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3489
diff changeset
  7941
    "/ a classLoader field in java.lang.Class instances, making
494403a0af56 FIx for new OpenJDK 7 (7u85-2.6.1-3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3489
diff changeset
  7942
    "/ java.lang.Class.getClassLoader0() useless. To support both,
494403a0af56 FIx for new OpenJDK 7 (7u85-2.6.1-3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3489
diff changeset
  7943
    "/ fill in the `classLoader` field here (if defined, if not,
494403a0af56 FIx for new OpenJDK 7 (7u85-2.6.1-3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3489
diff changeset
  7944
    "/ _java_lang_Class_classLoader_ID will be nil)
494403a0af56 FIx for new OpenJDK 7 (7u85-2.6.1-3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3489
diff changeset
  7945
    _java_lang_Class_classLoader_ID notNil ifTrue:[ 
494403a0af56 FIx for new OpenJDK 7 (7u85-2.6.1-3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3489
diff changeset
  7946
        javaClassObj instVarAt: _java_lang_Class_classLoader_ID put: aClass classLoader.
494403a0af56 FIx for new OpenJDK 7 (7u85-2.6.1-3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3489
diff changeset
  7947
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7948
    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
  7949
    ^ javaClassObj
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7950
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7951
    "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
  7952
    "Created: / 12-08-2011 / 19:07:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3495
494403a0af56 FIx for new OpenJDK 7 (7u85-2.6.1-3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3489
diff changeset
  7953
    "Modified: / 11-09-2015 / 15:40:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7954
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7955
2353
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
javaClassObjectForClassNamed: className
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7957
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7958
        Answers an instance of java.lang.Class for given
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7959
        (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
  7960
        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
  7961
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7962
    | cls |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7963
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7964
    cls := JavaDescriptor baseTypesByTypeName at: className
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7965
                ifAbsent: [ vm classForName: className ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7966
    ^ self javaClassObjectForClass: cls.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7967
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  7968
    "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
  7969
    "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
  7970
!
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
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
  7973
3416
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7974
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7975
    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
  7976
    javaClasses at: jclass put: class.
3416
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7977
    "/ An ugly hack: when register a java.lang.Class object
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7978
    "/ for String or Unicode16String, also register the same
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7979
    "/ class for the other.
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7980
    "/ This is required because Java's char[] can be instance of
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7981
    "/ both a String or Unicode16String. getClass() on both must
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7982
    "/ return the same instance of a java.lang.Class.
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7983
    "/ Certainly not nice, but required.
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7984
    class == String ifTrue:[ 
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7985
        javaClasses at: Unicode16String put: jclass.
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7986
        javaClasses at: jclass put: Unicode16String.
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7987
    ] ifFalse:[ class == Unicode16String ifTrue:[
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7988
        javaClasses at: String put: jclass.
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7989
        javaClasses at: jclass put: String.
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7990
    ]]
2353
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
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  7992
    "Created: / 05-12-2011 / 09:57:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3416
adc4701c043b Fixed a bad bug in jaba.lang.Class object management for char[]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3385
diff changeset
  7993
    "Modified: / 30-03-2015 / 16:59:06 / 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
  7994
!
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  7995
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  7996
removeJavaClassObjectForClass: class
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  7997
    | classObject |
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  7998
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  7999
    classObject := javaClasses at: class ifAbsent:[ ^ self ].
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8000
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8001
    javaClasses removeKey: class.
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8002
    javaClasses removeKey: classObject.
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8003
1d977d2d3abb es to ClassLoader#classes list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  8004
    "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
  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
!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
  8008
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8009
constantPoolFor:javaConstantPoolObject
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8010
    ^ constantPoolMapping at:javaConstantPoolObject
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8011
        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
  8012
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8013
    "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
  8014
    "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
  8015
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8016
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8017
javaConstantPoolObjectFor: aConstantPool
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8018
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8019
    ^constantPoolMapping at: aConstantPool ifAbsent:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8020
        [| javaConstantPoolObject |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8021
        javaConstantPoolObject := (vm classForName:'sun.reflect.ConstantPool') new.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8022
        constantPoolMapping at: aConstantPool put: javaConstantPoolObject.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8023
        constantPoolMapping at: javaConstantPoolObject put: aConstantPool.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8024
        javaConstantPoolObject]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8025
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8026
    "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
  8027
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8028
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8029
!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
  8030
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
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
  8032
     "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
  8033
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8034
    | 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
  8035
    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
  8036
    ^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
  8037
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
    "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
  8039
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8040
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8041
javaMethodObjectLikeSlotsInto: jMethod forMethod: method
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8042
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8043
       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
  8044
       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
  8045
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8046
    | desc |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8047
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8048
    desc := method descriptor.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8049
    jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8050
        instVarNamed: #clazz put: (self javaClassObjectForClass: method javaClass);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8051
        instVarNamed: #slot put: 0;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8052
        instVarNamed: #modifiers put: method accessFlags;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8053
        instVarNamed: #parameterTypes
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8054
            put: (self javaClassObjectArrayForClasses: desc parameterClasses);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8055
        instVarNamed: #exceptionTypes
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8056
            put: (self javaClassObjectArrayForClasses: method javaExceptionTable);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8057
        instVarNamed: #annotations put: (method annotations runtimeVisible bytes);
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8058
        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
  8059
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8060
    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
  8061
        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
  8062
            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
  8063
            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
  8064
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8065
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8066
    ^ jMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8067
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8068
    "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
  8069
    "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
  8070
    "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
  8071
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8072
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
methodForJavaConstructorObject:constructor
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8074
     "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
  8075
      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
  8076
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8077
    | 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
  8078
    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
  8079
    ^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
  8080
"/    ^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
  8081
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8082
"/    |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
  8083
"/    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
  8084
"/    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
  8085
"/    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
  8086
"/        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
  8087
"/            ^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
  8088
"/        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8089
"/    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8090
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8091
    "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
  8092
    "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
  8093
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8094
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
methodForJavaMethodObject:jmethod
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8096
     "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8097
         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
  8098
         real method associated with it.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8099
    "
2353
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
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
    | 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
  8102
    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
  8103
    ^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
  8104
"/    ^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
  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
"/    |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
  8107
"/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8108
"/    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
  8109
"/    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
  8110
"/    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
  8111
"/    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
  8112
"/        (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
  8113
"/            ^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
  8114
"/        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8115
"/    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8116
"/    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
  8117
"/    ^nil.
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
    "Created: / 09-02-2011 / 10:32:14 / Marcel Hlopko <hlopik@gmail.com>"
3515
84f25ecd7385 Morre cleanup of JavaVM::ReflectionRegistry.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3514
diff changeset
  8120
    "Modified: / 11-01-2016 / 23:08:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8121
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8122
2353
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
!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
  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
javaStringObjectForString:string
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8126
    ^ self javaStringObjectForString: string interned: false
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8127
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8128
    "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
  8129
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8130
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8131
javaStringObjectForString:string interned:intern
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8132
    | s |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8133
    s := Java as_String: string.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8134
    ^intern ifTrue:[Java intern: s] ifFalse:[s]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8135
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8136
    "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
  8137
    "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
  8138
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8139
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  8140
!JavaVM class methodsFor:'documentation'!
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  8141
2157
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  8142
version
3431
82790b1e6d54 Merged with mercurial revision 4f3cc813be4 (8 changesets total)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3430
diff changeset
  8143
    ^ '$Header: /cvs/stx/stx/libjava/JavaVM.st,v 1.195 2015-03-20 12:08:00 vrany Exp $'
2157
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  8144
!
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  8145
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  8146
version_CVS
3431
82790b1e6d54 Merged with mercurial revision 4f3cc813be4 (8 changesets total)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3430
diff changeset
  8147
    ^ '$Header: /cvs/stx/stx/libjava/JavaVM.st,v 1.195 2015-03-20 12:08:00 vrany Exp $'
2157
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  8148
!
a0c2ac13f6c6 #_sun_reflect_NativeMethodAccessorImpl_invoke0: fix for static methods
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  8149
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  8150
version_HG
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  8151
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  8152
    ^ '$Changeset: <not expanded> $'
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  8153
!
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3070
diff changeset
  8154
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2149
diff changeset
  8155
version_SVN
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2372
diff changeset
  8156
    ^ 'Id'
253
de483f561c9e *** empty log message ***
cg
parents:
diff changeset
  8157
! !
2108
ca8c4e7db2e8 category change
Claus Gittinger <cg@exept.de>
parents: 2100
diff changeset
  8158
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2159
diff changeset
  8159
2085
dc0785700fbb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  8160
JavaVM initialize!