HP aC++ Release Notes Version A.03.95 (5900-1789; September 2011)

HP aC++ Release Notes
New Features in Version A.03.65
Chapter 120
static void f();
class Nested {
public:
void Help(Enclosing encl) {
Enclosing::f(); // ok, no error
encl.f(); // ok, no error
}
};
};
Performance Improvement of Strings With -mt
Two changes have been made to increase performance of strings with -mt.
The first helps -AP strings. Locking is no longer done for the null string. This should eliminate thread
contention when creating empty strings. This has always been available for -AA strings.
In the second, a new flag has been defined to reduce the amount of space for string mutexes and thereby
increase performance when using either -AA or -AP strings.
Instead of having one mutex per string, there is now a fixed array of mutexes that are shared amongst all
strings.
Because this feature requires a new runtime, it is enabled with -D__HPACC_FIXED_REFCNT_MUTEX and
requires the following aC++ runtime patches:
PHSS_31855 'aC++ Runtime (IA: A.05.61, PA A.03.61)' 11.23
PHSS_32573 'HP aC++ -AA runtime libraries (aCC A.03.61)' 11.11
PHSS_32574 'HP aC++ -AA runtime libraries (aCC A.03.61)' 11.00
CAUTION If the appropriate aC++ runtime patch is not installed, the following unsats will occur:
HPMutexWrapper::init(int) -AP
_HPMutexWrapper::init(int) -AA
And the following new symbols are defined in aC++ runtime library (libCsup):
__libCsup_mutex_alloc
__libCsup_mutex_context
The number of string mutexes defaults to 64 and can be configured by: