Re: [jruby-dev] IR: push/pop binding and variable load/stores

2014-01-31 Thread Thomas E Enebo
I will convert %block and %self to be temporary variables this weekend. It is arguable whether we need these to be variables at all but making them temp vars will eliminate any issues with binding var stuff. -Tom On Fri, Jan 31, 2014 at 9:55 AM, Subramanya Sastry wrote: > >3 %t_%block_1 =

Re: [jruby-dev] IR: push/pop binding and variable load/stores

2014-01-31 Thread Subramanya Sastry
> 3 %t_%block_1 = recv_closure >> > > This is only used to receive "&blk" arg which is a Proc and hence an > IRubyObject. > > I was baffled for a bit as well how the Interpreter works on this and > realized what was going on when I looked at how this instr. is interpreted. > result = (block == B

Re: [jruby-dev] IR: push/pop binding and variable load/stores

2014-01-31 Thread Subramanya Sastry
On Fri, Jan 31, 2014 at 5:56 AM, Charles Oliver Nutter wrote: > Ok, so I got frame push/pop working and wanted to move on to binding. > I was under the impression that push/pop binding was basically for > pushing/popping a DynamicScope, but it seems like it's more than that. > > For the following

[jruby-dev] IR: push/pop binding and variable load/stores

2014-01-31 Thread Charles Oliver Nutter
Ok, so I got frame push/pop working and wanted to move on to binding. I was under the impression that push/pop binding was basically for pushing/popping a DynamicScope, but it seems like it's more than that. For the following code: def foo; a = 1; eval 'p a'; end We get these linearized instructi