lestes::backend_v2::workers::spillgen_group Class Reference

Represents a group of operands of a pseudoinstruction that occupy the same register. More...

#include <spillgen.g.hh>

Inheritance diagram for lestes::backend_v2::workers::spillgen_group:

lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

ptr< ::lestes::std::set< srp<
::lestes::backend_v2::intercode::ge_operand_reg > > > 
operands_get () const
 The method operands_get returns the value of the field spillgen_group::operands.
void operands_set (const ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > &)
 The method operands_set sets the field spillgen_group::operands to the given value.
ptr< ::lestes::std::set< ulint > > allowed_registers_get () const
 The method allowed_registers_get returns the value of the field spillgen_group::allowed_registers.
void allowed_registers_set (const ptr< ::lestes::std::set< ulint > > &)
 The method allowed_registers_set sets the field spillgen_group::allowed_registers to the given value.
ptr< ::lestes::std::set< ulint > > avail_regs_for_input_ops_get () const
 The method avail_regs_for_input_ops_get returns the value of the field spillgen_group::avail_regs_for_input_ops.
void avail_regs_for_input_ops_set (const ptr< ::lestes::std::set< ulint > > &)
 The method avail_regs_for_input_ops_set sets the field spillgen_group::avail_regs_for_input_ops to the given value.
ptr< ::lestes::std::set< ulint > > avail_regs_for_output_ops_get () const
 The method avail_regs_for_output_ops_get returns the value of the field spillgen_group::avail_regs_for_output_ops.
void avail_regs_for_output_ops_set (const ptr< ::lestes::std::set< ulint > > &)
 The method avail_regs_for_output_ops_set sets the field spillgen_group::avail_regs_for_output_ops to the given value.
ptr< ::lestes::md::registers::tm_registerreg_get () const
 The method reg_get returns the value of the field spillgen_group::reg.
void reg_set (const ptr< ::lestes::md::registers::tm_register > &)
 The method reg_set sets the field spillgen_group::reg to the given value.
ptr< spillgen_groupguarded_group_get () const
 The method guarded_group_get returns the value of the field spillgen_group::guarded_group.
void guarded_group_set (const ptr< spillgen_group > &)
 The method guarded_group_set sets the field spillgen_group::guarded_group to the given value.
bool is_input_get () const
 The method is_input_get returns the value of the field spillgen_group::is_input.
void is_input_set (bool)
 The method is_input_set sets the field spillgen_group::is_input to the given value.
bool is_output_get () const
 The method is_output_get returns the value of the field spillgen_group::is_output.
void is_output_set (bool)
 The method is_output_set sets the field spillgen_group::is_output to the given value.
ptr< ::lestes::backend_v2::intercode::ge_operand_membackup_space_get () const
 The method backup_space_get returns the value of the field spillgen_group::backup_space.
void backup_space_set (const ptr< ::lestes::backend_v2::intercode::ge_operand_mem > &)
 The method backup_space_set sets the field spillgen_group::backup_space to the given value.
ptr< ::lestes::std::vector<
srp< ::lestes::backend_v2::intercode::ge_pi > > > 
backup_instructions_get () const
 The method backup_instructions_get returns the value of the field spillgen_group::backup_instructions.
void backup_instructions_set (const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > &)
 The method backup_instructions_set sets the field spillgen_group::backup_instructions to the given value.
ptr< ::lestes::std::set< srp<
::lestes::backend_v2::intercode::ge_pi > > > 
load_instructions_get () const
 The method load_instructions_get returns the value of the field spillgen_group::load_instructions.
void load_instructions_set (const ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > &)
 The method load_instructions_set sets the field spillgen_group::load_instructions to the given value.
ptr< ::lestes::std::set< srp<
::lestes::backend_v2::intercode::ge_pi > > > 
store_instructions_get () const
 The method store_instructions_get returns the value of the field spillgen_group::store_instructions.
void store_instructions_set (const ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > &)
 The method store_instructions_set sets the field spillgen_group::store_instructions to the given value.
ptr< ::lestes::std::vector<
srp< ::lestes::backend_v2::intercode::ge_pi > > > 
restore_instructions_get () const
 The method restore_instructions_get returns the value of the field spillgen_group::restore_instructions.
