GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name.

git-svn-id: svn://10.0.0.236/trunk@73410 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
beard%netscape.com 2000-06-28 16:13:12 +00:00
parent 05cbd424c7
commit c616ad04eb
4 changed files with 42 additions and 42 deletions

View File

@ -165,20 +165,20 @@ $ops{"SET_SLOT"} =
$ops{"GET_STATIC"} =
{
super => "Instruction_3",
rem => "dest, class, name",
params => [ ("TypedRegister", "JSClass*", "const StringAtom*") ]
rem => "dest, class, index",
params => [ ("TypedRegister", "JSClass*", "uint32") ]
};
$ops{"SET_STATIC"} =
{
super => "Instruction_3",
rem => "class, name, source",
params => [ ("JSClass*", "const StringAtom*", "TypedRegister") ]
rem => "class, index, source",
params => [ ("JSClass*", "uint32", "TypedRegister") ]
};
$ops{"STATIC_XCR"} =
{
super => "Instruction_4",
rem => "dest, class, name, value",
params => [ ("TypedRegister", "JSClass*", "const StringAtom*", "double") ]
rem => "dest, class, index, value",
params => [ ("TypedRegister", "JSClass*", "uint32", "double") ]
};
$ops{"SLOT_XCR"} =
{

View File

@ -643,14 +643,14 @@ namespace VM {
}
};
class GetStatic : public Instruction_3<TypedRegister, JSClass*, const StringAtom*> {
class GetStatic : public Instruction_3<TypedRegister, JSClass*, uint32> {
public:
/* dest, class, name */
GetStatic (TypedRegister aOp1, JSClass* aOp2, const StringAtom* aOp3) :
Instruction_3<TypedRegister, JSClass*, const StringAtom*>
/* dest, class, index */
GetStatic (TypedRegister aOp1, JSClass* aOp2, uint32 aOp3) :
Instruction_3<TypedRegister, JSClass*, uint32>
(GET_STATIC, aOp1, aOp2, aOp3) {};
virtual Formatter& print(Formatter& f) {
f << opcodeNames[GET_STATIC] << "\t" << "R" << mOp1.first << ", " << *mOp2 << ", " << "'" << *mOp3 << "'";
f << opcodeNames[GET_STATIC] << "\t" << "R" << mOp1.first << ", " << "'" << *mOp2 << "'" << ", " << mOp3;
return f;
}
virtual Formatter& printOperands(Formatter& f, const JSValues& registers) {
@ -1075,14 +1075,14 @@ namespace VM {
}
};
class SetStatic : public Instruction_3<JSClass*, const StringAtom*, TypedRegister> {
class SetStatic : public Instruction_3<JSClass*, uint32, TypedRegister> {
public:
/* class, name, source */
SetStatic (JSClass* aOp1, const StringAtom* aOp2, TypedRegister aOp3) :
Instruction_3<JSClass*, const StringAtom*, TypedRegister>
/* class, index, source */
SetStatic (JSClass* aOp1, uint32 aOp2, TypedRegister aOp3) :
Instruction_3<JSClass*, uint32, TypedRegister>
(SET_STATIC, aOp1, aOp2, aOp3) {};
virtual Formatter& print(Formatter& f) {
f << opcodeNames[SET_STATIC] << "\t" << *mOp1 << ", " << "'" << *mOp2 << "'" << ", " << "R" << mOp3.first;
f << opcodeNames[SET_STATIC] << "\t" << "'" << *mOp1 << "'" << ", " << mOp2 << ", " << "R" << mOp3.first;
return f;
}
virtual Formatter& printOperands(Formatter& f, const JSValues& registers) {
@ -1125,14 +1125,14 @@ namespace VM {
}
};
class StaticXcr : public Instruction_4<TypedRegister, JSClass*, const StringAtom*, double> {
class StaticXcr : public Instruction_4<TypedRegister, JSClass*, uint32, double> {
public:
/* dest, class, name, value */
StaticXcr (TypedRegister aOp1, JSClass* aOp2, const StringAtom* aOp3, double aOp4) :
Instruction_4<TypedRegister, JSClass*, const StringAtom*, double>
/* dest, class, index, value */
StaticXcr (TypedRegister aOp1, JSClass* aOp2, uint32 aOp3, double aOp4) :
Instruction_4<TypedRegister, JSClass*, uint32, double>
(STATIC_XCR, aOp1, aOp2, aOp3, aOp4) {};
virtual Formatter& print(Formatter& f) {
f << opcodeNames[STATIC_XCR] << "\t" << "R" << mOp1.first << ", " << *mOp2 << ", " << "'" << *mOp3 << "'" << ", " << mOp4;
f << opcodeNames[STATIC_XCR] << "\t" << "R" << mOp1.first << ", " << "'" << *mOp2 << "'" << ", " << mOp3 << ", " << mOp4;
return f;
}
virtual Formatter& printOperands(Formatter& f, const JSValues& registers) {

View File

@ -643,14 +643,14 @@ namespace VM {
}
};
class GetStatic : public Instruction_3<TypedRegister, JSClass*, const StringAtom*> {
class GetStatic : public Instruction_3<TypedRegister, JSClass*, uint32> {
public:
/* dest, class, name */
GetStatic (TypedRegister aOp1, JSClass* aOp2, const StringAtom* aOp3) :
Instruction_3<TypedRegister, JSClass*, const StringAtom*>
/* dest, class, index */
GetStatic (TypedRegister aOp1, JSClass* aOp2, uint32 aOp3) :
Instruction_3<TypedRegister, JSClass*, uint32>
(GET_STATIC, aOp1, aOp2, aOp3) {};
virtual Formatter& print(Formatter& f) {
f << opcodeNames[GET_STATIC] << "\t" << "R" << mOp1.first << ", " << *mOp2 << ", " << "'" << *mOp3 << "'";
f << opcodeNames[GET_STATIC] << "\t" << "R" << mOp1.first << ", " << "'" << *mOp2 << "'" << ", " << mOp3;
return f;
}
virtual Formatter& printOperands(Formatter& f, const JSValues& registers) {
@ -1075,14 +1075,14 @@ namespace VM {
}
};
class SetStatic : public Instruction_3<JSClass*, const StringAtom*, TypedRegister> {
class SetStatic : public Instruction_3<JSClass*, uint32, TypedRegister> {
public:
/* class, name, source */
SetStatic (JSClass* aOp1, const StringAtom* aOp2, TypedRegister aOp3) :
Instruction_3<JSClass*, const StringAtom*, TypedRegister>
/* class, index, source */
SetStatic (JSClass* aOp1, uint32 aOp2, TypedRegister aOp3) :
Instruction_3<JSClass*, uint32, TypedRegister>
(SET_STATIC, aOp1, aOp2, aOp3) {};
virtual Formatter& print(Formatter& f) {
f << opcodeNames[SET_STATIC] << "\t" << *mOp1 << ", " << "'" << *mOp2 << "'" << ", " << "R" << mOp3.first;
f << opcodeNames[SET_STATIC] << "\t" << "'" << *mOp1 << "'" << ", " << mOp2 << ", " << "R" << mOp3.first;
return f;
}
virtual Formatter& printOperands(Formatter& f, const JSValues& registers) {
@ -1125,14 +1125,14 @@ namespace VM {
}
};
class StaticXcr : public Instruction_4<TypedRegister, JSClass*, const StringAtom*, double> {
class StaticXcr : public Instruction_4<TypedRegister, JSClass*, uint32, double> {
public:
/* dest, class, name, value */
StaticXcr (TypedRegister aOp1, JSClass* aOp2, const StringAtom* aOp3, double aOp4) :
Instruction_4<TypedRegister, JSClass*, const StringAtom*, double>
/* dest, class, index, value */
StaticXcr (TypedRegister aOp1, JSClass* aOp2, uint32 aOp3, double aOp4) :
Instruction_4<TypedRegister, JSClass*, uint32, double>
(STATIC_XCR, aOp1, aOp2, aOp3, aOp4) {};
virtual Formatter& print(Formatter& f) {
f << opcodeNames[STATIC_XCR] << "\t" << "R" << mOp1.first << ", " << *mOp2 << ", " << "'" << *mOp3 << "'" << ", " << mOp4;
f << opcodeNames[STATIC_XCR] << "\t" << "R" << mOp1.first << ", " << "'" << *mOp2 << "'" << ", " << mOp3 << ", " << mOp4;
return f;
}
virtual Formatter& printOperands(Formatter& f, const JSValues& registers) {

View File

@ -165,20 +165,20 @@ $ops{"SET_SLOT"} =
$ops{"GET_STATIC"} =
{
super => "Instruction_3",
rem => "dest, class, name",
params => [ ("TypedRegister", "JSClass*", "const StringAtom*") ]
rem => "dest, class, index",
params => [ ("TypedRegister", "JSClass*", "uint32") ]
};
$ops{"SET_STATIC"} =
{
super => "Instruction_3",
rem => "class, name, source",
params => [ ("JSClass*", "const StringAtom*", "TypedRegister") ]
rem => "class, index, source",
params => [ ("JSClass*", "uint32", "TypedRegister") ]
};
$ops{"STATIC_XCR"} =
{
super => "Instruction_4",
rem => "dest, class, name, value",
params => [ ("TypedRegister", "JSClass*", "const StringAtom*", "double") ]
rem => "dest, class, index, value",
params => [ ("TypedRegister", "JSClass*", "uint32", "double") ]
};
$ops{"SLOT_XCR"} =
{