aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim.Scripting.EmbeddedJVM/InterpreterLogic.cs
diff options
context:
space:
mode:
authorMW2007-04-11 12:49:00 +0000
committerMW2007-04-11 12:49:00 +0000
commit2f3b6c4b1060a574263c4be114cb33d505ac6e71 (patch)
treed0e47a1343034945f4830da2b345788f04f512d3 /OpenSim.Scripting.EmbeddedJVM/InterpreterLogic.cs
parent* ignoring some binaries (diff)
downloadopensim-SC_OLD-2f3b6c4b1060a574263c4be114cb33d505ac6e71.zip
opensim-SC_OLD-2f3b6c4b1060a574263c4be114cb33d505ac6e71.tar.gz
opensim-SC_OLD-2f3b6c4b1060a574263c4be114cb33d505ac6e71.tar.bz2
opensim-SC_OLD-2f3b6c4b1060a574263c4be114cb33d505ac6e71.tar.xz
small improvement to the jvm and test script
Diffstat (limited to '')
-rw-r--r--OpenSim.Scripting.EmbeddedJVM/InterpreterLogic.cs24
1 files changed, 24 insertions, 0 deletions
diff --git a/OpenSim.Scripting.EmbeddedJVM/InterpreterLogic.cs b/OpenSim.Scripting.EmbeddedJVM/InterpreterLogic.cs
index 8c895af..3b7da35 100644
--- a/OpenSim.Scripting.EmbeddedJVM/InterpreterLogic.cs
+++ b/OpenSim.Scripting.EmbeddedJVM/InterpreterLogic.cs
@@ -90,6 +90,20 @@ namespace OpenSim.Scripting.EmbeddedJVM
90 this._mThread.PC += 2; 90 this._mThread.PC += 2;
91 result = true; 91 result = true;
92 break; 92 break;
93 case 23:
94 short findex1 = (short)((GlobalMemory.MethodArea.MethodBuffer[this._mThread.PC]));
95 Float fload = new Float();
96 if (this._mThread.currentFrame.LocalVariables[findex1] != null)
97 {
98 if (this._mThread.currentFrame.LocalVariables[findex1] is Float)
99 {
100 fload.mValue = ((Float)this._mThread.currentFrame.LocalVariables[findex1]).mValue;
101 this._mThread.currentFrame.OpStack.Push(fload);
102 }
103 }
104 this._mThread.PC++;
105 result = true;
106 break;
93 case 26: 107 case 26:
94 if (this._mThread.currentFrame.LocalVariables[0] != null) 108 if (this._mThread.currentFrame.LocalVariables[0] != null)
95 { 109 {
@@ -162,6 +176,16 @@ namespace OpenSim.Scripting.EmbeddedJVM
162 } 176 }
163 result = true; 177 result = true;
164 break; 178 break;
179 case 56:
180 short findex = (short)((GlobalMemory.MethodArea.MethodBuffer[this._mThread.PC] ));
181 BaseType fstor = this._mThread.currentFrame.OpStack.Pop();
182 if (fstor is Float)
183 {
184 this._mThread.currentFrame.LocalVariables[findex] = (Float)fstor;
185 }
186 this._mThread.PC++;
187 result = true;
188 break;
165 case 59: 189 case 59:
166 BaseType baset = this._mThread.currentFrame.OpStack.Pop(); 190 BaseType baset = this._mThread.currentFrame.OpStack.Pop();
167 if (baset is Int) 191 if (baset is Int)