void restore_instructions_set (const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > &)
 The method restore_instructions_set sets the field spillgen_group::restore_instructions to the given value.
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< spillgen_groupcreate (ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > a__spillgen_group__operands, ptr< ::lestes::std::set< ulint > > a__spillgen_group__allowed_registers, ptr< ::lestes::std::set< ulint > > a__spillgen_group__avail_regs_for_input_ops, ptr< ::lestes::std::set< ulint > > a__spillgen_group__avail_regs_for_output_ops, ptr< ::lestes::md::registers::tm_register > a__spillgen_group__reg, ptr< spillgen_group > a__spillgen_group__guarded_group, bool a__spillgen_group__is_input, bool a__spillgen_group__is_output, ptr< ::lestes::backend_v2::intercode::ge_operand_mem > a__spillgen_group__backup_space, ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__backup_instructions, ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__load_instructions, ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__store_instructions, ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__restore_instructions)
 First generated factory method for class spillgen_group.
static ptr< spillgen_groupcreate ()
 Second generated factory method for class spillgen_group.

Protected Member Functions

 spillgen_group (ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > a__spillgen_group__operands, ptr< ::lestes::std::set< ulint > > a__spillgen_group__allowed_registers, ptr< ::lestes::std::set< ulint > > a__spillgen_group__avail_regs_for_input_ops, ptr< ::lestes::std::set< ulint > > a__spillgen_group__avail_regs_for_output_ops, ptr< ::lestes::md::registers::tm_register > a__spillgen_group__reg, ptr< spillgen_group > a__spillgen_group__guarded_group, bool a__spillgen_group__is_input, bool a__spillgen_group__is_output, ptr< ::lestes::backend_v2::intercode::ge_operand_mem > a__spillgen_group__backup_space, ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__backup_instructions, ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__load_instructions, ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__store_instructions, ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__restore_instructions)
 Generated constructor for class spillgen_group.
virtual void gc_mark ()
 Marking routine for class spillgen_group.

Private Attributes

srp< ::lestes::std::set< srp<
::lestes::backend_v2::intercode::ge_operand_reg > > > 
operands
 The registers.
srp< ::lestes::std::set< ulint > > allowed_registers
 A list of allowed registers for all the operands together.
srp< ::lestes::std::set< ulint > > avail_regs_for_input_ops
 A list of registers that is alvailable for input operands of the group.
srp< ::lestes::std::set< ulint > > avail_regs_for_output_ops
 A list of registers that is alvailable for output operands of the group.
srp< ::lestes::md::registers::tm_registerreg
 An assigned spill-register.
srp< spillgen_groupguarded_group
 A group whose register can't be stolen by this group.
bool is_input
 Tells whether the group contains an input operand.
bool is_output
 Tells whether the group contains an output operand.
srp< ::lestes::backend_v2::intercode::ge_operand_membackup_space
 An assigned spill-place.
srp< ::lestes::std::vector<
srp< ::lestes::backend_v2::intercode::ge_pi > > > 
backup_instructions
 A code that backups previous value of the spill-register to a backup place.
srp< ::lestes::std::set< srp<
::lestes::backend_v2::intercode::ge_pi > > > 
load_instructions
 A code that loads value of the group's operands to a spill-register.
srp< ::lestes::std::set< srp<
::lestes::backend_v2::intercode::ge_pi > > > 
store_instructions
 A code that stores value of the group's operands to a spill-place.
srp< ::lestes::std::vector<
srp< ::lestes::backend_v2::intercode::ge_pi > > > 
restore_instructions
 A code that restores previous value of the spill-register from a backup place.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Represents a group of operands of a pseudoinstruction that occupy the same register.

Definition at line 371 of file spillgen.g.hh.


Constructor & Destructor Documentation

lestes::backend_v2::workers::spillgen_group::spillgen_group ( ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > >  a__spillgen_group__operands,
ptr< ::lestes::std::set< ulint > >  a__spillgen_group__allowed_registers,
ptr< ::lestes::std::set< ulint > >  a__spillgen_group__avail_regs_for_input_ops,
ptr< ::lestes::std::set< ulint > >  a__spillgen_group__avail_regs_for_output_ops,
ptr< ::lestes::md::registers::tm_register a__spillgen_group__reg,
ptr< spillgen_group a__spillgen_group__guarded_group,
bool  a__spillgen_group__is_input,
bool  a__spillgen_group__is_output,
ptr< ::lestes::backend_v2::intercode::ge_operand_mem a__spillgen_group__backup_space,
ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__backup_instructions,
ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__load_instructions,
ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__store_instructions,
ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__restore_instructions 
) [protected]

