changeset 7:17543aa3aced

sync
author cin
date Tue, 29 Oct 2013 07:04:33 +0400
parents cb13da6e3349
children 5b2302d3ac4f
files Jint.Runtime/Jint.Runtime.csproj Jint.Runtime/VM/OpCodes/AbstractBinaryOp.cs Jint.Runtime/VM/OpCodes/AbstractOp.cs Jint.sln Jint.userprefs
diffstat 5 files changed, 253 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/Jint.Runtime/Jint.Runtime.csproj	Mon Oct 28 00:49:15 2013 +0400
+++ b/Jint.Runtime/Jint.Runtime.csproj	Tue Oct 29 07:04:33 2013 +0400
@@ -50,6 +50,8 @@
     <Compile Include="VM\OpCodes\GteCmp.cs" />
     <Compile Include="VM\OperationDelegates.cs" />
     <Compile Include="VM\RuntimeContext.cs" />
+    <Compile Include="VM\OpCodes\AbstractBinaryOp.cs" />
+    <Compile Include="VM\OpCodes\AbstractOp.cs" />
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <ProjectExtensions>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Jint.Runtime/VM/OpCodes/AbstractBinaryOp.cs	Tue Oct 29 07:04:33 2013 +0400
@@ -0,0 +1,25 @@
+using System;
+
+namespace Jint.Runtime.VM.OpCodes
+{
+    abstract class AbstractBinaryOp: AbstractOp
+    {
+        protected int m_arg1;
+        protected int m_arg2;
+        protected int m_dest;
+
+        protected AbstractBinaryOp (int arg1, int arg2, int dest)
+        {
+            m_arg1 = arg1;
+            m_arg2 = arg2;
+            m_dest = dest;
+        }
+
+        #region IInstruction implementation
+
+        public abstract IInstruction Invoke (Frame frame);
+
+        #endregion
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Jint.Runtime/VM/OpCodes/AbstractOp.cs	Tue Oct 29 07:04:33 2013 +0400
@@ -0,0 +1,20 @@
+using System;
+
+namespace Jint.Runtime.VM.OpCodes {
+    abstract class AbstractOp: IInstruction {
+
+        protected IInstruction m_next;
+
+        public IInstruction Chain(IInstruction next) {
+            m_next = next;
+            return next;
+        }
+
+        #region IInstruction implementation
+
+        abstract public IInstruction Invoke (Frame frame);
+
+        #endregion
+    }
+}
+
--- a/Jint.sln	Mon Oct 28 00:49:15 2013 +0400
+++ b/Jint.sln	Tue Oct 29 07:04:33 2013 +0400
@@ -13,19 +13,206 @@
 		Release|x86 = Release|x86
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{F3FDE0D1-748F-4DFE-9C1C-D17D7FD4E642}.Debug|x86.ActiveCfg = Debug|x86
-		{F3FDE0D1-748F-4DFE-9C1C-D17D7FD4E642}.Debug|x86.Build.0 = Debug|x86
-		{F3FDE0D1-748F-4DFE-9C1C-D17D7FD4E642}.Release|x86.ActiveCfg = Release|x86
-		{F3FDE0D1-748F-4DFE-9C1C-D17D7FD4E642}.Release|x86.Build.0 = Release|x86
 		{8AC3346E-5A4E-4B8C-A225-E4C47F912730}.Debug|x86.ActiveCfg = Debug|x86
 		{8AC3346E-5A4E-4B8C-A225-E4C47F912730}.Debug|x86.Build.0 = Debug|x86
 		{8AC3346E-5A4E-4B8C-A225-E4C47F912730}.Release|x86.ActiveCfg = Release|x86
 		{8AC3346E-5A4E-4B8C-A225-E4C47F912730}.Release|x86.Build.0 = Release|x86
+		{F3FDE0D1-748F-4DFE-9C1C-D17D7FD4E642}.Debug|x86.ActiveCfg = Debug|x86
+		{F3FDE0D1-748F-4DFE-9C1C-D17D7FD4E642}.Debug|x86.Build.0 = Debug|x86
+		{F3FDE0D1-748F-4DFE-9C1C-D17D7FD4E642}.Release|x86.ActiveCfg = Release|x86
+		{F3FDE0D1-748F-4DFE-9C1C-D17D7FD4E642}.Release|x86.Build.0 = Release|x86
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+	EndGlobalSection
+	GlobalSection(MonoDevelopProperties) = preSolution
+		StartupItem = Jint.Runtime\Jint.Runtime.csproj
+		Policies = $0
+		$0.DotNetNamingPolicy = $1
+		$1.DirectoryNamespaceAssociation = PrefixedHierarchical
+		$1.ResourceNamePolicy = FileName
+		$0.TextStylePolicy = $2
+		$2.inheritsSet = null
+		$2.scope = text/x-csharp
+		$0.CSharpFormattingPolicy = $3
+		$3.NamespaceBraceStyle = EndOfLine
+		$3.ClassBraceStyle = EndOfLine
+		$3.InterfaceBraceStyle = EndOfLine
+		$3.StructBraceStyle = EndOfLine
+		$3.EnumBraceStyle = EndOfLine
+		$3.MethodBraceStyle = EndOfLine
+		$3.ConstructorBraceStyle = EndOfLine
+		$3.DestructorBraceStyle = EndOfLine
+		$3.inheritsSet = Mono
+		$3.inheritsScope = text/x-csharp
+		$3.scope = text/x-csharp
+		$0.StandardHeader = $4
+		$4.Text = 
+		$4.IncludeInNewFiles = True
+		$0.NameConventionPolicy = $5
+		$5.Rules = $6
+		$6.NamingRule = $7
+		$7.Name = Namespaces
+		$7.AffectedEntity = Namespace
+		$7.VisibilityMask = VisibilityMask
+		$7.NamingStyle = PascalCase
+		$7.IncludeInstanceMembers = True
+		$7.IncludeStaticEntities = True
+		$6.NamingRule = $8
+		$8.Name = Types
+		$8.AffectedEntity = Class, Struct, Enum, Delegate
+		$8.VisibilityMask = VisibilityMask
+		$8.NamingStyle = PascalCase
+		$8.IncludeInstanceMembers = True
+		$8.IncludeStaticEntities = True
+		$6.NamingRule = $9
+		$9.Name = Interfaces
+		$9.RequiredPrefixes = $10
+		$10.String = I
+		$9.AffectedEntity = Interface
+		$9.VisibilityMask = VisibilityMask
+		$9.NamingStyle = PascalCase
+		$9.IncludeInstanceMembers = True
+		$9.IncludeStaticEntities = True
+		$6.NamingRule = $11
+		$11.Name = Attributes
+		$11.RequiredSuffixes = $12
+		$12.String = Attribute
+		$11.AffectedEntity = CustomAttributes
+		$11.VisibilityMask = VisibilityMask
+		$11.NamingStyle = PascalCase
+		$11.IncludeInstanceMembers = True
+		$11.IncludeStaticEntities = True
+		$6.NamingRule = $13
+		$13.Name = Event Arguments
+		$13.RequiredSuffixes = $14
+		$14.String = EventArgs
+		$13.AffectedEntity = CustomEventArgs
+		$13.VisibilityMask = VisibilityMask
+		$13.NamingStyle = PascalCase
+		$13.IncludeInstanceMembers = True
+		$13.IncludeStaticEntities = True
+		$6.NamingRule = $15
+		$15.Name = Exceptions
+		$15.RequiredSuffixes = $16
+		$16.String = Exception
+		$15.AffectedEntity = CustomExceptions
+		$15.VisibilityMask = VisibilityMask
+		$15.NamingStyle = PascalCase
+		$15.IncludeInstanceMembers = True
+		$15.IncludeStaticEntities = True
+		$6.NamingRule = $17
+		$17.Name = Methods
+		$17.AffectedEntity = Methods
+		$17.VisibilityMask = VisibilityMask
+		$17.NamingStyle = PascalCase
+		$17.IncludeInstanceMembers = True
+		$17.IncludeStaticEntities = True
+		$6.NamingRule = $18
+		$18.Name = Static Readonly Fields
+		$18.AffectedEntity = ReadonlyField
+		$18.VisibilityMask = Internal, Protected, Public
+		$18.NamingStyle = PascalCase
+		$18.IncludeInstanceMembers = False
+		$18.IncludeStaticEntities = True
+		$6.NamingRule = $19
+		$19.Name = Fields (Non Private)
+		$19.AffectedEntity = Field
+		$19.VisibilityMask = Internal, Protected, Public
+		$19.NamingStyle = PascalCase
+		$19.IncludeInstanceMembers = True
+		$19.IncludeStaticEntities = True
+		$6.NamingRule = $20
+		$20.Name = ReadOnly Fields (Non Private)
+		$20.AffectedEntity = ReadonlyField
+		$20.VisibilityMask = Internal, Protected, Public
+		$20.NamingStyle = PascalCase
+		$20.IncludeInstanceMembers = True
+		$20.IncludeStaticEntities = False
+		$6.NamingRule = $21
+		$21.Name = Fields (Private)
+		$21.AllowedPrefixes = $22
+		$22.String = _
+		$22.String = m_
+		$21.AffectedEntity = Field, ReadonlyField
+		$21.VisibilityMask = Private
+		$21.NamingStyle = CamelCase
+		$21.IncludeInstanceMembers = True
+		$21.IncludeStaticEntities = False
+		$6.NamingRule = $23
+		$23.Name = Static Fields (Private)
+		$23.AffectedEntity = Field
+		$23.VisibilityMask = Private
+		$23.NamingStyle = CamelCase
+		$23.IncludeInstanceMembers = False
+		$23.IncludeStaticEntities = True
+		$6.NamingRule = $24
+		$24.Name = ReadOnly Fields (Private)
+		$24.AllowedPrefixes = $25
+		$25.String = _
+		$25.String = m_
+		$24.AffectedEntity = ReadonlyField
+		$24.VisibilityMask = Private
+		$24.NamingStyle = CamelCase
+		$24.IncludeInstanceMembers = True
+		$24.IncludeStaticEntities = False
+		$6.NamingRule = $26
+		$26.Name = Constant Fields
+		$26.AffectedEntity = ConstantField
+		$26.VisibilityMask = VisibilityMask
+		$26.NamingStyle = PascalCase
+		$26.IncludeInstanceMembers = True
+		$26.IncludeStaticEntities = True
+		$6.NamingRule = $27
+		$27.Name = Properties
+		$27.AffectedEntity = Property
+		$27.VisibilityMask = VisibilityMask
+		$27.NamingStyle = PascalCase
+		$27.IncludeInstanceMembers = True
+		$27.IncludeStaticEntities = True
+		$6.NamingRule = $28
+		$28.Name = Events
+		$28.AffectedEntity = Event
+		$28.VisibilityMask = VisibilityMask
+		$28.NamingStyle = PascalCase
+		$28.IncludeInstanceMembers = True
+		$28.IncludeStaticEntities = True
+		$6.NamingRule = $29
+		$29.Name = Enum Members
+		$29.AffectedEntity = EnumMember
+		$29.VisibilityMask = VisibilityMask
+		$29.NamingStyle = PascalCase
+		$29.IncludeInstanceMembers = True
+		$29.IncludeStaticEntities = True
+		$6.NamingRule = $30
+		$30.Name = Parameters
+		$30.AffectedEntity = Parameter
+		$30.VisibilityMask = VisibilityMask
+		$30.NamingStyle = CamelCase
+		$30.IncludeInstanceMembers = True
+		$30.IncludeStaticEntities = True
+		$6.NamingRule = $31
+		$31.Name = Type Parameters
+		$31.RequiredPrefixes = $32
+		$32.String = T
+		$31.AffectedEntity = TypeParameter
+		$31.VisibilityMask = VisibilityMask
+		$31.NamingStyle = PascalCase
+		$31.IncludeInstanceMembers = True
+		$31.IncludeStaticEntities = True
+		$0.VersionControlPolicy = $33
+		$33.inheritsSet = Mono
+		$0.ChangeLogPolicy = $34
+		$34.inheritsSet = Mono
+		$0.TextStylePolicy = $35
+		$35.inheritsSet = VisualStudio
+		$35.inheritsScope = text/plain
+		$35.scope = text/plain
+		$0.XmlFormattingPolicy = $36
+		$36.inheritsSet = Mono
+		$36.inheritsScope = application/xml
+		$36.scope = application/xml
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
-	GlobalSection(MonoDevelopProperties) = preSolution
-		StartupItem = Jint.Runtime\Jint.Runtime.csproj
-	EndGlobalSection
 EndGlobal
--- a/Jint.userprefs	Mon Oct 28 00:49:15 2013 +0400
+++ b/Jint.userprefs	Tue Oct 29 07:04:33 2013 +0400
@@ -1,16 +1,12 @@
 <Properties>
   <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|x86" />
-  <MonoDevelop.Ide.Workbench ActiveDocument="Jint.Runtime/Main.cs">
+  <MonoDevelop.Ide.Workbench ActiveDocument="Jint.Runtime/VM/OpCodes/AbstractBinaryOp.cs">
     <Files>
-      <File FileName="Jint.Runtime/VM/OpCodes/IBinaryOperation2.cs" Line="1" Column="1" />
-      <File FileName="Jint.Runtime/VM2/OpCodes/Codes.cs" Line="13" Column="1" />
-      <File FileName="Jint.Runtime/VM2/Box.cs" Line="15" Column="4" />
-      <File FileName="Jint.Runtime/VM2/IntegerBinder.cs" Line="1" Column="1" />
-      <File FileName="Jint.Runtime/VM2/Instruction.cs" Line="1" Column="1" />
-      <File FileName="Jint.Runtime/VM2/OpCodes/Operation.cs" Line="4" Column="50" />
-      <File FileName="Jint.Runtime/VM2/Machine.cs" Line="33" Column="16" />
-      <File FileName="Jint.Runtime/VM2/RuntimeContext.cs" Line="20" Column="3" />
-      <File FileName="Jint.Runtime/Main.cs" Line="34" Column="30" />
+      <File FileName="Jint.Runtime/Main.cs" Line="54" Column="4" />
+      <File FileName="Jint.Runtime/VM/OpCodes/GteCmp.cs" Line="1" Column="1" />
+      <File FileName="Jint.Runtime/VM/OpCodes/LteCmp.cs" Line="1" Column="1" />
+      <File FileName="Jint.Runtime/VM/OpCodes/AbstractBinaryOp.cs" Line="18" Column="44" />
+      <File FileName="Jint.Runtime/VM/OpCodes/AbstractOp.cs" Line="11" Column="10" />
     </Files>
     <Pads>
       <Pad Id="ProjectPad">
@@ -18,18 +14,19 @@
           <Node name="Jint.Experimental" expanded="True" />
           <Node name="Jint.Runtime" expanded="True">
             <Node name="VM" expanded="True">
-              <Node name="OpCodes" expanded="True" />
+              <Node name="OpCodes" expanded="True">
+                <Node name="AbstractBinaryOp.cs" selected="True" />
+              </Node>
             </Node>
-            <Node name="VM2" expanded="True">
-              <Node name="OpCodes" expanded="True" />
-            </Node>
-            <Node name="Main.cs" selected="True" />
           </Node>
         </State>
       </Pad>
       <Pad Id="ClassPad">
         <State expanded="True" selected="True" />
       </Pad>
+      <Pad Id="MonoDevelop.Debugger.WatchPad">
+        <State />
+      </Pad>
     </Pads>
   </MonoDevelop.Ide.Workbench>
   <MonoDevelop.Ide.DebuggingService.Breakpoints>