On Mon, Nov 28, 2005 at 01:16:49PM -0500, Will Coleda wrote:
> With patches from myself (to tcl) and leo (to parrot), partcl is once  
> again passing 100% of the tests, using PDD20.

Yay!

> The biggest hurdle was having some arbitrary (non :lex-ified) parrot  
> sub issue our find_lex and store_lex for us to ease transition. As  
> more of tcl becomes compiled, we can probably eliminate this code  
> path entirely, but that's a ways off.

Yow.  The below code looks a bunch like what the find_lex opcode is
supposed to do.  What made it necessary?

> .sub find_lex_pdd20
>   .param string variable_name
> 
>   .local pmc interp, lexpad, variable
>   .local int depth
>   interp = getinterp
>   depth = 2 # we know it's not us or our direct caller.
> 
> get_lexpad:
>   # Is there a lexpad at this depth?
>   lexpad = interp["lexpad";depth]
>   unless_null lexpad, got_lexpad
> 
>   # try again
>   inc depth
>   goto get_lexpad
> got_lexpad:
>   variable = lexpad[variable_name]
>   .return(variable)
> .end
> 
> 

-- 
Chip Salzenberg <[EMAIL PROTECTED]>

Reply via email to