[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev-en:213

From: Charles Oliver Nutter <charles.nutter sun.com>
Date: Wed, 25 Oct 2006 06:35:02 -0500
Subject: [yarv-dev-en:213] Questions about instruction set

1. What do getspecial/setspecial manipulate in the VM? I understand the 
other get/set instructions.
2. I see that getdynamic/setdynamic take idx and level. I assume this 
means that in YARV block variable scoping is determined statically. We 
have planned to make this change in JRuby as well. Am I correct about 
how this works?
3. If I am correct in #2, Is the level zero-based? Is the first 
(topmost) block index zero, and the first nested block inside it index 1?
4. What is the declp operand to setclassvariable?
5. I see putnil and putself. Why no puttrue, putfalse, as in the 1.8 AST?
6. putundef takes no operands and returns a val; what does it do, and 
what is it returning?
7. putobject pushes an object on the stack, correct? Is pushstring just 
doing the same thing with a string value? What's the difference between 
putobject with a string val and putstring with a string val?
8. I assume concatstrings concatenates the topmost "num" strings from 
the stack and pushes the result back. Is the topmost string the base 
(leftmost) string for concatenation? I.e. does the first string popped 
sit at the front of the resulting string?
9. Shouldn't duparray take an array from the top of the stack and push 
it and a copy back down? Online it looks like it takes an array operand, 
which seems odd.
10. What is the difference between expandarray and splatarray? Is 
expandarray equivalent to multi-assignment in 1.8? Does num specify the 
number of values to multi-assign? What is flag for?
11. I assume concatarray and checkincludearray are for internal use and 
not used directly as the implementation of Array#include? and Array#<< 
or concat, correct?
12. newhash pulls keys/values off the stack. What is the sequence of 
keys and values?
13. When the "stack" column on the YARV instruction table lists multiple 
elements, is the top of the stack on the left or right?
14. Is there a specification for the format of a compiled YARV script? I 
would like to start generating some test scripts and building a machine 
to execute them.

That is all for now.

-- 
Charles Oliver Nutter, JRuby Core Developer
headius headius.com -- charles.nutter sun.com
Blogging at headius.blogspot.com

--
ML: yarv-dev-en quickml.atdot.net
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

->     213 2006-10-25 20:35 [charles.nutter sun.c] Questions about instruction set         
       214 2006-10-25 21:35 ┗[ko1 atdot.net       ]                                       
       221 2006-10-26 12:05  ┗[charles.nutter sun.c]                                     
       225 2006-10-26 18:02   ┗[ko1 atdot.net       ]