--- a/JavaByteCodeProcessorAdapter.st Fri Aug 16 19:52:36 2013 +0200
+++ b/JavaByteCodeProcessorAdapter.st Fri Sep 06 02:45:44 2013 +0200
@@ -51,9 +51,24 @@
as of 1.9.2010
"
+!
+
+documentation
+"
+ documentation to be added.
+
+ [author:]
+ Jan Vrany <jan.vrany@fit.cvut.cz>
+
+ [instance variables:]
+
+ [class variables:]
+
+ [see also:]
+
+"
! !
-
!JavaByteCodeProcessorAdapter class methodsFor:'instance creation'!
preresolve: aJavaMethod
@@ -62,7 +77,6 @@
"Created: / 09-02-2012 / 22:36:29 / mh <hlopik@gmail.com>"
! !
-
!JavaByteCodeProcessorAdapter methodsFor:'instructions'!
aaload
@@ -87,11 +101,15 @@
!
aload
-
-
- self fetchByte.
+ wide ifTrue:[
+ wide := false.
+ self fetchIndex2.
+ ] ifFalse:[
+ self fetchIndex.
+ ]
"Modified (comment): / 09-02-2012 / 21:12:38 / mh <hlopik@gmail.com>"
+ "Modified: / 31-08-2013 / 12:54:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
aload: idx
@@ -121,9 +139,15 @@
!
astore
- self fetchByte.
+ wide ifTrue:[
+ wide := false.
+ self istore: self fetchIndex2.
+ ] ifFalse:[
+ self istore: self fetchIndex.
+ ]
"Modified: / 09-02-2012 / 21:13:42 / mh <hlopik@gmail.com>"
+ "Modified: / 31-08-2013 / 12:57:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
astore: idx
@@ -231,9 +255,15 @@
!
dload
- self fetchByte.
+ wide ifTrue:[
+ wide := false.
+ self dload: self fetchIndex2.
+ ] ifFalse:[
+ self dload: self fetchIndex.
+ ]
"Modified: / 09-02-2012 / 21:17:47 / mh <hlopik@gmail.com>"
+ "Modified: / 31-08-2013 / 12:55:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
dload: idx
@@ -265,10 +295,16 @@
!
dstore
- self fetchIndex
+ wide ifTrue:[
+ wide := false.
+ self dstore: self fetchIndex2.
+ ] ifFalse:[
+ self dstore: self fetchIndex.
+ ]
"Created: / 14-03-2011 / 18:04:05 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
"Modified: / 09-02-2012 / 21:21:05 / mh <hlopik@gmail.com>"
+ "Modified: / 31-08-2013 / 12:57:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
dstore: idx
@@ -366,9 +402,15 @@
!
fload
- self fetchIndex.
+ wide ifTrue:[
+ wide := false.
+ self fload: self fetchIndex2.
+ ] ifFalse:[
+ self fload: self fetchIndex.
+ ]
"Modified: / 09-02-2012 / 21:25:01 / mh <hlopik@gmail.com>"
+ "Modified: / 31-08-2013 / 12:55:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
fload: idx
@@ -398,10 +440,16 @@
!
fstore
- self fetchIndex.
+ wide ifTrue:[
+ wide := false.
+ self fstore: self fetchIndex2.
+ ] ifFalse:[
+ self fstore: self fetchIndex.
+ ]
"Created: / 14-03-2011 / 18:01:34 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
"Modified: / 09-02-2012 / 21:23:14 / mh <hlopik@gmail.com>"
+ "Modified: / 31-08-2013 / 12:56:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
fstore: idx
@@ -623,17 +671,30 @@
!
iinc
-
- self fetchBytes2.
+ wide ifTrue:[
+ wide := false.
+ self fetchIndex2.
+ self fetchBytes2.
+ ] ifFalse:[
+ self fetchIndex.
+ self fetchByte
+ ]
"Created: / 14-03-2011 / 17:22:22 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
"Modified: / 09-02-2012 / 21:30:13 / mh <hlopik@gmail.com>"
+ "Modified: / 31-08-2013 / 12:53:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
iload
- self fetchIndex.
+ wide ifTrue:[
+ wide := false.
+ self iload: self fetchIndex2.
+ ] ifFalse:[
+ self iload: self fetchIndex.
+ ]
"Modified: / 09-02-2012 / 21:30:25 / mh <hlopik@gmail.com>"
+ "Modified: / 31-08-2013 / 12:55:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
iload: idx
@@ -738,9 +799,15 @@
!
istore
- self fetchIndex.
+ wide ifTrue:[
+ wide := false.
+ self istore: self fetchIndex2.
+ ] ifFalse:[
+ self istore: self fetchIndex.
+ ]
"Modified: / 09-02-2012 / 21:33:33 / mh <hlopik@gmail.com>"
+ "Modified: / 31-08-2013 / 12:56:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
istore: idx
@@ -855,9 +922,15 @@
!
lload
- self fetchIndex.
+ wide ifTrue:[
+ wide := false.
+ self lload: self fetchIndex2.
+ ] ifFalse:[
+ self lload: self fetchIndex.
+ ]
"Modified: / 09-02-2012 / 21:39:26 / mh <hlopik@gmail.com>"
+ "Modified: / 31-08-2013 / 12:55:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
lload: idx
@@ -918,9 +991,15 @@
!
lstore
- self fetchIndex.
+ wide ifTrue:[
+ wide := false.
+ self lstore: self fetchIndex2.
+ ] ifFalse:[
+ self lstore: self fetchIndex.
+ ]
"Modified: / 09-02-2012 / 21:44:23 / mh <hlopik@gmail.com>"
+ "Modified: / 31-08-2013 / 12:57:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
lstore: idx
@@ -1013,9 +1092,15 @@
!
ret
- self fetchByte.
+ wide ifTrue:[
+ wide := false.
+ self fetchIndex2.
+ ] ifFalse:[
+ self fetchIndex.
+ ]
"Modified: / 09-02-2012 / 21:47:06 / mh <hlopik@gmail.com>"
+ "Modified: / 31-08-2013 / 12:57:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
ret_w
@@ -1068,14 +1153,16 @@
!
wide
- |nextOp|
- nextOp := self fetchByte.
- nextOp = 16r84 ifTrue: [self fetchBytes4] ifFalse: [self fetchBytes2].
+ wide := true.
+"/ |nextOp|
+"/ nextOp := self fetchByte.
+"/ nextOp = 16r84 ifTrue: [self fetchBytes4] ifFalse: [self fetchBytes2].
+"/
"Modified: / 09-02-2012 / 22:23:56 / mh <hlopik@gmail.com>"
+ "Modified: / 31-08-2013 / 12:38:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaByteCodeProcessorAdapter methodsFor:'processing'!
handleAbstractMethod
@@ -1083,11 +1170,19 @@
"Created: / 09-02-2012 / 22:51:16 / mh <hlopik@gmail.com>"
! !
+!JavaByteCodeProcessorAdapter methodsFor:'processing loop'!
+
+switch: opcode
+ super switch: opcode.
+ leaveProcessor := pc > byteCode size.
+
+ "Created: / 30-08-2013 / 13:59:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
!JavaByteCodeProcessorAdapter class methodsFor:'documentation'!
version_CVS
- ^ '$Header: /cvs/stx/stx/libjava/JavaByteCodeProcessorAdapter.st,v 1.2 2013-02-25 11:15:31 vrany Exp $'
+ ^ '$Header: /cvs/stx/stx/libjava/JavaByteCodeProcessorAdapter.st,v 1.3 2013-09-06 00:41:15 vrany Exp $'
!
version_HG