mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-14 20:22:00 +00:00
moved all machine generated classes, etc. to icode.h.
This commit is contained in:
parent
2a451cdd8b
commit
486b437613
@ -37,77 +37,79 @@
|
|||||||
namespace JavaScript {
|
namespace JavaScript {
|
||||||
namespace VM {
|
namespace VM {
|
||||||
|
|
||||||
using namespace JSTypes;
|
using namespace JSTypes;
|
||||||
|
|
||||||
Formatter& operator<< (Formatter& f, Instruction& i)
|
|
||||||
{
|
|
||||||
return i.print(f);
|
|
||||||
}
|
|
||||||
|
|
||||||
Formatter& operator<< (Formatter& f, RegisterList& rl)
|
|
||||||
{
|
|
||||||
TypedRegister* e = rl.end();
|
|
||||||
|
|
||||||
f << "(";
|
|
||||||
for (RegisterList::iterator r = rl.begin(); r != e; r++) {
|
|
||||||
f << "R" << r->first;
|
|
||||||
if ((r + 1) != e)
|
|
||||||
f << ", ";
|
|
||||||
}
|
|
||||||
f << ")";
|
|
||||||
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
Formatter& operator<< (Formatter& f, const ArgList& al)
|
#define OPCODE_NAMES
|
||||||
{
|
#include "icode.h"
|
||||||
const RegisterList& rl = al.mList;
|
|
||||||
const JSValues& registers = al.mRegisters;
|
Formatter& operator<< (Formatter& f, Instruction& i)
|
||||||
f << "(";
|
{
|
||||||
RegisterList::const_iterator i = rl.begin(), e = rl.end();
|
return i.print(f);
|
||||||
if (i != e) {
|
}
|
||||||
TypedRegister r = *i++;
|
|
||||||
f << "R" << r.first << '=' << registers[r.first];
|
Formatter& operator<< (Formatter& f, RegisterList& rl)
|
||||||
while (i != e) {
|
{
|
||||||
r = *i++;
|
TypedRegister* e = rl.end();
|
||||||
f << ", R" << r.first << '=' << registers[r.first];
|
|
||||||
|
f << "(";
|
||||||
|
for (RegisterList::iterator r = rl.begin(); r != e; r++) {
|
||||||
|
f << "R" << r->first;
|
||||||
|
if ((r + 1) != e)
|
||||||
|
f << ", ";
|
||||||
|
}
|
||||||
|
f << ")";
|
||||||
|
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
Formatter& operator<< (Formatter& f, const ArgList& al)
|
||||||
|
{
|
||||||
|
const RegisterList& rl = al.mList;
|
||||||
|
const JSValues& registers = al.mRegisters;
|
||||||
|
f << "(";
|
||||||
|
RegisterList::const_iterator i = rl.begin(), e = rl.end();
|
||||||
|
if (i != e) {
|
||||||
|
TypedRegister r = *i++;
|
||||||
|
f << "R" << r.first << '=' << registers[r.first];
|
||||||
|
while (i != e) {
|
||||||
|
r = *i++;
|
||||||
|
f << ", R" << r.first << '=' << registers[r.first];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
f << ")";
|
||||||
|
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
Formatter& operator<< (Formatter &f, InstructionStream &is)
|
||||||
|
{
|
||||||
|
|
||||||
|
for (InstructionIterator i = is.begin();
|
||||||
|
i != is.end(); i++) {
|
||||||
|
/*
|
||||||
|
bool isLabel = false;
|
||||||
|
|
||||||
|
for (LabelList::iterator k = labels.begin();
|
||||||
|
k != labels.end(); k++)
|
||||||
|
if ((ptrdiff_t)(*k)->mOffset == (i - is.begin())) {
|
||||||
|
f << "#" << (uint32)(i - is.begin()) << "\t";
|
||||||
|
isLabel = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
f << ")";
|
if (!isLabel)
|
||||||
|
f << "\t";
|
||||||
return f;
|
|
||||||
|
f << **i << "\n";
|
||||||
|
*/
|
||||||
|
|
||||||
|
printFormat(stdOut, "%04u", (uint32)(i - is.begin()));
|
||||||
|
f << ": " << **i << "\n";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Formatter& operator<< (Formatter &f, InstructionStream &is)
|
return f;
|
||||||
{
|
}
|
||||||
|
|
||||||
for (InstructionIterator i = is.begin();
|
|
||||||
i != is.end(); i++) {
|
|
||||||
/*
|
|
||||||
bool isLabel = false;
|
|
||||||
|
|
||||||
for (LabelList::iterator k = labels.begin();
|
|
||||||
k != labels.end(); k++)
|
|
||||||
if ((ptrdiff_t)(*k)->mOffset == (i - is.begin())) {
|
|
||||||
f << "#" << (uint32)(i - is.begin()) << "\t";
|
|
||||||
isLabel = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isLabel)
|
|
||||||
f << "\t";
|
|
||||||
|
|
||||||
f << **i << "\n";
|
|
||||||
*/
|
|
||||||
|
|
||||||
printFormat(stdOut, "%04u", (uint32)(i - is.begin()));
|
|
||||||
f << ": " << **i << "\n";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
} /* namespace VM */
|
} /* namespace VM */
|
||||||
} /* namespace JavaScript */
|
} /* namespace JavaScript */
|
||||||
|
1066
js/js2/vmtypes.h
1066
js/js2/vmtypes.h
File diff suppressed because it is too large
Load Diff
@ -37,77 +37,79 @@
|
|||||||
namespace JavaScript {
|
namespace JavaScript {
|
||||||
namespace VM {
|
namespace VM {
|
||||||
|
|
||||||
using namespace JSTypes;
|
using namespace JSTypes;
|
||||||
|
|
||||||
Formatter& operator<< (Formatter& f, Instruction& i)
|
|
||||||
{
|
|
||||||
return i.print(f);
|
|
||||||
}
|
|
||||||
|
|
||||||
Formatter& operator<< (Formatter& f, RegisterList& rl)
|
|
||||||
{
|
|
||||||
TypedRegister* e = rl.end();
|
|
||||||
|
|
||||||
f << "(";
|
|
||||||
for (RegisterList::iterator r = rl.begin(); r != e; r++) {
|
|
||||||
f << "R" << r->first;
|
|
||||||
if ((r + 1) != e)
|
|
||||||
f << ", ";
|
|
||||||
}
|
|
||||||
f << ")";
|
|
||||||
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
Formatter& operator<< (Formatter& f, const ArgList& al)
|
#define OPCODE_NAMES
|
||||||
{
|
#include "icode.h"
|
||||||
const RegisterList& rl = al.mList;
|
|
||||||
const JSValues& registers = al.mRegisters;
|
Formatter& operator<< (Formatter& f, Instruction& i)
|
||||||
f << "(";
|
{
|
||||||
RegisterList::const_iterator i = rl.begin(), e = rl.end();
|
return i.print(f);
|
||||||
if (i != e) {
|
}
|
||||||
TypedRegister r = *i++;
|
|
||||||
f << "R" << r.first << '=' << registers[r.first];
|
Formatter& operator<< (Formatter& f, RegisterList& rl)
|
||||||
while (i != e) {
|
{
|
||||||
r = *i++;
|
TypedRegister* e = rl.end();
|
||||||
f << ", R" << r.first << '=' << registers[r.first];
|
|
||||||
|
f << "(";
|
||||||
|
for (RegisterList::iterator r = rl.begin(); r != e; r++) {
|
||||||
|
f << "R" << r->first;
|
||||||
|
if ((r + 1) != e)
|
||||||
|
f << ", ";
|
||||||
|
}
|
||||||
|
f << ")";
|
||||||
|
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
Formatter& operator<< (Formatter& f, const ArgList& al)
|
||||||
|
{
|
||||||
|
const RegisterList& rl = al.mList;
|
||||||
|
const JSValues& registers = al.mRegisters;
|
||||||
|
f << "(";
|
||||||
|
RegisterList::const_iterator i = rl.begin(), e = rl.end();
|
||||||
|
if (i != e) {
|
||||||
|
TypedRegister r = *i++;
|
||||||
|
f << "R" << r.first << '=' << registers[r.first];
|
||||||
|
while (i != e) {
|
||||||
|
r = *i++;
|
||||||
|
f << ", R" << r.first << '=' << registers[r.first];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
f << ")";
|
||||||
|
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
Formatter& operator<< (Formatter &f, InstructionStream &is)
|
||||||
|
{
|
||||||
|
|
||||||
|
for (InstructionIterator i = is.begin();
|
||||||
|
i != is.end(); i++) {
|
||||||
|
/*
|
||||||
|
bool isLabel = false;
|
||||||
|
|
||||||
|
for (LabelList::iterator k = labels.begin();
|
||||||
|
k != labels.end(); k++)
|
||||||
|
if ((ptrdiff_t)(*k)->mOffset == (i - is.begin())) {
|
||||||
|
f << "#" << (uint32)(i - is.begin()) << "\t";
|
||||||
|
isLabel = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
f << ")";
|
if (!isLabel)
|
||||||
|
f << "\t";
|
||||||
return f;
|
|
||||||
|
f << **i << "\n";
|
||||||
|
*/
|
||||||
|
|
||||||
|
printFormat(stdOut, "%04u", (uint32)(i - is.begin()));
|
||||||
|
f << ": " << **i << "\n";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Formatter& operator<< (Formatter &f, InstructionStream &is)
|
return f;
|
||||||
{
|
}
|
||||||
|
|
||||||
for (InstructionIterator i = is.begin();
|
|
||||||
i != is.end(); i++) {
|
|
||||||
/*
|
|
||||||
bool isLabel = false;
|
|
||||||
|
|
||||||
for (LabelList::iterator k = labels.begin();
|
|
||||||
k != labels.end(); k++)
|
|
||||||
if ((ptrdiff_t)(*k)->mOffset == (i - is.begin())) {
|
|
||||||
f << "#" << (uint32)(i - is.begin()) << "\t";
|
|
||||||
isLabel = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isLabel)
|
|
||||||
f << "\t";
|
|
||||||
|
|
||||||
f << **i << "\n";
|
|
||||||
*/
|
|
||||||
|
|
||||||
printFormat(stdOut, "%04u", (uint32)(i - is.begin()));
|
|
||||||
f << ": " << **i << "\n";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
} /* namespace VM */
|
} /* namespace VM */
|
||||||
} /* namespace JavaScript */
|
} /* namespace JavaScript */
|
||||||
|
1066
js2/src/vmtypes.h
1066
js2/src/vmtypes.h
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user