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:
parent
05cbd424c7
commit
c616ad04eb
@ -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"} =
|
||||
{
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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"} =
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user