|
Authored by: PolR on Tuesday, May 15 2012 @ 01:53 PM EDT |
The symbolic references you mention cannot be the ones mentioned by the patent
claim. They are never embedded inline in running executable code as the patent
requires.
The unanswered question is how does a symbolic reference embedded into running
code looks like.[ Reply to This | Parent | # ]
|
|
Authored by: bugstomper on Tuesday, May 15 2012 @ 04:34 PM EDT |
I'm not sure what you are missing about what I said - I know I used too many
words to be clear - but here is the short form of what I found in the code:
The iget instruction looks like iget vx,vy,field_id to load register vx with the
contents of field field_id of instance vy. The field_id is a number, e.g. 1,
written in the source code as Field@0001. What that would refer to is entry
number 1 of the Field Table. The byte code of that instruction is something like
5210 0100.
That instruction is referring to the first entry of the field table. In some
languages you could write that as FieldTable[1], where FieldTable is an array of
structs (to use C terminology), the struct having three fields. The first field
is a pointer to a Class object, which contains information about the class of
the instance whose field is being loaded. The second field is a pointer to a
string that is the symbolic name of the field. Actually instead of pointers
these are indices into tables of constants, but same idea.
So the iget vx,vy,1 means iget vx,vy,FieldTable[1] which is processed by looking
at FieldTable[1].name which is string with value "foo" then going to
the Class object at FieldTable[1].class and doing a linear search of its list of
fields doing string comparisons until it finds a field in that class with name
"foo".
That is what I found in the code I looked at. It is symbol resolution. It is
done by dexopt at installation time, not run time, as part of static linking,
not dynamic linking.
The patent claims talk about instructions that contain or have symbolic
references. It is a matter of claim construction, which the Court has not
addressed and which may now be a matter of argument between Oracle and Google,
whether an instruction of the form iget vx,vy,1 where the 1 is an index in an
array whose first element is a struct whose second field is a pointer to string
"foo" and is a symbolic reference to instance field named foo counts
as an instruction that contains a symbolic reference. The argument for calling
that an instruction containing a symbolic reference is that pretty much all
machine instruction sets, virtual or otherwise, would put a pointer to a string
in a machine instruction, not the string itself. The argument for insisting that
the instruction has to actually have the symbol is the plain language of the
patent claim and the example in figure 8 that shows LOAD "y" being
changed to LOAD 2.
[ Reply to This | Parent | # ]
|
|
|
|
|