|
@@ -62,18 +62,18 @@ __TM_simple_begin (void)
|
|
|
|
|
|
extern __inline long
|
|
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
|
|
-__TM_begin (void* const TM_buff)
|
|
|
+__TM_begin (void* const __TM_buff)
|
|
|
{
|
|
|
- *_TEXASRL_PTR (TM_buff) = 0;
|
|
|
+ *_TEXASRL_PTR (__TM_buff) = 0;
|
|
|
if (__builtin_expect (__builtin_tbegin (0), 1))
|
|
|
return _HTM_TBEGIN_STARTED;
|
|
|
#ifdef __powerpc64__
|
|
|
- *_TEXASR_PTR (TM_buff) = __builtin_get_texasr ();
|
|
|
+ *_TEXASR_PTR (__TM_buff) = __builtin_get_texasr ();
|
|
|
#else
|
|
|
- *_TEXASRU_PTR (TM_buff) = __builtin_get_texasru ();
|
|
|
- *_TEXASRL_PTR (TM_buff) = __builtin_get_texasr ();
|
|
|
+ *_TEXASRU_PTR (__TM_buff) = __builtin_get_texasru ();
|
|
|
+ *_TEXASRL_PTR (__TM_buff) = __builtin_get_texasr ();
|
|
|
#endif
|
|
|
- *_TFIAR_PTR (TM_buff) = __builtin_get_tfiar ();
|
|
|
+ *_TFIAR_PTR (__TM_buff) = __builtin_get_tfiar ();
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -95,9 +95,9 @@ __TM_abort (void)
|
|
|
|
|
|
extern __inline void
|
|
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
|
|
-__TM_named_abort (unsigned char const code)
|
|
|
+__TM_named_abort (unsigned char const __code)
|
|
|
{
|
|
|
- __builtin_tabort (code);
|
|
|
+ __builtin_tabort (__code);
|
|
|
}
|
|
|
|
|
|
extern __inline void
|
|
@@ -116,47 +116,47 @@ __TM_suspend (void)
|
|
|
|
|
|
extern __inline long
|
|
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
|
|
-__TM_is_user_abort (void* const TM_buff)
|
|
|
+__TM_is_user_abort (void* const __TM_buff)
|
|
|
{
|
|
|
- texasru_t texasru = *_TEXASRU_PTR (TM_buff);
|
|
|
+ texasru_t texasru = *_TEXASRU_PTR (__TM_buff);
|
|
|
return _TEXASRU_ABORT (texasru);
|
|
|
}
|
|
|
|
|
|
extern __inline long
|
|
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
|
|
-__TM_is_named_user_abort (void* const TM_buff, unsigned char *code)
|
|
|
+__TM_is_named_user_abort (void* const __TM_buff, unsigned char *__code)
|
|
|
{
|
|
|
- texasru_t texasru = *_TEXASRU_PTR (TM_buff);
|
|
|
+ texasru_t texasru = *_TEXASRU_PTR (__TM_buff);
|
|
|
|
|
|
- *code = _TEXASRU_FAILURE_CODE (texasru);
|
|
|
+ *__code = _TEXASRU_FAILURE_CODE (texasru);
|
|
|
return _TEXASRU_ABORT (texasru);
|
|
|
}
|
|
|
|
|
|
extern __inline long
|
|
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
|
|
-__TM_is_illegal (void* const TM_buff)
|
|
|
+__TM_is_illegal (void* const __TM_buff)
|
|
|
{
|
|
|
- texasru_t texasru = *_TEXASRU_PTR (TM_buff);
|
|
|
+ texasru_t texasru = *_TEXASRU_PTR (__TM_buff);
|
|
|
return _TEXASRU_DISALLOWED (texasru);
|
|
|
}
|
|
|
|
|
|
extern __inline long
|
|
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
|
|
-__TM_is_footprint_exceeded (void* const TM_buff)
|
|
|
+__TM_is_footprint_exceeded (void* const __TM_buff)
|
|
|
{
|
|
|
- texasru_t texasru = *_TEXASRU_PTR (TM_buff);
|
|
|
+ texasru_t texasru = *_TEXASRU_PTR (__TM_buff);
|
|
|
return _TEXASRU_FOOTPRINT_OVERFLOW (texasru);
|
|
|
}
|
|
|
|
|
|
extern __inline long
|
|
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
|
|
-__TM_nesting_depth (void* const TM_buff)
|
|
|
+__TM_nesting_depth (void* const __TM_buff)
|
|
|
{
|
|
|
texasrl_t texasrl;
|
|
|
|
|
|
if (_HTM_STATE (__builtin_ttest ()) == _HTM_NONTRANSACTIONAL)
|
|
|
{
|
|
|
- texasrl = *_TEXASRL_PTR (TM_buff);
|
|
|
+ texasrl = *_TEXASRL_PTR (__TM_buff);
|
|
|
if (!_TEXASR_FAILURE_SUMMARY (texasrl))
|
|
|
texasrl = 0;
|
|
|
}
|
|
@@ -168,15 +168,15 @@ __TM_nesting_depth (void* const TM_buff)
|
|
|
|
|
|
extern __inline long
|
|
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
|
|
-__TM_is_nested_too_deep(void* const TM_buff)
|
|
|
+__TM_is_nested_too_deep(void* const __TM_buff)
|
|
|
{
|
|
|
- texasru_t texasru = *_TEXASRU_PTR (TM_buff);
|
|
|
+ texasru_t texasru = *_TEXASRU_PTR (__TM_buff);
|
|
|
return _TEXASRU_NESTING_OVERFLOW (texasru);
|
|
|
}
|
|
|
|
|
|
extern __inline long
|
|
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
|
|
-__TM_is_conflict(void* const TM_buff)
|
|
|
+__TM_is_conflict(void* const __TM_buff)
|
|
|
{
|
|
|
texasru_t texasru = *_TEXASRU_PTR (TM_buff);
|
|
|
/* Return TEXASR bits 11 (Self-Induced Conflict) through
|
|
@@ -186,24 +186,24 @@ __TM_is_conflict(void* const TM_buff)
|
|
|
|
|
|
extern __inline long
|
|
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
|
|
-__TM_is_failure_persistent(void* const TM_buff)
|
|
|
+__TM_is_failure_persistent(void* const __TM_buff)
|
|
|
{
|
|
|
- texasru_t texasru = *_TEXASRU_PTR (TM_buff);
|
|
|
+ texasru_t texasru = *_TEXASRU_PTR (__TM_buff);
|
|
|
return _TEXASRU_FAILURE_PERSISTENT (texasru);
|
|
|
}
|
|
|
|
|
|
extern __inline long
|
|
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
|
|
-__TM_failure_address(void* const TM_buff)
|
|
|
+__TM_failure_address(void* const __TM_buff)
|
|
|
{
|
|
|
- return *_TFIAR_PTR (TM_buff);
|
|
|
+ return *_TFIAR_PTR (__TM_buff);
|
|
|
}
|
|
|
|
|
|
extern __inline long long
|
|
|
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
|
|
|
-__TM_failure_code(void* const TM_buff)
|
|
|
+__TM_failure_code(void* const __TM_buff)
|
|
|
{
|
|
|
- return *_TEXASR_PTR (TM_buff);
|
|
|
+ return *_TEXASR_PTR (__TM_buff);
|
|
|
}
|
|
|
|
|
|
#ifdef __cplusplus
|
|
@@ -227,9 +227,9 @@ __TM_simple_begin ()
|
|
|
}
|
|
|
|
|
|
static __inline long __attribute__((__always_inline__, __nodebug__))
|
|
|
-__TM_begin (void* const tdb)
|
|
|
+__TM_begin (void* const __tdb)
|
|
|
{
|
|
|
- return __builtin_tbegin_nofloat (tdb);
|
|
|
+ return __builtin_tbegin_nofloat (__tdb);
|
|
|
}
|
|
|
|
|
|
static __inline long __attribute__((__always_inline__, __nodebug__))
|
|
@@ -245,22 +245,22 @@ __TM_abort ()
|
|
|
}
|
|
|
|
|
|
static __inline void __attribute__((__always_inline__, __nodebug__))
|
|
|
-__TM_named_abort (unsigned char const code)
|
|
|
+__TM_named_abort (unsigned char const __code)
|
|
|
{
|
|
|
- return __builtin_tabort ((int)_HTM_FIRST_USER_ABORT_CODE + code);
|
|
|
+ return __builtin_tabort ((int)_HTM_FIRST_USER_ABORT_CODE + __code);
|
|
|
}
|
|
|
|
|
|
static __inline void __attribute__((__always_inline__, __nodebug__))
|
|
|
-__TM_non_transactional_store (void* const addr, long long const value)
|
|
|
+__TM_non_transactional_store (void* const __addr, long long const __value)
|
|
|
{
|
|
|
- __builtin_non_tx_store ((uint64_t*)addr, (uint64_t)value);
|
|
|
+ __builtin_non_tx_store ((uint64_t*)__addr, (uint64_t)__value);
|
|
|
}
|
|
|
|
|
|
static __inline long __attribute__((__always_inline__, __nodebug__))
|
|
|
-__TM_nesting_depth (void* const tdb_ptr)
|
|
|
+__TM_nesting_depth (void* const __tdb_ptr)
|
|
|
{
|
|
|
int depth = __builtin_tx_nesting_depth ();
|
|
|
- struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
|
|
|
+ struct __htm_tdb *tdb = (struct __htm_tdb*)__tdb_ptr;
|
|
|
|
|
|
if (depth != 0)
|
|
|
return depth;
|
|
@@ -273,9 +273,9 @@ __TM_nesting_depth (void* const tdb_ptr)
|
|
|
/* Transaction failure diagnostics */
|
|
|
|
|
|
static __inline long __attribute__((__always_inline__, __nodebug__))
|
|
|
-__TM_is_user_abort (void* const tdb_ptr)
|
|
|
+__TM_is_user_abort (void* const __tdb_ptr)
|
|
|
{
|
|
|
- struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
|
|
|
+ struct __htm_tdb *tdb = (struct __htm_tdb*)__tdb_ptr;
|
|
|
|
|
|
if (tdb->format != 1)
|
|
|
return 0;
|
|
@@ -284,25 +284,25 @@ __TM_is_user_abort (void* const tdb_ptr)
|
|
|
}
|
|
|
|
|
|
static __inline long __attribute__((__always_inline__, __nodebug__))
|
|
|
-__TM_is_named_user_abort (void* const tdb_ptr, unsigned char* code)
|
|
|
+__TM_is_named_user_abort (void* const __tdb_ptr, unsigned char* __code)
|
|
|
{
|
|
|
- struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
|
|
|
+ struct __htm_tdb *tdb = (struct __htm_tdb*)__tdb_ptr;
|
|
|
|
|
|
if (tdb->format != 1)
|
|
|
return 0;
|
|
|
|
|
|
if (tdb->abort_code >= _HTM_FIRST_USER_ABORT_CODE)
|
|
|
{
|
|
|
- *code = tdb->abort_code - _HTM_FIRST_USER_ABORT_CODE;
|
|
|
+ *__code = tdb->abort_code - _HTM_FIRST_USER_ABORT_CODE;
|
|
|
return 1;
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
static __inline long __attribute__((__always_inline__, __nodebug__))
|
|
|
-__TM_is_illegal (void* const tdb_ptr)
|
|
|
+__TM_is_illegal (void* const __tdb_ptr)
|
|
|
{
|
|
|
- struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
|
|
|
+ struct __htm_tdb *tdb = (struct __htm_tdb*)__tdb_ptr;
|
|
|
|
|
|
return (tdb->format == 1
|
|
|
&& (tdb->abort_code == 4 /* unfiltered program interruption */
|
|
@@ -310,9 +310,9 @@ __TM_is_illegal (void* const tdb_ptr)
|
|
|
}
|
|
|
|
|
|
static __inline long __attribute__((__always_inline__, __nodebug__))
|
|
|
-__TM_is_footprint_exceeded (void* const tdb_ptr)
|
|
|
+__TM_is_footprint_exceeded (void* const __tdb_ptr)
|
|
|
{
|
|
|
- struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
|
|
|
+ struct __htm_tdb *tdb = (struct __htm_tdb*)__tdb_ptr;
|
|
|
|
|
|
return (tdb->format == 1
|
|
|
&& (tdb->abort_code == 7 /* fetch overflow */
|
|
@@ -320,17 +320,17 @@ __TM_is_footprint_exceeded (void* const tdb_ptr)
|
|
|
}
|
|
|
|
|
|
static __inline long __attribute__((__always_inline__, __nodebug__))
|
|
|
-__TM_is_nested_too_deep (void* const tdb_ptr)
|
|
|
+__TM_is_nested_too_deep (void* const __tdb_ptr)
|
|
|
{
|
|
|
- struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
|
|
|
+ struct __htm_tdb *tdb = (struct __htm_tdb*)__tdb_ptr;
|
|
|
|
|
|
return tdb->format == 1 && tdb->abort_code == 13; /* depth exceeded */
|
|
|
}
|
|
|
|
|
|
static __inline long __attribute__((__always_inline__, __nodebug__))
|
|
|
-__TM_is_conflict (void* const tdb_ptr)
|
|
|
+__TM_is_conflict (void* const __tdb_ptr)
|
|
|
{
|
|
|
- struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
|
|
|
+ struct __htm_tdb *tdb = (struct __htm_tdb*)__tdb_ptr;
|
|
|
|
|
|
return (tdb->format == 1
|
|
|
&& (tdb->abort_code == 9 /* fetch conflict */
|
|
@@ -338,22 +338,22 @@ __TM_is_conflict (void* const tdb_ptr)
|
|
|
}
|
|
|
|
|
|
static __inline long __attribute__((__always_inline__, __nodebug__))
|
|
|
-__TM_is_failure_persistent (long const result)
|
|
|
+__TM_is_failure_persistent (long const __result)
|
|
|
{
|
|
|
- return result == _HTM_TBEGIN_PERSISTENT;
|
|
|
+ return __result == _HTM_TBEGIN_PERSISTENT;
|
|
|
}
|
|
|
|
|
|
static __inline long __attribute__((__always_inline__, __nodebug__))
|
|
|
-__TM_failure_address (void* const tdb_ptr)
|
|
|
+__TM_failure_address (void* const __tdb_ptr)
|
|
|
{
|
|
|
- struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
|
|
|
+ struct __htm_tdb *tdb = (struct __htm_tdb*)__tdb_ptr;
|
|
|
return tdb->atia;
|
|
|
}
|
|
|
|
|
|
static __inline long __attribute__((__always_inline__, __nodebug__))
|
|
|
-__TM_failure_code (void* const tdb_ptr)
|
|
|
+__TM_failure_code (void* const __tdb_ptr)
|
|
|
{
|
|
|
- struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
|
|
|
+ struct __htm_tdb *tdb = (struct __htm_tdb*)__tdb_ptr;
|
|
|
|
|
|
return tdb->abort_code;
|
|
|
}
|