Generated constructor for class spillgen_group.

Generated constructor for class spillgen_group.

Author:
lsg

Definition at line 776 of file spillgen.g.cc.

Referenced by create().

00789         : ::lestes::std::object(), operands(checked(a__spillgen_group__operands)), allowed_registers(a__spillgen_group__allowed_registers), avail_regs_for_input_ops(a__spillgen_group__avail_regs_for_input_ops), avail_regs_for_output_ops(a__spillgen_group__avail_regs_for_output_ops), reg(a__spillgen_group__reg), guarded_group(a__spillgen_group__guarded_group), is_input(a__spillgen_group__is_input), is_output(a__spillgen_group__is_output), backup_space(a__spillgen_group__backup_space), backup_instructions(a__spillgen_group__backup_instructions), load_instructions(checked(a__spillgen_group__load_instructions)), store_instructions(checked(a__spillgen_group__store_instructions)), restore_instructions(a__spillgen_group__restore_instructions)
00790 {}


Member Function Documentation

ptr<::lestes::std::set< srp<::lestes::backend_v2::intercode::ge_operand_reg > > > lestes::backend_v2::workers::spillgen_group::operands_get (  )  const

The method operands_get returns the value of the field spillgen_group::operands.

Returns:
The value of spillgen_group::operands.
Author:
lsg

Definition at line 500 of file spillgen.g.cc.

References operands.

00501 {
00502         return operands;
00503 }

void lestes::backend_v2::workers::spillgen_group::operands_set ( const ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > &  x  ) 

The method operands_set sets the field spillgen_group::operands to the given value.

Parameters:
[in] x The new value to set spillgen_group::operands to.
Author:
lsg

Definition at line 509 of file spillgen.g.cc.

References operands.

00510 {
00511         spillgen_group::operands = x;
00512 }

ptr<::lestes::std::set< ulint > > lestes::backend_v2::workers::spillgen_group::allowed_registers_get (  )  const

The method allowed_registers_get returns the value of the field spillgen_group::allowed_registers.

Returns:
The value of spillgen_group::allowed_registers.
Author:
lsg

Definition at line 518 of file spillgen.g.cc.

References allowed_registers.

00519 {
00520         return allowed_registers;
00521 }

void lestes::backend_v2::workers::spillgen_group::allowed_registers_set ( const ptr< ::lestes::std::set< ulint > > &  x  ) 

The method allowed_registers_set sets the field spillgen_group::allowed_registers to the given value.

Parameters:
[in] x The new value to set spillgen_group::allowed_registers to.
Author:
lsg

Definition at line 527 of file spillgen.g.cc.

References allowed_registers.

00528 {
00529         spillgen_group::allowed_registers = x;
00530 }

ptr<::lestes::std::set< ulint > > lestes::backend_v2::workers::spillgen_group::avail_regs_for_input_ops_get (  )  const

The method avail_regs_for_input_ops_get returns the value of the field spillgen_group::avail_regs_for_input_ops.

Returns:
The value of spillgen_group::avail_regs_for_input_ops.
Author:
lsg

Definition at line 536 of file spillgen.g.cc.

References avail_regs_for_input_ops.

00537 {
00538         return avail_regs_for_input_ops;
00539 }

void lestes::backend_v2::workers::spillgen_group::avail_regs_for_input_ops_set ( const ptr< ::lestes::std::set< ulint > > &  x  ) 

The method avail_regs_for_input_ops_set sets the field spillgen_group::avail_regs_for_input_ops to the given value.

Parameters:
[in] x The new value to set spillgen_group::avail_regs_for_input_ops to.
Author:
lsg

Definition at line 545 of file spillgen.g.cc.

References avail_regs_for_input_ops.

00546 {
00547         spillgen_group::avail_regs_for_input_ops = x;
00548 }

ptr<::lestes::std::set< ulint > > lestes::backend_v2::workers::spillgen_group::avail_regs_for_output_ops_get (  )  const

The method avail_regs_for_output_ops_get returns the value of the field spillgen_group::avail_regs_for_output_ops.

Returns:
The value of spillgen_group::avail_regs_for_output_ops.
Author:
lsg

Definition at line 554 of file spillgen.g.cc.

References avail_regs_for_output_ops.

00555 {
00556         return avail_regs_for_output_ops;
00557 }

