edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/BacktraceTests.cs;C853491
File: BacktraceTests.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/BacktraceTests.cs;C853491  (server)    5/1/2009 4:52 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/BacktraceTests.cs;InterpreterFixAndRemoval
@@ -19,7 +19,7 @@
 namespace IronRuby.Tests {
     public partial class Tests {
         private bool PreciseTraces {
-            get { return Runtime.Setup.DebugMode || _driver.Interpret; }
+            get { return Runtime.Setup.DebugMode /*|| _driver.Interpret*/; }
         }
 
         private bool PreciseSinglePassTraces {
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/rake/test.rake;C722283
File: test.rake
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/rake/test.rake;C722283  (server)    5/1/2009 4:58 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/rake/test.rake;InterpreterFixAndRemoval
@@ -190,7 +190,7 @@
 end
 
 task :ruby_imp do
-  $ruby_imp ||= %Q{#{path_to_ir} -T "-X:Interpret"}
+  $ruby_imp ||= %Q{#{path_to_ir}}
 end
 
 desc "Run PEVerify on the generated IL"
===================================================================
delete: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/OldInterpreter;C840659
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Ruby.csproj;C853491
File: Ruby.csproj
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Ruby.csproj;C853491  (server)    5/1/2009 4:48 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Ruby.csproj;InterpreterFixAndRemoval
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.30729</ProductVersion>
+    <ProductVersion>9.0.21022</ProductVersion>
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{7F6984B4-EE6D-4E6F-ABB1-E210D7DC4FDD}</ProjectGuid>
     <OutputType>Library</OutputType>
@@ -167,19 +167,6 @@
     <Compile Include="Compiler\Ast\Walkers\Walker.cs" />
     <Compile Include="Compiler\Errors.cs" />
     <Compile Include="Compiler\Parser\ParserStack.cs" />
-    <Compile Include="OldInterpreter\CommaAddress.cs" />
-    <Compile Include="OldInterpreter\ControlFlow.cs" />
-    <Compile Include="OldInterpreter\EvaluationAddress.cs" />
-    <Compile Include="OldInterpreter\InterpretedScriptCode.cs" />
-    <Compile Include="OldInterpreter\Interpreter.Block.cs" />
-    <Compile Include="OldInterpreter\Interpreter.Generated.cs" />
-    <Compile Include="OldInterpreter\Interpreter.MatchCaller.cs" />
-    <Compile Include="OldInterpreter\Interpreter.cs" />
-    <Compile Include="OldInterpreter\InterpreterHelpers.cs" />
-    <Compile Include="OldInterpreter\InterpreterState.cs" />
-    <Compile Include="OldInterpreter\InterpreterVariables.cs" />
-    <Compile Include="OldInterpreter\LambdaInvoker.cs" />
-    <Compile Include="OldInterpreter\VariableAddress.cs" />
     <Compile Include="Runtime\BinaryContentProvider.cs" />
     <Compile Include="Runtime\CallSiteStorages.cs" />
     <Compile Include="Runtime\Calls\CompositeConversionAction.cs" />
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/CallSiteStorages.cs;C802160
File: CallSiteStorages.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/CallSiteStorages.cs;C802160  (server)    5/1/2009 4:49 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/CallSiteStorages.cs;InterpreterFixAndRemoval
@@ -23,7 +23,6 @@
 using System.Threading;
 using Microsoft.Scripting;
 using Microsoft.Scripting.Actions;
-using Microsoft.Scripting.Interpretation;
 using Microsoft.Scripting.Runtime;
 using Microsoft.Scripting.Utils;
 using IronRuby.Builtins;
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyContext.cs;C853491
File: RubyContext.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyContext.cs;C853491  (server)    5/1/2009 4:49 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyContext.cs;InterpreterFixAndRemoval
@@ -31,7 +31,6 @@
 using Microsoft.Scripting;
 using Microsoft.Scripting.Actions;
 using Microsoft.Scripting.Generation;
-using Microsoft.Scripting.Interpretation;
 using Microsoft.Scripting.Runtime;
 using Microsoft.Scripting.Utils;
 
@@ -2295,32 +2294,5 @@
         }
 
         #endregion
-
-        #region Interpretation
-
-
-        /// <summary>
-        /// Called by an interpreter when an exception is about to be thrown by an interpreted or
-        /// when a CLR method is called that threw an exception.
-        /// </summary>
-        /// <param name="state">
-        /// The current interpreted frame state. The frame is either throwing the exception or 
-        /// is the interpreted frame that is calling a CLR method that threw or propagated the exception. 
-        /// </param>
-        /// <param name="exception">The exception to be (re)thrown.</param>
-        /// <param name="isInterpretedThrow">Whether the exception is thrown by an interpreted code.</param>
-        /// <remarks>
-        /// The method can be called multiple times for a single exception if the interpreted code calls some CLR code that
-        /// calls an interpreted code that throws an exception. The method is called at each interpeted/non-interpreted frame boundary
-        /// and in the frame that raised the exception.
-        /// </remarks>
-        internal void InterpretExceptionThrow(InterpreterState state, Exception exception, bool isInterpretedThrow) {
-            Assert.NotNull(state, exception);
-            if (RubyExceptionData.TryGetInstance(exception) == null) {
-                RubyExceptionData.AssociateInstance(exception).SetInterpretedTrace(state);
-            }
-        }
-
-        #endregion
     }
 }
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyExceptionData.cs;C853491
File: RubyExceptionData.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyExceptionData.cs;C853491  (server)    5/1/2009 4:49 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyExceptionData.cs;InterpreterFixAndRemoval
@@ -22,7 +22,6 @@
 using System.Security;
 using System.Security.Permissions;
 using IronRuby.Builtins;
-using Microsoft.Scripting.Interpretation;
 using System.Linq.Expressions;
 using System.Threading;
 using System.IO;
@@ -108,17 +107,6 @@
             }
         }
 
