version 1.3, 2009/12/16 15:17:07
|
version 1.4, 2010/02/16 11:06:01
|
|
|
const SCMOInstance& inst, | const SCMOInstance& inst, |
Uint32 idx) | Uint32 idx) |
{ | { |
SCMOResolutionTable tableEntry; |
SCMOResolutionTable tableEntry = { (Uint64)(void*)&inst, idx}; |
|
|
tableEntry.scmbptr = (Uint64)(void*)&inst; |
|
tableEntry.index = idx; |
|
|
|
_instResolverTable.append(tableEntry); | _instResolverTable.append(tableEntry); |
| |
// The number of elements in the array minus 1 is the index position | // The number of elements in the array minus 1 is the index position |
|
|
| |
| |
// Now build a new entry for the class resolution table | // Now build a new entry for the class resolution table |
SCMOResolutionTable tableEntry; |
SCMOResolutionTable tableEntry = {(Uint64)(void*)inst.inst.hdr, clsIdx}; |
|
|
tableEntry.scmbptr = (Uint64)(void*)inst.inst.hdr; |
|
tableEntry.index = clsIdx; |
|
|
|
_clsResolverTable.append(tableEntry); | _clsResolverTable.append(tableEntry); |
| |
// The number of elements in the array minus 1 is the index position | // The number of elements in the array minus 1 is the index position |
|
|
fprintf(stderr,"INSTANCES:\n"); | fprintf(stderr,"INSTANCES:\n"); |
for (Uint32 x=0; x < _clsResolverTable.size(); x++) | for (Uint32 x=0; x < _clsResolverTable.size(); x++) |
{ | { |
fprintf(stderr,"\t[%2d] I = %llx - cls = %2d\n", |
fprintf(stderr,"\t[%2d] I = %llx - cls = %2lld\n", |
x, | x, |
_clsResolverTable[x].scmbptr, | _clsResolverTable[x].scmbptr, |
_clsResolverTable[x].index); | _clsResolverTable[x].index); |
|
|
fprintf(stderr,"INSTANCE REFERENCES:\n"); | fprintf(stderr,"INSTANCE REFERENCES:\n"); |
for (Uint32 x=0; x < _instResolverTable.size(); x++) | for (Uint32 x=0; x < _instResolverTable.size(); x++) |
{ | { |
fprintf(stderr,"\t[%2d] R = %llx - I = %2d\n", |
fprintf(stderr,"\t[%2d] R = %llx - I = %2lld\n", |
x, | x, |
_instResolverTable[x].scmbptr, | _instResolverTable[x].scmbptr, |
_instResolverTable[x].index); | _instResolverTable[x].index); |