void lestes::backend_v2::workers::spillgen_group::avail_regs_for_output_ops_set ( const ptr< ::lestes::std::set< ulint > > &  x  ) 

The method avail_regs_for_output_ops_set sets the field spillgen_group::avail_regs_for_output_ops to the given value.

Parameters:
[in] x The new value to set spillgen_group::avail_regs_for_output_ops to.
Author:
lsg

Definition at line 563 of file spillgen.g.cc.

References avail_regs_for_output_ops.

00564 {
00565         spillgen_group::avail_regs_for_output_ops = x;
00566 }

ptr<::lestes::md::registers::tm_register > lestes::backend_v2::workers::spillgen_group::reg_get (  )  const

The method reg_get returns the value of the field spillgen_group::reg.

Returns:
The value of spillgen_group::reg.
Author:
lsg

Definition at line 572 of file spillgen.g.cc.

References reg.

00573 {
00574         return reg;
00575 }

void lestes::backend_v2::workers::spillgen_group::reg_set ( const ptr< ::lestes::md::registers::tm_register > &  x  ) 

The method reg_set sets the field spillgen_group::reg to the given value.

Parameters:
[in] x The new value to set spillgen_group::reg to.
Author:
lsg

Definition at line 581 of file spillgen.g.cc.

References reg.

00582 {
00583         spillgen_group::reg = x;
00584 }

ptr< spillgen_group > lestes::backend_v2::workers::spillgen_group::guarded_group_get (  )  const

The method guarded_group_get returns the value of the field spillgen_group::guarded_group.

Returns:
The value of spillgen_group::guarded_group.
Author:
lsg

Definition at line 590 of file spillgen.g.cc.

References guarded_group.

00591 {
00592         return guarded_group;
00593 }

void lestes::backend_v2::workers::spillgen_group::guarded_group_set ( const ptr< spillgen_group > &  x  ) 

The method guarded_group_set sets the field spillgen_group::guarded_group to the given value.

Parameters:
[in] x The new value to set spillgen_group::guarded_group to.
Author:
lsg

Definition at line 599 of file spillgen.g.cc.

References guarded_group.

00600 {
00601         spillgen_group::guarded_group = x;
00602 }

bool lestes::backend_v2::workers::spillgen_group::is_input_get (  )  const

The method is_input_get returns the value of the field spillgen_group::is_input.

Returns:
The value of spillgen_group::is_input.
Author:
lsg

Definition at line 608 of file spillgen.g.cc.

References is_input.

00609 {
00610         return is_input;
00611 }

void lestes::backend_v2::workers::spillgen_group::is_input_set ( bool  x  ) 

The method is_input_set sets the field spillgen_group::is_input to the given value.

Parameters:
[in] x The new value to set spillgen_group::is_input to.
Author:
lsg

Definition at line 617 of file spillgen.g.cc.

References is_input.

00618 {
00619         spillgen_group::is_input = x;
00620 }

bool lestes::backend_v2::workers::spillgen_group::is_output_get (  )  const

The method is_output_get returns the value of the field spillgen_group::is_output.

Returns:
The value of spillgen_group::is_output.
Author:
lsg

Definition at line 626 of file spillgen.g.cc.

References is_output.

00627 {
00628         return is_output;
00629 }

void lestes::backend_v2::workers::spillgen_group::is_output_set ( bool  x  ) 

The method is_output_set sets the field spillgen_group::is_output to the given value.

Parameters:
[in] x The new value to set spillgen_group::is_output to.
Author:
lsg

Definition at line 635 of file spillgen.g.cc.

References is_output.

00636 {
00637         spillgen_group::is_output = x;
00638 }

ptr<::lestes::backend_v2::intercode::ge_operand_mem > lestes::backend_v2::workers::spillgen_group::backup_space_get (  )  const

The method backup_space_get returns the value of the field spillgen_group::backup_space.

Returns:
The value of spillgen_group::backup_space.
Author:
lsg

Definition at line 644 of file spillgen.g.cc.

References backup_space.

00645 {
00646         return backup_space;
00647 }

void lestes::backend_v2::workers::spillgen_group::backup_space_set ( const ptr< ::lestes::backend_v2::intercode::ge_operand_mem > &  x  ) 

The method backup_space_set sets the field spillgen_group::backup_space to the given value.

Parameters:
[in] x The new value to set spillgen_group::backup_space to.
Author:
lsg

