#include <CallNodes.h>
Inheritance diagram for DCCallNode:
Public Member Functions | |
DCCallNode () | |
DCCallNode (const uint32 opcode, const uint32 offset, const uint32 newValue1, const uint32 newValue2) | |
DCCallNode (const uint32 opcode, const uint32 offset, const uint32 newValue1, const uint32 newValue2, const uint32 newValue3, const uint32 newValue4) | |
~DCCallNode () | |
void | print () const |
void | print_extern_unk (Console &o, const uint32 isize) const |
void | print_unk (Console &o, const uint32 isize) const |
void | print_asm (Console &o) const |
void | print_bin (ODequeDataSource &o) const |
bool | fold (DCUnit *unit, std::deque< Node * > &nodes) |
void | setAddSP (DCCallPostfixNode *newAddSP) |
void | setRetVal (DCCallPostfixNode *newRetVal) |
void | addFree (DCCallPostfixNode *newFree) |
Protected Types | |
CALLI | |
CALL | |
SPAWN | |
enum | calltype { CALLI, CALL, SPAWN } |
Protected Attributes | |
enum DCCallNode::calltype | ctype |
Private Attributes | |
uint32 | uclass |
uint32 | targetOffset |
uint32 | spsize |
uint32 | intrinsic |
uint32 | thispsize |
DCCallPostfixNode * | addSP |
DCCallPostfixNode * | retVal |
Node * | thisP |
std::list< DCCallPostfixNode * > | freenodes |
Definition at line 118 of file CallNodes.h.
enum DCCallNode::calltype [protected] |
DCCallNode::DCCallNode | ( | ) | [inline] |
Definition at line 121 of file CallNodes.h.
DCCallNode::DCCallNode | ( | const uint32 | opcode, | |
const uint32 | offset, | |||
const uint32 | newValue1, | |||
const uint32 | newValue2 | |||
) | [inline] |
Definition at line 122 of file CallNodes.h.
References acceptOp(), CALL, CALLI, ctype, intrinsic, spsize, targetOffset, and uclass.
DCCallNode::DCCallNode | ( | const uint32 | opcode, | |
const uint32 | offset, | |||
const uint32 | newValue1, | |||
const uint32 | newValue2, | |||
const uint32 | newValue3, | |||
const uint32 | newValue4 | |||
) | [inline] |
Definition at line 141 of file CallNodes.h.
References acceptOp(), con, ctype, Console::Printf(), SPAWN, spsize, targetOffset, thispsize, and uclass.
DCCallNode::~DCCallNode | ( | ) | [inline] |
Definition at line 158 of file CallNodes.h.
void DCCallNode::addFree | ( | DCCallPostfixNode * | newFree | ) | [inline] |
Definition at line 171 of file CallNodes.h.
References freenodes.
Referenced by AddFreeToDCCallNode().
Implements Node.
Definition at line 260 of file CallNodes.cpp.
References acceptOp(), addSP, CALL, CALLI, con, ctype, Node::fold_linenum(), freenodes, Node::grab(), ColNode::grab_p(), print_assert(), Console::Printf(), DCUnit::registerExternFunc(), DCUnit::registerExternIntrinsic(), retVal, Node::rtype(), DCCallPostfixNode::size(), SPAWN, spsize, Type::T_DWORD, thisP, and thispsize.
void DCCallNode::print | ( | ) | const [inline] |
Definition at line 160 of file CallNodes.h.
void DCCallNode::print_asm | ( | Console & | o | ) | const [virtual] |
Reimplemented from Node.
Definition at line 453 of file CallNodes.cpp.
References addSP, CALL, CALLI, ctype, freenodes, intrinsic, ColNode::pnode, DCCallPostfixNode::print_asm(), Node::print_asm(), print_assert(), Node::print_linenum_asm(), Console::Printf(), Console::Putchar(), retVal, Node::rtype(), SPAWN, spsize, Type::T_VOID, targetOffset, thisP, thispsize, and uclass.
void DCCallNode::print_bin | ( | ODequeDataSource & | o | ) | const [virtual] |
Implements Node.
Definition at line 534 of file CallNodes.cpp.
References addSP, CALL, CALLI, ctype, intrinsic, ColNode::pnode, print_assert(), Node::print_bin(), DCCallPostfixNode::print_bin(), Node::print_linenum_bin(), retVal, Node::rtype(), SPAWN, spsize, Type::T_VOID, targetOffset, thisP, thispsize, uclass, ODequeDataSource::write1(), and ODequeDataSource::write2().
Definition at line 334 of file CallNodes.cpp.
References CALL, CALLI, ctype, intrinsic, Type::name(), ColNode::pnode, Console::Print(), print_assert(), Console::Printf(), Console::Putchar(), Node::rtype(), SPAWN, Type::T_INVALID, targetOffset, thisP, and uclass.
Implements Node.
Definition at line 389 of file CallNodes.cpp.
References CALL, CALLI, ctype, intrinsic, ColNode::pnode, Console::Print(), print_assert(), Node::print_linenum_unk(), Node::print_unk(), Type::print_unk(), Console::Printf(), Console::Putchar(), Node::rtype(), SPAWN, Type::T_VOID, targetOffset, thisP, thispsize, and uclass.
void DCCallNode::setAddSP | ( | DCCallPostfixNode * | newAddSP | ) | [inline] |
void DCCallNode::setRetVal | ( | DCCallPostfixNode * | newRetVal | ) | [inline] |
Definition at line 170 of file CallNodes.h.
References retVal, and Node::rtype().
Referenced by PushRetValToDCCallNode().
DCCallPostfixNode* DCCallNode::addSP [private] |
Definition at line 185 of file CallNodes.h.
Referenced by fold(), print_asm(), print_bin(), and setAddSP().
enum DCCallNode::calltype DCCallNode::ctype [protected] |
Referenced by DCCallNode(), fold(), print_asm(), print_bin(), print_extern_unk(), and print_unk().
std::list<DCCallPostfixNode *> DCCallNode::freenodes [private] |
uint32 DCCallNode::intrinsic [private] |
Definition at line 181 of file CallNodes.h.
Referenced by DCCallNode(), print_asm(), print_bin(), print_extern_unk(), and print_unk().
DCCallPostfixNode* DCCallNode::retVal [private] |
Definition at line 186 of file CallNodes.h.
Referenced by fold(), print_asm(), print_bin(), and setRetVal().
uint32 DCCallNode::spsize [private] |
Definition at line 180 of file CallNodes.h.
Referenced by DCCallNode(), fold(), print_asm(), and print_bin().
uint32 DCCallNode::targetOffset [private] |
Definition at line 178 of file CallNodes.h.
Referenced by DCCallNode(), print_asm(), print_bin(), print_extern_unk(), and print_unk().
Node* DCCallNode::thisP [private] |
Definition at line 187 of file CallNodes.h.
Referenced by fold(), print_asm(), print_bin(), print_extern_unk(), and print_unk().
uint32 DCCallNode::thispsize [private] |
Definition at line 183 of file CallNodes.h.
Referenced by DCCallNode(), fold(), print_asm(), print_bin(), and print_unk().
uint32 DCCallNode::uclass [private] |
Definition at line 177 of file CallNodes.h.
Referenced by DCCallNode(), print_asm(), print_bin(), print_extern_unk(), and print_unk().