All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.vmlens.trace.agent.bootstrap.interleave.lock.MonitorEnter Maven / Gradle / Ivy

There is a newer version: 1.1.5
Show newest version
package com.vmlens.trace.agent.bootstrap.interleave.lock;

import com.vmlens.trace.agent.bootstrap.interleave.MonitorLockEnterStack;
import com.vmlens.trace.agent.bootstrap.interleave.normalized.Position;
import com.vmlens.trace.agent.bootstrap.util.IntStack;

import gnu.trove.list.linked.TIntLinkedList;

public class MonitorEnter implements LockOperation  {

	private final int monitorId;

	public MonitorEnter(int monitorId) {
		super();
		this.monitorId = monitorId;
	}

	@Override
	public void execute(IntStack monitorStack ,IntStack exclusive , IntStack shared) {
		monitorStack.push(monitorId);
		
	}

	@Override
	public String toString() {
		return "MonitorEnter [monitorId=" + monitorId + "]";
	}
	@Override
	public void add2Stack(MonitorLockEnterStack monitorLockEnterStack, int threadIndex, int positionInThread) {
		monitorLockEnterStack.monitor.push( new Position(threadIndex,positionInThread) );
		
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy