instruction_group_base.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \author jaz
00006 */
00007 
00008 #ifndef lestes__md__instructions__instruction_group_base_g_hh__included
00009 #define lestes__md__instructions__instruction_group_base_g_hh__included
00010 
00011 #include <lestes/std/vector.hh>
00012 #include <lestes/md/common.hh>
00013 #include <lestes/md/instructions/tm_instr_base.g.hh>
00014 
00015 #include <lestes/std/objectize_macros.hh>
00016 package(lestes);
00017 package(std);
00018 class object;
00019 end_package(std);
00020 end_package(lestes);
00021 
00022 package(lestes);
00023 package(md);
00024 package(instructions);
00025 
00026 
00027 class instruction_group_base;
00028 
00029 
00030 /*! \brief Represents a group of instructions that perform the same operation but they differ in type or kind of operands or execution background (used register, execution units ).
00031 
00032 Note: A concrete derived class is target dependent and it is placed in 
00033 /target/machine/${TARGET_CPU}/lestes/md/instructions/ directory. 
00034 */
00035 class instruction_group_base : public ::lestes::std::object {
00036 public:
00037         //! The method instructions_get returns the value of the field instruction_group_base::instructions.
00038         ptr< ::lestes::std::vector< ulint > > instructions_get() const;
00039 
00040         //! The method instructions_set sets the field instruction_group_base::instructions to the given value.
00041         void instructions_set(const ptr< ::lestes::std::vector< ulint > > & );
00042 
00043         //! The method input_operand_pids_get returns the value of the field instruction_group_base::input_operand_pids.
00044         ptr< ::lestes::std::vector< ulint > > input_operand_pids_get() const;
00045 
00046         //! The method input_operand_pids_set sets the field instruction_group_base::input_operand_pids to the given value.
00047         void input_operand_pids_set(const ptr< ::lestes::std::vector< ulint > > & );
00048 
00049         //! The method output_operand_pids_get returns the value of the field instruction_group_base::output_operand_pids.
00050         ptr< ::lestes::std::vector< ulint > > output_operand_pids_get() const;
00051 
00052         //! The method output_operand_pids_set sets the field instruction_group_base::output_operand_pids to the given value.
00053         void output_operand_pids_set(const ptr< ::lestes::std::vector< ulint > > & );
00054 
00055         //! The method input_operand_refs_get returns the value of the field instruction_group_base::input_operand_refs.
00056         ptr< ::lestes::std::vector< ulint > > input_operand_refs_get() const;
00057 
00058         //! The method input_operand_refs_set sets the field instruction_group_base::input_operand_refs to the given value.
00059         void input_operand_refs_set(const ptr< ::lestes::std::vector< ulint > > & );
00060 
00061         //! The method output_operand_refs_get returns the value of the field instruction_group_base::output_operand_refs.
00062         ptr< ::lestes::std::vector< ulint > > output_operand_refs_get() const;
00063 
00064         //! The method output_operand_refs_set sets the field instruction_group_base::output_operand_refs to the given value.
00065         void output_operand_refs_set(const ptr< ::lestes::std::vector< ulint > > & );
00066 
00067         
00068 
00069         //! for purposes of dumping
00070         virtual ptr<reflection_list> reflection_get() const;
00071         //! for purposes of dumping
00072         virtual ptr<field_list_list> field_values_get() const;
00073         
00074 protected:
00075         //! Generated constructor for class instruction_group_base.
00076         instruction_group_base (
00077                 ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__instructions,
00078                 ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__input_operand_pids,
00079                 ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__output_operand_pids,
00080                 ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__input_operand_refs,
00081                 ptr< ::lestes::std::vector< ulint > > a__instruction_group_base__output_operand_refs);
00082 
00083         //! Marking routine for class instruction_group_base. 
00084         virtual void gc_mark();
00085 
00086 private:
00087         //! Grouped instructions.
00088         srp< ::lestes::std::vector< ulint > >  instructions;
00089         //! Ids of output operands of another instruction_group that this instruction_group receives as input operands.
00090         srp< ::lestes::std::vector< ulint > >  input_operand_pids;
00091         //! Ids of group's output operands that allows other instruction_groups to reference them.
00092         srp< ::lestes::std::vector< ulint > >  output_operand_pids;
00093         //! An item within this list marks operand of grouped instructions that corresponds to an id within input_operand_pids at the same index.
00094         srp< ::lestes::std::vector< ulint > >  input_operand_refs;
00095         //! An item within this list marks operand of grouped instructions that corresponds to an id within output_operand_pids at the same index.
00096         srp< ::lestes::std::vector< ulint > >  output_operand_refs;
00097         static ptr<reflection_list> reflection;
00098         
00099 }; // instruction_group_base
00100 
00101 
00102 end_package(instructions);
00103 end_package(md);
00104 end_package(lestes);
00105 
00106 #endif // lestes__md__instructions__instruction_group_base_g_hh__included

Generated on Mon Feb 12 18:27:09 2007 for lestes by doxygen 1.5.1-20070107