Java Doc for RecursiveMethodInstrumentor.java in  » IDE-Netbeans » cvsclient » org » netbeans » lib » profiler » instrumentation » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » IDE Netbeans » cvsclient » org.netbeans.lib.profiler.instrumentation 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.netbeans.lib.profiler.instrumentation.ClassManager
      org.netbeans.lib.profiler.instrumentation.RecursiveMethodInstrumentor

All known Subclasses:   org.netbeans.lib.profiler.instrumentation.RecursiveMethodInstrumentor2,  org.netbeans.lib.profiler.instrumentation.RecursiveMethodInstrumentor1,  org.netbeans.lib.profiler.instrumentation.RecursiveMethodInstrumentor3,
RecursiveMethodInstrumentor
abstract public class RecursiveMethodInstrumentor extends ClassManager (Code)
Base class for two "recursive" method scanners, implementing the "eager" and "lazy" transitive call subgraph revelation and instrumentation schemes. This class contains functionality used by both scaners.
author:
   Tomas Hurka
author:
   Misha Dmitriev
author:
   Adrian Mos

Inner Class :protected static class ReachableMethodPlaceholder extends PlaceholderClassInfo

Field Summary
protected  byte[]codeBytes
    
protected  booleandontInstrumentEmptyMethods
    
protected  booleandontScanGetterSetterMethods
    
protected  HashtableinstrClasses
    
protected  InstrumentationFilterinstrFilter
    
protected  booleaninstrumentClinit
    
protected  booleaninstrumentSpawnedThreads
    
protected  intmarkerInjectionType
    
protected  intnInstrClasses
    
protected  intnInstrMethods
    
protected  intnormalInjectionType
    
protected  intoffset
    
protected  booleanreflectInvokeInstrumented
    
protected  introotInjectionType
    
 RootMethodsrootMethods
    

Constructor Summary
protected  RecursiveMethodInstrumentor(ProfilingSessionStatus status, ProfilerEngineSettings settings)
    

Method Summary
protected  voidaddToSubclassList(DynamicClassInfo clazz, DynamicClassInfo addedClassInfo)
    
final protected  intat(int index)
    
protected  Object[]createInstrumentedMethodPack()
    
protected  Object[]createInstrumentedMethodPack(DynamicClassInfo clazz)
     Create a single-class packet of instrumented methods or classes in response to a class load event.
abstract protected  voidfindAndMarkOverridingMethodsReachable(DynamicClassInfo superClass, DynamicClassInfo subClass)
    
