public static void enterMethod(int globalMethodId){
  final Thread ct=Thread.currentThread();
  if (ct == Agent.server || Thread.holdsLock(rl) || Thread.holdsLock(globalLock) || ct.getThreadGroup() == systemThreadGroup || ct == Transformer.transformerThread) {
    return;
  }
  if (!enabled) {
    return;
  }
synchronized (globalLock) {
    int sessionIdOfMethod=globalMethodId >> 16;
    if (sessionIdOfMethod != sessionId) {
      return;
    }
    int mid=globalMethodId & 0xffff;
    ThreadProfiler ti=null;
synchronized (rl) {
      ti=globalThreadInfos.get(ct);
      if (ti == null) {
        ti=new ThreadProfiler();
        globalThreadInfos.put(ct,ti);
      }
    }
    ti.enter0(globalMethods[mid]);
  }
}

public static void enterMethod ( int globalMethodId ) { final Thread ct = Thread . currentThread ( ) ; if ( ct == Agent . server || Thread . holdsLock ( rl ) || Thread . holdsLock ( globalLock ) || ct . getThreadGroup ( ) == systemThreadGroup || ct == Transformer . transformerThread ) { return ; } if ( ! enabled ) { return ; } synchronized ( globalLock ) { int sessionIdOfMethod = globalMethodId > > 16 ; if ( sessionIdOfMethod != sessionId ) { return ; } int mid = globalMethodId & 0xffff ; ThreadProfiler ti = null ; synchronized ( rl ) { ti = globalThreadInfos . get ( ct ) ; if ( ti == null ) { ti = new ThreadProfiler ( ) ; globalThreadInfos . put ( ct , ti ) ; } } ti . enter0 ( globalMethods [ mid ] ) ; } }
records a method ' s entry . this method is called by instrumented code .