Definition at line 653 of file spillgen.g.cc.

References backup_space.

00654 {
00655         spillgen_group::backup_space = x;
00656 }

ptr<::lestes::std::vector< srp<::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::backup_instructions_get (  )  const

The method backup_instructions_get returns the value of the field spillgen_group::backup_instructions.

Returns:
The value of spillgen_group::backup_instructions.
Author:
lsg

Definition at line 662 of file spillgen.g.cc.

References backup_instructions.

00663 {
00664         return backup_instructions;
00665 }

void lestes::backend_v2::workers::spillgen_group::backup_instructions_set ( const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > &  x  ) 

The method backup_instructions_set sets the field spillgen_group::backup_instructions to the given value.

Parameters:
[in] x The new value to set spillgen_group::backup_instructions to.
Author:
lsg

Definition at line 671 of file spillgen.g.cc.

References backup_instructions.

00672 {
00673         spillgen_group::backup_instructions = x;
00674 }

ptr<::lestes::std::set< srp<::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::load_instructions_get (  )  const

The method load_instructions_get returns the value of the field spillgen_group::load_instructions.

Returns:
The value of spillgen_group::load_instructions.
Author:
lsg

Definition at line 680 of file spillgen.g.cc.

References load_instructions.

00681 {
00682         return load_instructions;
00683 }

void lestes::backend_v2::workers::spillgen_group::load_instructions_set ( const ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > &  x  ) 

The method load_instructions_set sets the field spillgen_group::load_instructions to the given value.

Parameters:
[in] x The new value to set spillgen_group::load_instructions to.
Author:
lsg

Definition at line 689 of file spillgen.g.cc.

References load_instructions.

00690 {
00691         spillgen_group::load_instructions = x;
00692 }

ptr<::lestes::std::set< srp<::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::store_instructions_get (  )  const

The method store_instructions_get returns the value of the field spillgen_group::store_instructions.

Returns:
The value of spillgen_group::store_instructions.
Author:
lsg

Definition at line 698 of file spillgen.g.cc.

References store_instructions.

00699 {
00700         return store_instructions;
00701 }

void lestes::backend_v2::workers::spillgen_group::store_instructions_set ( const ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > &  x  ) 

The method store_instructions_set sets the field spillgen_group::store_instructions to the given value.

Parameters:
[in] x The new value to set spillgen_group::store_instructions to.
Author:
lsg

Definition at line 707 of file spillgen.g.cc.

References store_instructions.

00708 {
00709         spillgen_group::store_instructions = x;
00710 }

ptr<::lestes::std::vector< srp<::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::restore_instructions_get (  )  const

The method restore_instructions_get returns the value of the field spillgen_group::restore_instructions.

Returns:
The value of spillgen_group::restore_instructions.
Author:
lsg

Definition at line 716 of file spillgen.g.cc.

References restore_instructions.

00717 {
00718         return restore_instructions;
00719 }

void lestes::backend_v2::workers::spillgen_group::restore_instructions_set ( const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > &  x  ) 

The method restore_instructions_set sets the field spillgen_group::restore_instructions to the given value.

Parameters:
[in] x The new value to set spillgen_group::restore_instructions to.
Author:
lsg

Definition at line 725 of file spillgen.g.cc.

References restore_instructions.

00726 {
00727         spillgen_group::restore_instructions = x;
00728 }

ptr< spillgen_group > lestes::backend_v2::workers::spillgen_group::create ( ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > >  a__spillgen_group__operands,
ptr< ::lestes::std::set< ulint > >  a__spillgen_group__allowed_registers,
ptr< ::lestes::std::set< ulint > >  a__spillgen_group__avail_regs_for_input_ops,
ptr< ::lestes::std::set< ulint > >  a__spillgen_group__avail_regs_for_output_ops,
ptr< ::lestes::md::registers::tm_register a__spillgen_group__reg,
ptr< spillgen_group a__spillgen_group__guarded_group,
bool  a__spillgen_group__is_input,
bool  a__spillgen_group__is_output,
ptr< ::lestes::backend_v2::intercode::ge_operand_mem a__spillgen_group__backup_space,
ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__backup_instructions,
ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__load_instructions,
ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__store_instructions,
ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__restore_instructions 
) [static]

First generated factory method for class spillgen_group.

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

Author:
lsg

Definition at line 734 of file spillgen.g.cc.

References spillgen_group().

