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

com.vmlens.trace.agent.bootstrap.interleave.operation.ThreadJoin Maven / Gradle / Ivy

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

import com.vmlens.trace.agent.bootstrap.interleave.MonitorInfo;
import com.vmlens.trace.agent.bootstrap.interleave.MonitorLockEnterStack;
import com.vmlens.trace.agent.bootstrap.interleave.normalized.LeftBeforeRight;
import com.vmlens.trace.agent.bootstrap.interleave.normalized.Position;
import com.vmlens.trace.agent.bootstrap.interleave.normalized.PositionAndOperation;
import com.vmlens.trace.agent.bootstrap.interleave.normalized.PotentialOrder;
import com.vmlens.trace.agent.bootstrap.interleave.normalized.RelationList;
import com.vmlens.trace.agent.bootstrap.interleave.normalized.RelationMap;

import gnu.trove.map.hash.TIntObjectHashMap;
import gnu.trove.set.hash.TIntHashSet;

public class ThreadJoin implements OperationTyp {

//	public final int mainThreadIndex;
//	public final int joinedThreadIndex;
//	public ThreadJoin(int mainThreadIndex, int joinedThreadIndex) {
//		super();
//		this.mainThreadIndex = mainThreadIndex;
//		this.joinedThreadIndex = joinedThreadIndex;
//	}
	
	public final long waitingThreadId;
	public final long joinedThreadId;
	
	public int waitingThreadIndex;
	public int joinedThreadIndex;
	
	
	
	
	public ThreadJoin(long waitingThreadId, long joinedThreadId) {
		super();
		this.waitingThreadId = waitingThreadId;
		this.joinedThreadId = joinedThreadId;
	}
	@Override
	public void fill(RelationMap relationMap, Position position,TIntHashSet takeMonitorIds) {
		
		
		relationMap.joinThread.add(new PositionAndOperation(position,this));
		
	}
	@Override
	public boolean createsSyncRelation(OperationTyp other) {
		return false;
	}
	@Override
	public void prefill(TIntObjectHashMap monitorId2MonitorInfo,int threadIndex) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void setDataFromMonitorStack(MonitorLockEnterStack monitorLockEnterStack,int threadIndex ,int  perThreadPosition) {
		// TODO Auto-generated method stub
		
	}
	
	
	@Override
	public void addPotentialRelation(RelationList orderList, Position a, OperationTyp operation,
			Position b) {
		
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy