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 ]