lestes::backend_v2::intercode::ge_sp Class Reference

Ge-level sequencepoint. More...

#include <ge.g.hh>

Inheritance diagram for lestes::backend_v2::intercode::ge_sp:

lestes::backend_v2::intercode::ge_pi lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

bool is_jmp_target_get () const
 The method is_jmp_target_get returns the value of the field ge_sp::is_jmp_target.
void is_jmp_target_set (bool)
 The method is_jmp_target_set sets the field ge_sp::is_jmp_target to the given value.
virtual ge_pi::kind_type kind_get ()
 Returns kind of the pseudoinstruction.
virtual lstring accept_visitor_ge_pi2lstring_gen_base (ptr< visitor_ge_pi2lstring_gen_base > v)
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Static Public Member Functions

static ptr< ge_spcreate (ptr< ::lestes::md::instructions::tm_instr_base > a__ge_pi__instruction, ptr< ::lestes::backend_v2::intercode::pi_pi > a__ge_pi__pi_source, ptr< ::lestes::std::vector< srp< ge_operand > > > a__ge_pi__operands_input, ptr< ::lestes::std::vector< srp< ge_operand > > > a__ge_pi__operands_output, ptr< ::lestes::std::set< srp< ge_pi > > > a__ge_pi__dependencies, ptr< ::lestes::std::vector< srp< ge_sp > > > a__ge_pi__jmp_targets, ulint a__ge_pi__schedule_pos, ptr< ::lestes::backend_v2::workers::basic_block > a__ge_pi__bb, ptr< ::lestes::std::map< ulint, lstring > > a__ge_pi__properties, bool a__ge_sp__is_jmp_target)
 First generated factory method for class ge_sp.
static ptr< ge_spcreate (ptr< ::lestes::md::instructions::tm_instr_base > a__ge_pi__instruction, ptr< ::lestes::backend_v2::intercode::pi_pi > a__ge_pi__pi_source)
 Second generated factory method for class ge_sp.

Protected Member Functions

 ge_sp (ptr< ::lestes::md::instructions::tm_instr_base > a__ge_pi__instruction, ptr< ::lestes::backend_v2::intercode::pi_pi > a__ge_pi__pi_source, ptr< ::lestes::std::vector< srp< ge_operand > > > a__ge_pi__operands_input, ptr< ::lestes::std::vector< srp< ge_operand > > > a__ge_pi__operands_output, ptr< ::lestes::std::set< srp< ge_pi > > > a__ge_pi__dependencies, ptr< ::lestes::std::vector< srp< ge_sp > > > a__ge_pi__jmp_targets, ulint a__ge_pi__schedule_pos, ptr< ::lestes::backend_v2::workers::basic_block > a__ge_pi__bb, ptr< ::lestes::std::map< ulint, lstring > > a__ge_pi__properties, bool a__ge_sp__is_jmp_target)
 Generated constructor for class ge_sp.
virtual void gc_mark ()
 Marking routine for class ge_sp.

Private Attributes

bool is_jmp_target
 Tells whether the sequencepoint is a jump target.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Ge-level sequencepoint.

It represents supplemental pseudoinstruction that has no output to a output asm code. It is used e.g. to mark basic block boundary and jump targets.

Definition at line 276 of file ge.g.hh.


Constructor & Destructor Documentation

lestes::backend_v2::intercode::ge_sp::ge_sp ( ptr< ::lestes::md::instructions::tm_instr_base a__ge_pi__instruction,
ptr< ::lestes::backend_v2::intercode::pi_pi a__ge_pi__pi_source,
ptr< ::lestes::std::vector< srp< ge_operand > > >  a__ge_pi__operands_input,
ptr< ::lestes::std::vector< srp< ge_operand > > >  a__ge_pi__operands_output,
ptr< ::lestes::std::set< srp< ge_pi > > >  a__ge_pi__dependencies,
ptr< ::lestes::std::vector< srp< ge_sp > > >  a__ge_pi__jmp_targets,
ulint  a__ge_pi__schedule_pos,
ptr< ::lestes::backend_v2::workers::basic_block a__ge_pi__bb,
ptr< ::lestes::std::map< ulint, lstring > >  a__ge_pi__properties,
bool  a__ge_sp__is_jmp_target 
) [protected]

Generated constructor for class ge_sp.

Generated constructor for class ge_sp.

Author:
lsg

Definition at line 368 of file ge.g.cc.

Referenced by create().

00378         : ge_pi(a__ge_pi__instruction,
00379                 a__ge_pi__pi_source,
00380                 a__ge_pi__operands_input,
00381                 a__ge_pi__operands_output,
00382                 a__ge_pi__dependencies,
00383                 a__ge_pi__jmp_targets,
00384                 a__ge_pi__schedule_pos,
00385                 a__ge_pi__bb,
00386                 a__ge_pi__properties), is_jmp_target(a__ge_sp__is_jmp_target)
00387 {}


Member Function Documentation

bool lestes::backend_v2::intercode::ge_sp::is_jmp_target_get (  )  const

The method is_jmp_target_get returns the value of the field ge_sp::is_jmp_target.

Returns:
The value of ge_sp::is_jmp_target.
Author:
lsg

Definition at line 308 of file ge.g.cc.

References is_jmp_target.

00309 {
00310         return is_jmp_target;
00311 }

void lestes::backend_v2::intercode::ge_sp::is_jmp_target_set ( bool  x  ) 

The method is_jmp_target_set sets the field ge_sp::is_jmp_target to the given value.

Parameters:
[in] x The new value to set ge_sp::is_jmp_target to.
Author:
lsg

Definition at line 317 of file ge.g.cc.

References is_jmp_target.

