aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim.Scripting.EmbeddedJVM/InterpreterLogic.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim.Scripting.EmbeddedJVM/InterpreterLogic.cs')
-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)