abstract  Object[]getInitialMethodsToInstrument(String[] loadedClasses, int[] loadedClassLoaderIds, byte[][] cachedClassFileBytes, RootMethods rootMethods)
     This method is called when some class containing an instrumentation root method is loaded by the VM (either has just been loaded, or the JFluid server, upon the user's command to initiate instrumentation, has detected that it has been loaded some time in the past).
abstract public  Object[]getMethodsToInstrumentUponClassLoad(String className, int classLoaderId, boolean threadInCallGraph)
    
abstract public  Object[]getMethodsToInstrumentUponMethodInvocation(String className, int classLoaderId, String methodName, String methodSignature)
     Methods below return method bytecodes to instrument upon specific events reported by the JFluid server.
abstract public  Object[]getMethodsToInstrumentUponReflectInvoke(String className, int classLoaderId, String methodName, String methodSignature)
    
protected  voidinitInstrMethodData()
     Called every time before a new round of instrumentation, caused by class load, method invoke, etc.
final protected  longintAt(int tbl, int entry)
    
protected static  booleanisEmptyMethod(byte[] code)
    
protected static  booleanisGetterSetterMethod(byte[] code)
    
protected  booleanisLeafMethod(byte[] code)
    
protected  voidmarkAllMethodsMarker(DynamicClassInfo clazz)
    
protected  voidmarkAllMethodsRoot(DynamicClassInfo clazz)
    
protected  voidmarkClassAndMethodForInstrumentation(DynamicClassInfo clazz, int methodIdx)
    
protected  booleanmarkMethod(DynamicClassInfo clazz, int rootMethod)
    
protected  booleanmarkMethodMarker(DynamicClassInfo clazz, String rootMethodName, String rootMethodSignature)
    
protected  booleanmarkMethodRoot(DynamicClassInfo clazz, String rootMethodName, String rootMethodSignature)
    
protected  booleanmatchesWildcard(String wildcard, String loadedClassName)
    
abstract protected  voidprocessInvoke(DynamicClassInfo clazz, boolean virtualCall, int index)
    
protected static  booleanrootClassNameIsReal(String rootClassName)
    
protected  booleanscanBytecode(DynamicClassInfo clazz, byte[] code)
     This method is used either to normally process the bytecodes of a method, in which case clazz != null and the return result is ignored.
protected  voidscanMethod(DynamicClassInfo clazz, int index)
    
final protected  intshortAt(int index)
    
abstract protected  booleantryInstrumentSpawnedThreads(DynamicClassInfo clazz)
    

Field Detail
codeBytes
protected byte[] codeBytes(Code)



dontInstrumentEmptyMethods
protected boolean dontInstrumentEmptyMethods(Code)



dontScanGetterSetterMethods
protected boolean dontScanGetterSetterMethods(Code)



instrClasses
protected Hashtable instrClasses(Code)



instrFilter
protected InstrumentationFilter instrFilter(Code)



instrumentClinit
protected boolean instrumentClinit(Code)



instrumentSpawnedThreads
protected boolean instrumentSpawnedThreads(Code)



markerInjectionType
protected int markerInjectionType(Code)



nInstrClasses
protected int nInstrClasses(Code)



nInstrMethods
protected int nInstrMethods(Code)



normalInjectionType
protected int normalInjectionType(Code)



offset
protected int offset(Code)



reflectInvokeInstrumented
protected boolean reflectInvokeInstrumented(Code)



rootInjectionType
protected int rootInjectionType(Code)



rootMethods
RootMethods rootMethods(Code)




Constructor Detail
RecursiveMethodInstrumentor
protected RecursiveMethodInstrumentor(ProfilingSessionStatus status, ProfilerEngineSettings settings)(Code)




Method Detail
addToSubclassList
protected void addToSubclassList(DynamicClassInfo clazz, DynamicClassInfo addedClassInfo)(Code)



at
final protected int at(int index)(Code)



createInstrumentedMethodPack
protected Object[] createInstrumentedMethodPack()(Code)
Create a multi-class packet of instrumented methods or classes



createInstrumentedMethodPack
protected Object[] createInstrumentedMethodPack(DynamicClassInfo clazz)(Code)
Create a single-class packet of instrumented methods or classes in response to a class load event.



findAndMarkOverridingMethodsReachable
abstract protected void findAndMarkOverridingMethodsReachable(DynamicClassInfo superClass, DynamicClassInfo subClass)(Code)



getInitialMethodsToInstrument
abstract Object[] getInitialMethodsToInstrument(String[] loadedClasses, int[] loadedClassLoaderIds, byte[][] cachedClassFileBytes, RootMethods rootMethods)(Code)
This method is called when some class containing an instrumentation root method is loaded by the VM (either has just been loaded, or the JFluid server, upon the user's command to initiate instrumentation, has detected that it has been loaded some time in the past). The JFluid server then sends a RootClassLoadedCommand to the tool. This command contains the information on all classes currently loaded by the VM - see the details in this method's header. This method should initialize instrumentation-related data structures, register given classes as loaded, and return the initial set of methods to instrument in the format given by createInstrumentedMethodPack().



getMethodsToInstrumentUponClassLoad
abstract public Object[] getMethodsToInstrumentUponClassLoad(String className, int classLoaderId, boolean threadInCallGraph)(Code)



getMethodsToInstrumentUponMethodInvocation
abstract public Object[] getMethodsToInstrumentUponMethodInvocation(String className, int classLoaderId, String methodName, String methodSignature)(Code)
Methods below return method bytecodes to instrument upon specific events reported by the JFluid server.



getMethodsToInstrumentUponReflectInvoke
abstract public Object[] getMethodsToInstrumentUponReflectInvoke(String className, int classLoaderId, String methodName, String methodSignature)(Code)



initInstrMethodData
protected void initInstrMethodData()(Code)
Called every time before a new round of instrumentation, caused by class load, method invoke, etc.



intAt
final protected long intAt(int tbl, int entry)(Code)
Given the table at the specified index, return the specified entry



isEmptyMethod
protected static boolean isEmptyMethod(byte[] code)(Code)



isGetterSetterMethod
protected static boolean isGetterSetterMethod(byte[] code)(Code)



isLeafMethod
protected boolean isLeafMethod(byte[] code)(Code)



markAllMethodsMarker
protected void markAllMethodsMarker(DynamicClassInfo clazz)(Code)



markAllMethodsRoot
protected void markAllMethodsRoot(DynamicClassInfo clazz)(Code)



markClassAndMethodForInstrumentation
protected void markClassAndMethodForInstrumentation(DynamicClassInfo clazz, int methodIdx)(Code)



markMethod
protected boolean markMethod(DynamicClassInfo clazz, int rootMethod)(Code)



markMethodMarker
protected boolean markMethodMarker(DynamicClassInfo clazz, String rootMethodName, String rootMethodSignature)(Code)



markMethodRoot
protected boolean markMethodRoot(DynamicClassInfo clazz, String rootMethodName, String rootMethodSignature)(Code)



matchesWildcard
protected boolean matchesWildcard(String wildcard, String loadedClassName)(Code)



processInvoke
abstract protected void processInvoke(DynamicClassInfo clazz, boolean virtualCall, int index)(Code)



rootClassNameIsReal
protected static boolean rootClassNameIsReal(String rootClassName)(Code)



scanBytecode
protected boolean scanBytecode(DynamicClassInfo clazz, byte[] code)(Code)
This method is used either to normally process the bytecodes of a method, in which case clazz != null and the return result is ignored. If clazz == null, then returns false upon encountering the first invoke bytecode, and true if there are no invokes, i.e. it's a leaf method.



scanMethod
protected void scanMethod(DynamicClassInfo clazz, int index)(Code)



shortAt
final protected int shortAt(int index)(Code)



tryInstrumentSpawnedThreads
abstract protected boolean tryInstrumentSpawnedThreads(DynamicClassInfo clazz)(Code)



Fields inherited from org.netbeans.lib.profiler.instrumentation.ClassManager
protected ProfilingSessionStatus status(Code)(Java Doc)

Methods inherited from org.netbeans.lib.profiler.instrumentation.ClassManager
protected static RuntimeProfilingPoint[] getRuntimeProfilingPoints(RuntimeProfilingPoint[] points, ClassInfo classInfo)(Code)(Java Doc)
protected static RuntimeProfilingPoint[] getRuntimeProfilingPoints(RuntimeProfilingPoint[] points, int methodIdx)(Code)(Java Doc)
protected static RuntimeProfilingPoint[] getRuntimeProfilingPoints(RuntimeProfilingPoint[] points, ClassInfo classInfo, int methodIdx)(Code)(Java Doc)
protected static DynamicClassInfo javaClassForName(String className, int classLoaderId)(Code)(Java Doc)
protected static BaseClassInfo javaClassForObjectArrayType(String elementTypeName)(Code)(Java Doc)
protected static BaseClassInfo javaClassForPrimitiveArrayType(int arrayTypeId)(Code)(Java Doc)
protected static BaseClassInfo javaClassOrPlaceholderForName(String className, int classLoaderId)(Code)(Java Doc)
protected static BaseClassInfo loadedJavaClassOrExistingPlaceholderForName(String className, int classLoaderId)(Code)(Java Doc)
protected static void registerPlaceholder(PlaceholderClassInfo pci)(Code)(Java Doc)
protected static void resetLoadedClassData()(Code)(Java Doc)
protected static void storeClassFileBytesForCustomLoaderClasses(String[] loadedClasses, int[] loadedClassLoaderIds, byte[][] cachedClassFileBytes)(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.