コード例 #1
0
ファイル: EnvironmentBase.cpp プロジェクト: ChengJin01/omr
void
MM_EnvironmentBase::acquireExclusiveVMAccess()
{
	if (0 == _exclusiveCount) {
		_envLanguageInterface->acquireExclusiveVMAccess();
		reportExclusiveAccessAcquire();
	}
	_exclusiveCount++;
}
コード例 #2
0
ファイル: EnvironmentBase.cpp プロジェクト: dinogun/omr
void
MM_EnvironmentBase::acquireExclusiveVMAccess()
{
	if (0 == _exclusiveCount) {
		_delegate.acquireExclusiveVMAccess();
		reportExclusiveAccessAcquire();
	}
	_exclusiveCount += 1;
}
コード例 #3
0
ファイル: EnvironmentBase.cpp プロジェクト: ChengJin01/omr
bool
MM_EnvironmentBase::tryAcquireExclusiveVMAccess()
{
	if(0 == _exclusiveCount) {
		bool result = _envLanguageInterface->tryAcquireExclusiveVMAccess();

		/* Check if we won the exclusive access race..return if we lost */
		if(!result) {
			return false;
		}

		/* Report exclusive access time if we won race */
		reportExclusiveAccessAcquire();
	}

	_exclusiveCount += 1;
	return true;
}