-        // OBSOLETE:
-        internal void SetInterpretedTrace(InterpreterState/*!*/ state) {
-            if (_backtrace != null) {
-                return;
-            }
-
-            // we need to copy the trace since the source locations in frames above catch site could be altered by further interpretation:
-            _backtrace = AddBacktrace(new RubyArray(), state, 0);
-            DynamicSetBacktrace((RubyContext)state.ScriptCode.SourceUnit.LanguageContext, _backtrace);
-        }
-
         /// <summary>
         /// This is called by the IronRuby runtime to set the backtrace for an exception that has being raised. 
         /// Note that the backtrace may be set directly by user code as well. However, that uses a different code path.
@@ -132,19 +120,12 @@
         }
 
         public static RubyArray/*!*/ CreateBacktrace(RubyContext/*!*/ context, int skipFrames) {
-            if (context.RubyOptions.InterpretedMode) {
-                // OBSOLETE:
-                var currentFrame = InterpreterState.Current.Value;
-                Debug.Assert(currentFrame != null); 
-                return AddBacktrace(new RubyArray(), currentFrame, skipFrames);
-            } else {
-                var trace = DebugInfoAvailable ? new StackTrace(true) : new StackTrace();
-                var interpretedFrame = CurrentInterpretedFrame.Value;
-                return AddBacktrace(
-                    new RubyArray(), trace.GetFrames(), ref interpretedFrame, null, DetectFileAccessPermissions(), 
-                    skipFrames, context.Options.ExceptionDetail
-                );
-            }
+            var trace = DebugInfoAvailable ? new StackTrace(true) : new StackTrace();
+            var interpretedFrame = CurrentInterpretedFrame.Value;
+            return AddBacktrace(
+                new RubyArray(), trace.GetFrames(), ref interpretedFrame, null, DetectFileAccessPermissions(), 
+                skipFrames, context.Options.ExceptionDetail
+            );
         }
 
         // TODO: partial trust
@@ -161,34 +142,6 @@
 #endif
         }
 
