Dear Chiba,
I'll try it with javassist 3 next week and I will post results. Nevertheless I'm 
running the posted code oisver jvm 1.4.1 and 1.4.2, thus I don't believe that 
duplicated fields are due to a bug.
What I'd like to understand is how javassist adds a new field. I read an old article 
from Gosling, "Oak Intermediate bytecode" (ACM SIGPLAN workshop 95) where it talks 
about the Oak/Java  method to access variables. Supposing it is still valid, variables 
are not accessed thru an offset but trhu a two level offset: first the symbol table is 
queried and then the access is done at the offset contained in the symbolic table for 
the specified variable. This means that duplicated variables can exists in a class 
file, since it suffices to use different symbolic table entries and offsets. This is 
the theory. As you stated, the bytecode verifier should check for this, but if the 
bytecode has been rightly produced, thus variable are not considered as duplicated but 
as different variables with the same name, it has no chance to find it out!
Now hod does javassit add a new ctfield? I believe it appends a new entry to what will 
be the symbolic table, isn't it? Can you explain me?

Thanks,
Luca

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3835824#3835824

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3835824


-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to