# Code Review: Interpret1

**URL:** <https://www.ruby-forum.com/t/code-review-interpret1/141564>\
**Category:** IronRuby\
**Created:** [June 27, 2008, 3:12am UTC](https://www.ruby-forum.com/t/code-review-interpret1/141564 "2008-06-27T03:12:12Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![grujildo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/94ad74/32.png) [@grujildo](https://www.ruby-forum.com/u/grujildo)\
**Post date:** [June 27, 2008, 3:12am UTC](https://www.ruby-forum.com/t/code-review-interpret1/141564/1 "2008-06-27T03:12:12Z")

</div>

tfpt review “/shelveset:Interpret1;REDMOND\tomat”

Microsoft.Scripting:  
Fixes variable lookup and evaluation of OrExpression in interpreter.  
Reduces amount of generated code during interpretation by using  
generic methods for delegate targets in LambdaInvoker. New methods are  
generated only if a signature that doesn’t match any of the generic  
methods is needed.  
Adds InterpretedScriptCode that derives from ScriptCode and runs  
interpreter instead of compiler.

Ruby:  
Uses InterpretedScriptCode.  
Modifies test runner to run interpreted mode and also to measure time.  
Removes calls to obsolete Ast.RuntimeConstant.

Tomas

---

<div class="post-metadata">

**Author:** ![grujildo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/94ad74/32.png) [@grujildo](https://www.ruby-forum.com/u/grujildo)\
**Post date:** [June 27, 2008, 8:38am UTC](https://www.ruby-forum.com/t/code-review-interpret1/141564/2 "2008-06-27T08:38:45Z")

</div>

I need to double check tomorrow, but I believe the SNAP runs -fast and  
-checkin from run.rb (common.rb is used by run.rb), so your current  
changes might break SNAP.

* * *

From: Tomas M.  
Sent: Thursday, June 26, 2008 6:11 PM  
To: IronRuby External Code R.; Rowan Code R.; DLR Code  
Reviews  
Cc: removed\_email\_address@domain.invalid  
Subject: Code Review: Interpret1

tfpt review “/shelveset:Interpret1;REDMOND\tomat”

Microsoft.Scripting:  
Fixes variable lookup and evaluation of OrExpression in interpreter.  
Reduces amount of generated code during interpretation by using  
generic methods for delegate targets in LambdaInvoker. New methods are  
generated only if a signature that doesn’t match any of the generic  
methods is needed.  
Adds InterpretedScriptCode that derives from ScriptCode and runs  
interpreter instead of compiler.

Ruby:  
Uses InterpretedScriptCode.  
Modifies test runner to run interpreted mode and also to measure time.  
Removes calls to obsolete Ast.RuntimeConstant.

Tomas

---

<div class="post-metadata">

**Author:** ![grujildo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/94ad74/32.png) [@grujildo](https://www.ruby-forum.com/u/grujildo)\
**Post date:** [June 27, 2008, 10:39pm UTC](https://www.ruby-forum.com/t/code-review-interpret1/141564/3 "2008-06-27T22:39:59Z")

</div>

I was right. We are running -fast and -checkin in SNAP. Tomas, could you  
undo the test changes, and I’ll get them running under all three modes?

JD