00747 {
00748         return ptr< spillgen_group > ( new spillgen_group(a__spillgen_group__operands,
00749                 a__spillgen_group__allowed_registers,
00750                 a__spillgen_group__avail_regs_for_input_ops,
00751                 a__spillgen_group__avail_regs_for_output_ops,
00752                 a__spillgen_group__reg,
00753                 a__spillgen_group__guarded_group,
00754                 a__spillgen_group__is_input,
00755                 a__spillgen_group__is_output,
00756                 a__spillgen_group__backup_space,
00757                 a__spillgen_group__backup_instructions,
00758                 a__spillgen_group__load_instructions,
00759                 a__spillgen_group__store_instructions,
00760                 a__spillgen_group__restore_instructions) );
00761 }

ptr< spillgen_group > lestes::backend_v2::workers::spillgen_group::create (  )  [static]

Second generated factory method for class spillgen_group.

This factory method for class spillgen_group uses initializers.

Author:
lsg

Definition at line 767 of file spillgen.g.cc.

References spillgen_group().

00768 {
00769         return ptr< spillgen_group > ( new spillgen_group(::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > ::create(), NULL, NULL, NULL, NULL, NULL, false, false, NULL, NULL, ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > ::create(), ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > ::create(), NULL) );
00770 }

ptr< object::reflection_list > lestes::backend_v2::workers::spillgen_group::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Definition at line 792 of file spillgen.g.cc.

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

00793 {
00794         if (!reflection) {
00795                 typedef class_reflection::field_metadata md;
00796                 typedef class_reflection::field_metadata_list mdlist;
00797                 ptr<mdlist> mdl = mdlist::create();
00798                 mdl->push_back( md::create( "operands", "set&lt; srp&lt; ::lestes::backend_v2::intercode::ge_operand_reg &gt; &gt;" ) );
00799                 mdl->push_back( md::create( "allowed_registers", "set&lt; ulint &gt;" ) );
00800                 mdl->push_back( md::create( "avail_regs_for_input_ops", "set&lt; ulint &gt;" ) );
00801                 mdl->push_back( md::create( "avail_regs_for_output_ops", "set&lt; ulint &gt;" ) );
00802                 mdl->push_back( md::create( "reg", "tm_register" ) );
00803                 mdl->push_back( md::create( "guarded_group", "spillgen_group" ) );
00804                 mdl->push_back( md::create( "is_input", "bool" ) );
00805                 mdl->push_back( md::create( "is_output", "bool" ) );
00806                 mdl->push_back( md::create( "backup_space", "ge_operand_mem" ) );
00807                 mdl->push_back( md::create( "backup_instructions", "vector&lt; srp&lt; ::lestes::backend_v2::intercode::ge_pi &gt; &gt;" ) );
00808                 mdl->push_back( md::create( "load_instructions", "set&lt; srp&lt; ::lestes::backend_v2::intercode::ge_pi &gt; &gt;" ) );
00809                 mdl->push_back( md::create( "store_instructions", "set&lt; srp&lt; ::lestes::backend_v2::intercode::ge_pi &gt; &gt;" ) );
00810                 mdl->push_back( md::create( "restore_instructions", "vector&lt; srp&lt; ::lestes::backend_v2::intercode::ge_pi &gt; &gt;" ) );
00811                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00812                 reflection->push_back( class_reflection::create( "spillgen_group", mdl ) );
00813         }
00814         return reflection;
00815 }

ptr< object::field_list_list > lestes::backend_v2::workers::spillgen_group::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Definition at line 817 of file spillgen.g.cc.

References lestes::std::list< T >::create(), and lestes::std::object::field_values_get().

00818 {
00819         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00820         result->push_back( value_list::create() );
00821         result->back()->push_back( this->operands );
00822         result->push_back( value_list::create() );
00823         result->back()->push_back( this->allowed_registers );
00824         result->push_back( value_list::create() );
00825         result->back()->push_back( this->avail_regs_for_input_ops );
00826         result->push_back( value_list::create() );
00827         result->back()->push_back( this->avail_regs_for_output_ops );
00828         result->push_back( value_list::create() );
00829         result->back()->push_back( this->reg );
00830         result->push_back( value_list::create() );
00831         result->back()->push_back( this->guarded_group );
00832         result->push_back( value_list::create() );
00833         result->back()->push_back( objectize< bool > ::create( this->is_input ) );
00834         result->push_back( value_list::create() );
00835         result->back()->push_back( objectize< bool > ::create( this->is_output ) );
00836         result->push_back( value_list::create() );
00837         result->back()->push_back( this->backup_space );
00838         result->push_back( value_list::create() );
00839         result->back()->push_back( this->backup_instructions );
00840         result->push_back( value_list::create() );
00841         result->back()->push_back( this->load_instructions );
00842         result->push_back( value_list::create() );
00843         result->back()->push_back( this->store_instructions );
00844         result->push_back( value_list::create() );
00845         result->back()->push_back( this->restore_instructions );
00846         return result;
00847 }

