From 2f3b6c4b1060a574263c4be114cb33d505ac6e71 Mon Sep 17 00:00:00 2001 From: MW Date: Wed, 11 Apr 2007 12:49:00 +0000 Subject: small improvement to the jvm and test script --- OpenSim.Scripting.EmbeddedJVM/InterpreterLogic.cs | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'OpenSim.Scripting.EmbeddedJVM/InterpreterLogic.cs') 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 this._mThread.PC += 2; result = true; break; + case 23: + short findex1 = (short)((GlobalMemory.MethodArea.MethodBuffer[this._mThread.PC])); + Float fload = new Float(); + if (this._mThread.currentFrame.LocalVariables[findex1] != null) + { + if (this._mThread.currentFrame.LocalVariables[findex1] is Float) + { + fload.mValue = ((Float)this._mThread.currentFrame.LocalVariables[findex1]).mValue; + this._mThread.currentFrame.OpStack.Push(fload); + } + } + this._mThread.PC++; + result = true; + break; case 26: if (this._mThread.currentFrame.LocalVariables[0] != null) { @@ -162,6 +176,16 @@ namespace OpenSim.Scripting.EmbeddedJVM } result = true; break; + case 56: + short findex = (short)((GlobalMemory.MethodArea.MethodBuffer[this._mThread.PC] )); + BaseType fstor = this._mThread.currentFrame.OpStack.Pop(); + if (fstor is Float) + { + this._mThread.currentFrame.LocalVariables[findex] = (Float)fstor; + } + this._mThread.PC++; + result = true; + break; case 59: BaseType baset = this._mThread.currentFrame.OpStack.Pop(); if (baset is Int) -- cgit v1.1