|
From: <fra...@us...> - 2009-05-22 05:20:36
|
Revision: 1543
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1543&view=rev
Author: frankrimlinger
Date: 2009-05-22 05:20:26 +0000 (Fri, 22 May 2009)
Log Message:
-----------
Stated porting the so-called "commuting clinits", which are classes non-final static fields. The reason they are called commuting is that their invocation may commute backwards past all instructions other that InvokeClinit, back to the beginning of time, if any. The only issue is to get them to fire in the correct order. In practice this scheme is almost never used, because it is just easier to reason more abstractly about such data. In particular, final stuff is much easier to punch in with rewrite rules. But having come this far, might as well support commuting clinits.
There is a big hole in all this, in that we don't know for unmodelled methods what clinits they potentially may fire and in what order. To really do this right, we need to store this information in the rulebase. This is too much work for now, but must be done some day. Or not. Maybe this idea is just lousy.
Modified Paths:
--------------
branches/mango/MangoJPF/Mango/src/mango/worker/Worker.java
branches/mango/MangoJPF/Mango/src/mango/worker/byteCodeModel/Linker.java
branches/mango/MangoJPF/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashEngine.java
branches/mango/MangoJPF/Mango/src/mango/worker/mangoModel/backupAlg/BackupAlg.java
branches/mango/MangoJPF/javapathfinder-mango-bridge/mango/scanner/ClassUtil.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|