void lestes::backend_v2::workers::spillgen_group::gc_mark ( void   )  [protected, virtual]

Marking routine for class spillgen_group.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::std::mem::keystone.

Definition at line 854 of file spillgen.g.cc.

References lestes::std::mem::keystone::gc_mark().

00855 {
00856 	::lestes::std::object::gc_mark();
00857 }


Member Data Documentation

srp< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > lestes::backend_v2::workers::spillgen_group::operands [private]

The registers.

Definition at line 501 of file spillgen.g.hh.

Referenced by operands_get(), and operands_set().

srp< ::lestes::std::set< ulint > > lestes::backend_v2::workers::spillgen_group::allowed_registers [private]

A list of allowed registers for all the operands together.

Definition at line 503 of file spillgen.g.hh.

Referenced by allowed_registers_get(), and allowed_registers_set().

srp< ::lestes::std::set< ulint > > lestes::backend_v2::workers::spillgen_group::avail_regs_for_input_ops [private]

A list of registers that is alvailable for input operands of the group.

Definition at line 505 of file spillgen.g.hh.

Referenced by avail_regs_for_input_ops_get(), and avail_regs_for_input_ops_set().

srp< ::lestes::std::set< ulint > > lestes::backend_v2::workers::spillgen_group::avail_regs_for_output_ops [private]

A list of registers that is alvailable for output operands of the group.

Definition at line 507 of file spillgen.g.hh.

Referenced by avail_regs_for_output_ops_get(), and avail_regs_for_output_ops_set().

srp< ::lestes::md::registers::tm_register > lestes::backend_v2::workers::spillgen_group::reg [private]

An assigned spill-register.

Definition at line 509 of file spillgen.g.hh.

Referenced by reg_get(), and reg_set().

srp< spillgen_group > lestes::backend_v2::workers::spillgen_group::guarded_group [private]

A group whose register can't be stolen by this group.

Definition at line 511 of file spillgen.g.hh.

Referenced by guarded_group_get(), and guarded_group_set().

bool lestes::backend_v2::workers::spillgen_group::is_input [private]

Tells whether the group contains an input operand.

Definition at line 513 of file spillgen.g.hh.

Referenced by is_input_get(), and is_input_set().

bool lestes::backend_v2::workers::spillgen_group::is_output [private]

Tells whether the group contains an output operand.

Definition at line 515 of file spillgen.g.hh.

Referenced by is_output_get(), and is_output_set().

srp< ::lestes::backend_v2::intercode::ge_operand_mem > lestes::backend_v2::workers::spillgen_group::backup_space [private]

An assigned spill-place.

Definition at line 517 of file spillgen.g.hh.

Referenced by backup_space_get(), and backup_space_set().

srp< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::backup_instructions [private]

A code that backups previous value of the spill-register to a backup place.

Definition at line 519 of file spillgen.g.hh.

Referenced by backup_instructions_get(), and backup_instructions_set().

srp< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::load_instructions [private]

A code that loads value of the group's operands to a spill-register.

Definition at line 521 of file spillgen.g.hh.

Referenced by load_instructions_get(), and load_instructions_set().

srp< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::store_instructions [private]

A code that stores value of the group's operands to a spill-place.

Definition at line 523 of file spillgen.g.hh.

Referenced by store_instructions_get(), and store_instructions_set().

srp< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::restore_instructions [private]

A code that restores previous value of the spill-register from a backup place.

Definition at line 525 of file spillgen.g.hh.

Referenced by restore_instructions_get(), and restore_instructions_set().

ptr< object::reflection_list > lestes::backend_v2::workers::spillgen_group::reflection = reflection [static, private]

Reimplemented from lestes::std::object.

Definition at line 526 of file spillgen.g.hh.

Referenced by reflection_get().


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