more changes.
1) changes on the definitely written analysis: it only takes care about locations that are written to inside of the SSJava loop 2) bug fix on the definitely written analysis: static method doesn't have implicit 'this' argument. 3) add a set of static functions that initialize array elements 4) changes on mp3decoder: move init() method out of SSJava loop and start to use SSJava array init method
more changes to pass the flow-down rule
mp3decoder compiled by our research compiler produces the same output that I get from the mp3decoder compiled by OpenJDK. But SS checking was turned off, so still need to have more annotations/code changes to get desired properties, linear-type and ss.
changes.
adds 'nativeavailable()' and 'read(buf,offset,len)' methods into FileInputStream. 'nativeavailable' returns the number of bytes that can be read from the current file. 'read(buf,offset,len)' reads up to 'len' bytes from the current file with the start offset to the destination array buf.