The "memory" mentioned in the claim, is the place where the results of the
simulated bytecodes would be stored during the simulation. In other words, its
a temporary container to hold the array contents, as they are assembled.
The
stack part, is not mentioned in the patent claims, and only comes into the
picture because Google was accused of infringing this patent with some code (in
the dex tool) that processes Java bytecode instructions as input. The
claims require "simulating execution" of the instructions which make up the
array initialization code.
Now Java bytecodes are stack-based, so
"simulating execution" of them requires a model of the Java VM stack. (It
doesn't require an actual stack, but it does require something that can keep
track of the stack manipulations as they are simulated).
Android's code, in
fact, contains such a stack-based simulation module for Java bytecodes. But it
is used everywhere except in this array initialization. The experiment
done by one of Google's experts, was to instrument the stack manipulation code
in this tool so it printed out messages. He used this to demonstrate that this
simulation code was not used at all to collect up the optimized contents
of the array. This confirmed what Google's witnesses were saying: that the dex
tool does not use simulated execution to do this optimization, but
instead uses the simpler technique of pattern-matching. [ Reply to This | Parent | # ]
|