--- a/JavaNativeMethod.st Mon Feb 25 20:38:21 2013 +0100
+++ b/JavaNativeMethod.st Tue Feb 26 00:30:26 2013 +0100
@@ -20,7 +20,7 @@
"
"{ Package: 'stx:libjava' }"
-JavaMethodWithHandler subclass:#JavaNativeMethod
+JavaMethodWithHandler variableSubclass:#JavaNativeMethod
instanceVariableNames:'nativeImplementation nCalls'
classVariableNames:'CacheNativeImplementation Verbose TrampolineSelectors'
poolDictionaries:''
@@ -53,7 +53,6 @@
"
! !
-
!JavaNativeMethod class methodsFor:'initialization'!
cacheNativeImplementation
@@ -120,7 +119,6 @@
"Modified: / 31-01-2013 / 14:40:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaNativeMethod class methodsFor:'instance creation'!
new
@@ -132,7 +130,6 @@
"Created: / 31-01-2013 / 13:26:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaNativeMethod class methodsFor:'cleanup'!
flushAllCachedNativeMethods
@@ -148,7 +145,6 @@
"Modified: / 24.12.1999 / 03:10:51 / cg"
! !
-
!JavaNativeMethod methodsFor:'accessing'!
nCalls
@@ -199,7 +195,6 @@
"Created: / 17-12-2010 / 10:34:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaNativeMethod methodsFor:'private'!
compileNativeImplementation: sel dispatchingTo: oldSel
@@ -415,7 +410,6 @@
"Modified: / 12-02-2013 / 15:26:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaNativeMethod methodsFor:'private-compiler interface'!
numberOfArgs:aNumber
@@ -435,6 +429,10 @@
self error: 'Cannot install trampoline - no selector yet'.
^self.
].
+ MethodNode isNil ifTrue:[
+ self error: 'Cannot install trampoline - no MethodNode class'.
+ ^self.
+ ].
"Create the trampoline"
args := (1 to: aNumber) collect:[:i|(VariableNode methodArgumentNamed: ('arg_' , i printString)) index: i].
@@ -464,7 +462,6 @@
"Modified: / 12-02-2013 / 15:28:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaNativeMethod methodsFor:'private-trampolines'!
trampolineUncached
@@ -563,7 +560,6 @@
"Created: / 31-01-2013 / 12:56:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaNativeMethod methodsFor:'vm support'!
nativeMethodInvokation
@@ -623,20 +619,19 @@
"Modified: / 21-01-2013 / 17:35:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaNativeMethod class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethod.st,v 1.13 2013-02-25 11:15:31 vrany Exp $'
+ ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethod.st,v 1.14 2013-02-25 23:30:26 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethod.st,v 1.13 2013-02-25 11:15:31 vrany Exp $'
+ ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethod.st,v 1.14 2013-02-25 23:30:26 cg Exp $'
!
version_HG
- ^ '$Changeset: <not expanded> $'
+ ^ '§Changeset: <not expanded> §'
!
version_SVN