Title 1 New debug/profile features in J2SE 6 Ivan Popov, May, 2006 Intel Corporation.

Slides:



Advertisements
Similar presentations
Eclipse TPTP TPTP Heap and Thread Profilers High-level Design Rev 1.0 Asaf Yaffe July, 2006.
Advertisements

TPTP 4.4 New Java Profiler (JVMTI) Test and Performance Tools Platform (TPTP) Heap Analysis Enhancements for TPTP 4.4 Asaf Yaffe Software and Solutions.
TPTP 4.4 New Java Profiler (JVMTI) Test and Performance Tools Platform (TPTP) TPTP 4.4 Thread Profiler Pause/Resume and Attach/Detach Design Asaf Yaffe.
6 Copyright © 2005, Oracle. All rights reserved. Building Applications with Oracle JDeveloper 10g.
New I/O (JSR 51) Robert Rock Howard Chief Technology Officer Tower Technology.
1 1 Lecture 14 Java Virtual Machine Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung Institute of Technology.
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
Content provided under the terms and conditions of the Eclipse Public License Version /12/ Eclipse Foundation - Valentina Popescu.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
IPT Readings on Instrumentation, Profiling, and Tracing Seminar presentation by Alessandra Gorla University of Lugano December 7, 2006.
Cognos 8.4 Upgrade Business Intelligence. Why Cognos 8.4 Increased Performance on Database due to optimized SQL and more filters passed in native SQL.
Chapter 3.2 : Virtual Memory
JVM-1 Introduction to Java Virtual Machine. JVM-2 Outline Java Language, Java Virtual Machine and Java Platform Organization of Java Virtual Machine Garbage.
VLANs Semester 3, Chapter 3 Allan Johnson Website:
1 Memory Management in Representative Operating Systems.
1 Memory Model of A Program, Methods Overview l Memory Model of JVM »Method Area »Heap »Stack.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v2.2—3-1 Frame-Mode MPLS Implementation on Cisco IOS Platforms Monitoring Frame-Mode MPLS on Cisco.
Chapter 17 Putting It All Together. Viewing the Preloader To view the preloader, 1.CTRL-Enter to test the movie. 2.View > Simulate Download.
Intro to Java The Java Virtual Machine. What is the JVM  a software emulation of a hypothetical computing machine that runs Java bytecodes (Java compiler.
Main sponsor PicassoMonet + RembrandtMatejko + Canaletto How Debuggers Work Karl Rehmer Failures Come in Flavors Michael Nygard REST in Java Stefan Tilkov.
SSIS Over DTS Sagayaraj Putti (139460). 5 September What is DTS?  Data Transformation Services (DTS)  DTS is a set of objects and utilities that.
1 The Java Virtual Machine Yearly Programming Project.
Event-Based Model for Reconciling Digital Entries Thesis Proposal Ahmet Fatih Mustacoglu 10/3/20151Ahmet.
MAPLDDesign Integrity Concepts You Mean We’re Still Working On It? Sustaining a Design.
J-OCM is a system for monitoring distributed Java applications conforming to OMIS specification with J-OMIS extensions. It is used to: gather information.
Lecture 10 : Introduction to Java Virtual Machine
CHEN Ge CSIS, HKU March 9, Jigsaw W3C’s Java Web Server.
1 Chapter 3.2 : Virtual Memory What is virtual memory? What is virtual memory? Virtual memory management schemes Virtual memory management schemes Paging.
Impact of Java Compressed Heap on Mobile/Wireless Communication Mayumi KATO and Chia-Tien Dan Lo (itcc’05) Department of Computer Science, University of.
R Environment and Variable Lookup Apr R Environment and Variable Lookup Outline  R Environment and Variable Lookup  R Byte-Code Interpreter.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Eclipse debugger.
Model construction and verification for dynamic programming languages Radu Iosif
A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion.
AMB HW LOW LEVEL SIMULATION VS HW OUTPUT G. Volpi, INFN Pisa.
An Investigation of Xen and PTLsim for Exploring Latency Constraints of Co-Processing Units Grant Jenks UCLA.
Dynamic Analysis and Visualizing of Data Structures in Java Programs Presented by Sokhom Pheng (Supervisor: Clark Verbrugge) McGill University February.
T Project Review RoadRunners [IM3] Iteration
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
HYPR Project Presentation By Nasser Abbasi HYPR Input-Output view.
Unit 13 –JQuery Basics Instructor: Brent Presley.
AdaptJ Sookmyung Women’s Univ. PSLAB. 1. 목차 1. Overview 2. Collecting Trace Data using the AdaptJ Agent 2.1 Recording a Trace 3. Analyzing Trace Data.
CHAPTER 4 Fragments ActionBar Menus. Explore how to build applications that use an ActionBar and Fragments Understand the Fragment lifecycle Learn to.
Functional Processing of Collections (Advanced) 6.0.
RealTimeSystems Lab Jong-Koo, Lim
Software, IEE Proceedings, Vol.152, Num.3, June 2005,Page(s): Prasanthi.S March, Java-based component framework for dynamic reconfiguration.
Chapter 12: Support for Object- Oriented Programming Lecture # 18.
Java-based component framework for dynamic reconfiguration 소프트웨어 재사용 방법론 2011 년 3 월 22 일 ( 화 ) 발표자 : 전승우.
(Not too) Real-Time JVM (Progress Report)
Multitasking without Compromise: a Virtual Machine Evolution
More Sophisticated Behavior
CS1101X Programming Methodology
Chapter 2: System Structures
Network Assignment and Equilibrium for Disaggregate Models
A Software Architecture Model……
Introduction Enosis Learning.
Java Virtual Machine Complete subject details are available at:
Yunsik Son1, Seman Oh1, Yangsun Lee2
Introduction Enosis Learning.
What’s changed in the Shibboleth 1.2 Origin
.Net Framework Details Imran Rashid CTO at ManiWeber Technologies.
Financial Engineering Modification of the Council Regulation
Chapter 3: Processes.
Sookmyung Women’s Univ. PSLAB
Lecture 9: Caching and Demand-Paged Virtual Memory
Congestion Control Comments Resolution
SPL – PS1 Introduction to C++.
Presentation transcript:

Title 1 New debug/profile features in J2SE 6 Ivan Popov, May, 2006 Intel Corporation

Title 2 New features in J2SE 6 (JSR-270, core/debug) Access to heap contents (JDI, JDWP) rewritten JVMTI functions and callbacks for heap iteration new JDI and JDWP functions for finding objects in heap Attach-on-demand (JVMTI, java.lang.instrument) new entry points for dynamically loaded JVMTI and Java agents no spec for dynamic loading mechanism (implementation dependent) Multiple simultaneous agents (JVMTI, java.lang.instrument) defined algorithm of sequential classfile transformation introduced transformation capable/incapable agents new function RetransformClasses() in addition to RedefineClasses() support for instrumenting native calls by providing Java wrappers Several other changes in JVMTI, JDI, JDWP Getting monitor info for stack frames, access to constant pool, etc. JVMDI and JVMPI are removed

Title 3 Access to heap content JVMTI new set of heap iteration functions and callbacks similar functionality but new design old functions are still in JVMTI spec (marked version 1.0) JDI/JDWP Get all objects of a given class Get all objects which refer to a given object

Title 4 Attach-on-demand JVMTI: new entry point for dynamically loaded JVMTI agents Agent_OnAttach() vs. Agent_OnLoad() java.lang.instrument: new entry point for dynamically loaded Java agents agentmain() vs. premain() Problems: no spec for algorithm of dynamic agent loading – it is implementation specific no particular support for detach-on-demand

Title 5 Multiple simultaneous agents (bytecode instrumentation) JVMTI: described support for multiple classfile transformations introduced classfile retransformation algorithm for new transformation capable agents supports classfile redefinition algorithm for old transformation incapable agents clarified semantics of RedefineClasses(), RetransformClasses(), CLASS_FILE_LOAD_HOOK for agents of both kinds the whole algorithm is quite sophisticated java.lang.instrument: similar features for Java agents

Title 6 New features in J2SE 6 (JSR-270, core/debug) Access to heap contents (JDI, JDWP) rewritten JVMTI functions and callbacks for heap iteration new JDI and JDWP functions for finding objects in heap Attach-on-demand (JVMTI, java.lang.instrument) new entry points for dynamically loaded JVMTI and Java agents no spec for dynamic loading mechanism (implementation dependent) Multiple simultaneous agents (JVMTI, java.lang.instrument) defined algorithm of sequential classfile transformation introduced transformation capable/incapable agents new function RetransformClasses() in addition to RedefineClasses() support for instrumenting native calls by providing Java wrappers Several other changes in JVMTI, JDI, JDWP Getting monitor info for stack frames, access to constant pool, etc. JVMDI and JVMPI are removed

Title 7 Instrumenting native calls JVMTI: replacing native methods with Java wrappers adding prefixes for renaming original native methods managing prefixes for single and multiple agents clarified algorithm for binding native methods using prefixes the overall algorithm is quite sophisticated

Title 8 Other spec changes JVMTI, JDWP, JDI: Get locked monitors for frames new functions return association between frames and locked monitors support for monitor events on JDI/JDWP level Access to constant pool get classfile major/minor version get constant pool bytes Checking unmodifiable classes new function checks if class bytecode can be modified Force early method return new function to force method to return with given value new METHOD_EXIT_WITH_RETURN_VALUE event in JDI/JDWP

Title 9 Other spec changes (cont.) JVMTI: modification of class path for both bootstrap and system loaders: AddToSystemClassLoaderSearch vs. AddToBootstrapClassLoaderSearch JDI/JDWP: source file filter for CLASS_PREPARE events new JDI connector ProcessAttach uses PID for attaching to process eliminates knowing port number for attaching connection transport is determined dynamically and reported as local no details of the algorithm