perfsrv/memspy/Driver/Kernel/Source/MemSpyDriverStreamWriter.cpp
changeset 54 a151135b0cf9
parent 51 98307c651589
equal deleted inserted replaced
53:d47c6de21a88 54:a151135b0cf9
    19 
    19 
    20 // User includes
    20 // User includes
    21 #include "MemSpyDriverUtils.h"
    21 #include "MemSpyDriverUtils.h"
    22 #include "MemSpyDriverXferBuffer.h"
    22 #include "MemSpyDriverXferBuffer.h"
    23 
    23 
       
    24 #if defined(__GCC32__)
       
    25 #define __RETURN_ADDRESS() __builtin_return_address(0)
       
    26 #elif defined (__ARMCC__)
       
    27 #define __RETURN_ADDRESS() ((TAny*)__return_address())
       
    28 #else
       
    29 #define __RETURN_ADDRESS() 0 // not supported
       
    30 #endif 
    24 
    31 
    25 
    32 
    26 RMemSpyMemStreamWriter::RMemSpyMemStreamWriter()
    33 RMemSpyMemStreamWriter::RMemSpyMemStreamWriter()
    27 :   iBuffer( NULL ), iCurrent( NULL ), iMax( 0 ), iMark( NULL ), iCommitted( 0 )
    34 :   iBuffer( NULL ), iCurrent( NULL ), iMax( 0 ), iMark( NULL ), iCommitted( 0 )
    28     {
    35     {
    67         *ret = aValue;
    74         *ret = aValue;
    68         IncrementPos( sizeof( TInt32 ) );
    75         IncrementPos( sizeof( TInt32 ) );
    69         }
    76         }
    70     else
    77     else
    71         {
    78         {
    72         //TRACE( Kern::Printf( "RMemSpyMemStreamWriter::WriteInt32() - asked to write: 0x%08x from fn: 0x%08x BUT AM FULL", aValue, __return_address() ) );
    79         TRACE( Kern::Printf( "RMemSpyMemStreamWriter::WriteInt32() - asked to write: 0x%08x from fn: 0x%08x BUT AM FULL", aValue, __RETURN_ADDRESS() ) );
    73         }
    80         }
    74     //
    81     //
    75     return ret;
    82     return ret;
    76     }
    83     }
    77 
    84 
    87         *ret = aValue;
    94         *ret = aValue;
    88         IncrementPos( sizeof( TUint32 ) );
    95         IncrementPos( sizeof( TUint32 ) );
    89         }
    96         }
    90     else
    97     else
    91         {
    98         {
    92         //TRACE( Kern::Printf( "RMemSpyMemStreamWriter::WriteUint32() - asked to write: 0x%08x from fn: 0x%08x BUT AM FULL", aValue, __return_address() ) );
    99         TRACE( Kern::Printf( "RMemSpyMemStreamWriter::WriteUint32() - asked to write: 0x%08x from fn: 0x%08x BUT AM FULL", aValue, __RETURN_ADDRESS() ) );
    93         }
   100         }
    94     //
   101     //
    95     return ret;
   102     return ret;
    96     }
   103     }
    97 
   104