-        // OBSOLETE:
-        private static RubyArray/*!*/ AddBacktrace(RubyArray/*!*/ result, InterpreterState/*!*/ frame, int skipFrames) {
-            do {
-                if (skipFrames == 0) {
-                    string methodName;
-
-                    // TODO: generalize for all languages
-                    if (frame.ScriptCode.SourceUnit.LanguageContext is RubyContext) {
-                        methodName = ParseRubyMethodName(frame.Lambda.Name);
-                    } else {
-                        methodName = frame.Lambda.Name;
-                    }
-
-                    result.Add(MutableString.Create(FormatFrame(
-                        frame.ScriptCode.SourceUnit.Path,
-                        frame.CurrentLocation.Line,
-                        methodName
-                    )));
-                } else {
-                    skipFrames--;
-                }
-
-                frame = frame.Caller;
-            } while (frame != null);
-
-            return result;
-        }
-
         private static RubyArray/*!*/ AddBacktrace(RubyArray/*!*/ result, IEnumerable<StackFrame> stackTrace,
             ref InterpretedFrame interpretedFrame, InterpretedFrame handlerFrame,
             bool hasFileAccessPermission, int skipFrames, bool exceptionDetail) {
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyScriptCode.cs;C853491
File: RubyScriptCode.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyScriptCode.cs;C853491  (server)    5/1/2009 4:49 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyScriptCode.cs;InterpreterFixAndRemoval
@@ -34,10 +34,9 @@
 using System.Runtime.CompilerServices;
 using System.Security;
 using IronRuby.Compiler;
-using Microsoft.Scripting.Interpretation;
 
 namespace IronRuby.Runtime {
-    internal class RubyScriptCode : ScriptCode, IInterpretedScriptCode {
+    internal class RubyScriptCode : ScriptCode {
         private sealed class CustomGenerator : DebugInfoGenerator {
             public override void MarkSequencePoint(LambdaExpression method, int ilOffset, DebugInfoExpression node) {
                 RubyMethodDebugInfo.GetOrCreate(method.Name).AddMapping(ilOffset, node.StartLine);
@@ -109,73 +108,9 @@
                     throw Assert.Unreachable;                
             }
 
-            if (context.RubyOptions.InterpretedMode) {
-                return Interpreter.TopLevelExecute(this, localScope, localScope.RuntimeFlowControl, localScope.SelfObject);
-            } else {
-                return Target(localScope, localScope.RuntimeFlowControl, localScope.SelfObject);
-            }
+            return Target(localScope, localScope.RuntimeFlowControl, localScope.SelfObject);
         }
 
-        #region // TODO: remove (old interpreter)
-
-        internal class Evaled : IInterpretedScriptCode {
-            // call sites allocated for the tree:
-            private Dictionary<Expression, CallSiteInfo> _callSites;
-
-            SourceUnit IInterpretedScriptCode.SourceUnit {
-                get { return _source; }
-            }
-
-            LambdaExpression IInterpretedScriptCode.Code {
-                get { return _code; }
-            }
-
-            Dictionary<Expression, CallSiteInfo> IInterpretedScriptCode.CallSites {
-                get {
-                    if (_callSites == null) {
-                        Interlocked.CompareExchange(ref _callSites, new Dictionary<Expression, CallSiteInfo>(), null);
-                    }
-
-                    return _callSites;
-                }
-            }
-
-            private readonly LambdaExpression _code;
-            private readonly SourceUnit _source;
-
-            public Evaled(LambdaExpression code, SourceUnit source) {
-                _code = code;
-                _source = source;
-            }
-        }
-        
-        // call sites allocated for the tree:
-        private Dictionary<Expression, CallSiteInfo> _callSites;
-
-        SourceUnit IInterpretedScriptCode.SourceUnit {
-            get { return SourceUnit; }
-        }
-
-        LambdaExpression IInterpretedScriptCode.Code {
-            get { return _code; }
-        }
-
-        Dictionary<Expression, CallSiteInfo> IInterpretedScriptCode.CallSites {
-            get {
-                if (_callSites == null) {
-                    Interlocked.CompareExchange(ref _callSites, new Dictionary<Expression, CallSiteInfo>(), null);
-                }
-
-                return _callSites;
-            }
-        }
-
-        internal bool HasCallSites {
-            get { return _callSites != null; }
-        }
-
-        #endregion
-
         private static bool _HasPdbPermissions = true;
 
         internal static T/*!*/ CompileLambda<T>(Expression<T>/*!*/ lambda, bool debugMode) {
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyUtils.cs;C846693
File: RubyUtils.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyUtils.cs;C846693  (server)    5/1/2009 4:49 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyUtils.cs;InterpreterFixAndRemoval
@@ -23,7 +23,6 @@
 using System.Threading;
 using Microsoft.Scripting;
 using Microsoft.Scripting.Actions;
-using Microsoft.Scripting.Interpretation;
 using Microsoft.Scripting.Runtime;
 using Microsoft.Scripting.Utils;
 using IronRuby.Builtins;
@@ -598,25 +597,14 @@
                 targetScope = CreateModuleEvalScope(targetScope, self, module);
             }
 
-            if (context.RubyOptions.InterpretedMode) {
-                return Interpreter.TopLevelExecute(new RubyScriptCode.Evaled(lambda, source),
-                    targetScope,
-                    self,
-                    module,
-                    blockParameter,
-                    methodDefinition,
-                    targetScope.RuntimeFlowControl
-                );
-            } else {
-                return RubyScriptCode.CompileLambda(lambda, context.DomainManager.Configuration.DebugMode)(
-                    targetScope,
-                    self,
-                    module,
-                    blockParameter,
-                    methodDefinition,
-                    targetScope.RuntimeFlowControl
-                );
-            }
+            return RubyScriptCode.CompileLambda(lambda, context.DomainManager.Configuration.DebugMode)(
+                targetScope,
+                self,
+                module,
+                blockParameter,
+                methodDefinition,
+                targetScope.RuntimeFlowControl
+            );
         }
 
         private static RubyModuleScope/*!*/ CreateModuleEvalScope(RubyScope/*!*/ parent, object self, RubyModule module) {
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/common.rb;C853491
File: common.rb
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/common.rb;C853491  (server)    5/1/2009 4:57 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Tests/common.rb;InterpreterFixAndRemoval
@@ -138,7 +138,7 @@
         attr_reader :mode
         
         @@mode_mapping = {
-            1 => "-D -X:Interpret",
+            1 => "-D",
             2 => "",
             3 => "-D -X:SaveAssemblies",
         }
===================================================================