00318 {
00319         ge_sp::is_jmp_target = x;
00320 }

ge_pi::kind_type lestes::backend_v2::intercode::ge_sp::kind_get (  )  [virtual]

Returns kind of the pseudoinstruction.

Reimplemented from lestes::backend_v2::intercode::ge_pi.

Definition at line 27 of file ge.cc.

References lestes::backend_v2::intercode::ge_pi::SP.

00028 {
00029     return ge_pi::SP;
00030 }

lstring lestes::backend_v2::intercode::ge_sp::accept_visitor_ge_pi2lstring_gen_base ( ptr< visitor_ge_pi2lstring_gen_base v  )  [virtual]

Reimplemented from lestes::backend_v2::intercode::ge_pi.

Definition at line 322 of file ge.g.cc.

00323 {
00324         return v->visit_ge_sp( this );
00325 }

ptr< ge_sp > lestes::backend_v2::intercode::ge_sp::create ( ptr< ::lestes::md::instructions::tm_instr_base a__ge_pi__instruction,
ptr< ::lestes::backend_v2::intercode::pi_pi a__ge_pi__pi_source,
ptr< ::lestes::std::vector< srp< ge_operand > > >  a__ge_pi__operands_input,
ptr< ::lestes::std::vector< srp< ge_operand > > >  a__ge_pi__operands_output,
ptr< ::lestes::std::set< srp< ge_pi > > >  a__ge_pi__dependencies,
ptr< ::lestes::std::vector< srp< ge_sp > > >  a__ge_pi__jmp_targets,
ulint  a__ge_pi__schedule_pos,
ptr< ::lestes::backend_v2::workers::basic_block a__ge_pi__bb,
ptr< ::lestes::std::map< ulint, lstring > >  a__ge_pi__properties,
bool  a__ge_sp__is_jmp_target 
) [static]

First generated factory method for class ge_sp.

This factory method for class ge_sp takes values of all fields as arguments.

Author:
lsg

Definition at line 331 of file ge.g.cc.

References ge_sp().

Referenced by create().

00341 {
00342         return ptr< ge_sp > ( new ge_sp(a__ge_pi__instruction,
00343                 a__ge_pi__pi_source,
00344                 a__ge_pi__operands_input,
00345                 a__ge_pi__operands_output,
00346                 a__ge_pi__dependencies,
00347                 a__ge_pi__jmp_targets,
00348                 a__ge_pi__schedule_pos,
00349                 a__ge_pi__bb,
00350                 a__ge_pi__properties,
00351                 a__ge_sp__is_jmp_target) );
00352 }

ptr< ge_sp > lestes::backend_v2::intercode::ge_sp::create ( ptr< ::lestes::md::instructions::tm_instr_base a__ge_pi__instruction,
ptr< ::lestes::backend_v2::intercode::pi_pi a__ge_pi__pi_source 
) [static]

Second generated factory method for class ge_sp.

This factory method for class ge_sp uses initializers.

Author:
lsg

Reimplemented from lestes::backend_v2::intercode::ge_pi.

Definition at line 358 of file ge.g.cc.

References create(), and ge_sp().

00360 {
00361         return ptr< ge_sp > ( new ge_sp(a__ge_pi__instruction, a__ge_pi__pi_source, ::lestes::std::vector< srp< ge_operand > > ::create(), ::lestes::std::vector< srp< ge_operand > > ::create(), ::lestes::std::set< srp< ge_pi > > ::create(), NULL, 0, NULL, NULL, false) );
00362 }

ptr< object::reflection_list > lestes::backend_v2::intercode::ge_sp::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::ge_pi.

Definition at line 389 of file ge.g.cc.

References lestes::std::list< T >::create(), reflection, and lestes::backend_v2::intercode::ge_pi::reflection_get().

00390 {
00391         if (!reflection) {
00392                 typedef class_reflection::field_metadata md;
00393                 typedef class_reflection::field_metadata_list mdlist;
00394                 ptr<mdlist> mdl = mdlist::create();
00395                 mdl->push_back( md::create( "is_jmp_target", "bool" ) );
00396                 reflection = reflection_list::create( ge_pi::reflection_get() );
00397                 reflection->push_back( class_reflection::create( "ge_sp", mdl ) );
00398         }
00399         return reflection;
00400 }

ptr< object::field_list_list > lestes::backend_v2::intercode::ge_sp::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::ge_pi.

Definition at line 402 of file ge.g.cc.

References lestes::std::list< T >::create(), and lestes::backend_v2::intercode::ge_pi::field_values_get().

00403 {
00404         ptr < field_list_list > result = ge_pi::field_values_get();
00405         result->push_back( value_list::create() );
00406         result->back()->push_back( objectize< bool > ::create( this->is_jmp_target ) );
00407         return result;
00408 }

void lestes::backend_v2::intercode::ge_sp::gc_mark ( void   )  [protected, virtual]

Marking routine for class ge_sp.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::backend_v2::intercode::ge_pi.

Definition at line 415 of file ge.g.cc.

References lestes::backend_v2::intercode::ge_pi::gc_mark().

00416 {
00417         ge_pi::gc_mark();
00418 }


Member Data Documentation

bool lestes::backend_v2::intercode::ge_sp::is_jmp_target [private]

Tells whether the sequencepoint is a jump target.

Definition at line 332 of file ge.g.hh.

Referenced by is_jmp_target_get(), and is_jmp_target_set().

ptr< object::reflection_list > lestes::backend_v2::intercode::ge_sp::reflection = reflection [static, private]

Reimplemented from lestes::backend_v2::intercode::ge_pi.

Definition at line 333 of file ge.g.hh.

Referenced by reflection_get().


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:23:49 2007 for lestes by doxygen 1.5.1-20070107