top | up | prev | next

ValueStack Class

Definition at line 15 of ValueStack.hpp

Member Functions

void Dup() override
void* Pop() override
void Push(void* val) override
void Rotate() override
void Swap() override

Member Variables

std::vector<Value*> s

Member Function Details

Dup Member Function

void cmsxbe::ValueStack::Dup() override

Definition at line 30 of ValueStack.hpp :
31 {
32     s.push_back(s.back());
33 }


Base class overridden functions: cmajor::ir::ValueStack::Dup


Pop Member Function

void * cmsxbe::ValueStack::Pop() override

Definition at line 23 of ValueStack.hpp :
24 {
25     Assert(!s.empty()"value stack is empty");
26     cmsxi::Value* top = s.back();
27     s.pop_back();
28     return top;
29 }


Base class overridden functions: cmajor::ir::ValueStack::Pop


Push Member Function

void cmsxbe::ValueStack::Push(void * val) override

Definition at line 18 of ValueStack.hpp :
19 {
20     cmsxi::Value* value = static_cast<cmsxi::Value*>(val);
21     s.push_back(value);
22 }


Base class overridden functions: cmajor::ir::ValueStack::Push


Rotate Member Function

void cmsxbe::ValueStack::Rotate() override

Definition at line 38 of ValueStack.hpp :
39 {
40     std::swap(s[s.size() - 3]s[s.size() - 2]);
41     std::swap(s.back()s[s.size() - 2]);
42 }


Base class overridden functions: cmajor::ir::ValueStack::Rotate


Swap Member Function

void cmsxbe::ValueStack::Swap() override

Definition at line 34 of ValueStack.hpp :
35 {
36     std::swap(s.back()s[s.size() - 2]);
37 }


Base class overridden functions: cmajor::ir::ValueStack::Swap


top | up | prev | next