<Insert Picture Here> Graal: A quest for the JVM to leverage its own J Doug Simon - Oracle Labs
|
|
- Dorothy Carson
- 6 years ago
- Views:
Transcription
1 <Insert Picture Here> Graal: A quest for the JVM to leverage its own J Doug Simon - Oracle Labs JVM Language Summit, 30th July 2012
2 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.the development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle. 2
3 C, C++, asm gdb, dbx, VisualStudio valgrind, vtune Java, JUnit Eclipse, NetBeans, IntelliJ JVM 3
4 Java Eclipse JUnit JVM 4
5 Java JVM JUnit Eclipse 4
6 graal.api.code graal.api.interpreter graal.api.meta graal.api JVM 5
7 Graal Compiler Bytecode Interpreter AST Interpreter Profile Analysis? graal.api.* JVM 6
8 Performance: SpecJVM Client Graal Server 9/11 2/12 4/12 7
9 HotSpot ARM CMS native threads jstack ia32 OpenJDK JDWP template interpreter Oracle G1 product SPARC Linux deopt open source JVMTI jvmstat 64-bit c2 32-bit OpenJDK c1 profiling QA jps TCK AMD64 MacOS Windows 8
10 1. Open 2. Test drive $ hg clone $ cd graal $ echo JAVA_HOME=/path/to/jdk7 > mx/env $ mx build $ mx -v unittest 3. Browse $ mx ideinit 4. Participate on graal-dev@openjdk.java.net 9
11 import java.lang.reflect.*; import com.oracle.graal.api.*; import com.oracle.graal.api.meta.*; ProfileDemo.java class ProfileDemo { public static void main(string[] args) throws Exception { MetaAccessProvider meta = Graal.getRuntime(). getcapability(metaaccessprovider.class); Method m = String.class.getMethod("valueOf", Object.class); ResolvedJavaMethod rjm = meta.getresolvedjavamethod(m); ProfilingInfo info = rjm.profilinginfo(); System.out.println(MetaUtil.profileToString(info, rjm, "\n")); $ mx vm -XX:-BootstrapGraal ProfileDemo canbestaticallybound: true invocationcount: 923 executioncount@1: 2600 branchprobability@1: executioncount@6: 0 branchprobability@6: executioncount@10: 2609 types@10: (HotSpotType<java/lang/String, resolved>) (HotSpotType<com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod, resolved>) (HotSpotType<com/oracle/graal/nodes/LocalNode, resolved>) <not recorded> 10
12 import java.lang.reflect.*; import org.junit.*; import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; class CompilerTest { void test(method m, ResolvedJavaMethod rjm, InstalledCode code, Object obj, Object... args) { Object expect = m.invoke(obj, args); Object actual = code.execute(obj, args); Assert.assertEquals(expect, actual); 11
13 Graal Compiler vision Create an extensible, dynamic compiler using object-oriented Java programming, a graph intermediate representation, and Java snippets. 12
14 $ mx projectgraph dot -Tpdf -oprojects.pdf 13
15 class DirectObjectStoreNode extends FixedWithNextNode implements Lowerable private ValueNode private ValueNode private ValueNode offset; private final int public void lower(loweringtool tool) { // tool.getruntime().lower(this, tool); StructuredGraph graph = (StructuredGraph) this.graph(); IndexedLocationNode location = create(any_location, value.kind(), displacement, offset, graph, false); WriteNode write = new WriteNode(object, value, location); graph.replacefixedwithfixed(this, graph.add(write)); 14
16 $ mx igv 15
17 DirectObjectStoreNode(ValueNode object, int displacement, ValueNode offset, ValueNode value) static void storeobject(object int displacement, long offset, Object value) { throw new UnsupportedOperationException();... int offset = secondarysupercacheoffset(); DirectObjectStoreNode.storeObject(s, offset, 0, static int secondarysupercacheoffset() {... 16
18 void initialize(graph newgraph) { this.graph = newgraph; newgraph.register(this); usages = new NodeUsagesList(); for (Node input : inputs()) { updateusages(null, input); for (Node successor : successors()) { updatepredecessor(null, successor);... Node.java... Graph.java <T extends Node & IterableNodeType> NodeIterable<T> getnodes(final Class<T> type) {... 17
19 protected void editphaseplan( ResolvedJavaMethod method, StructuredGraph graph, PhasePlan phaseplan) {... protected void editphaseplan( ResolvedJavaMethod method, StructuredGraph graph, PhasePlan phaseplan) { phaseplan.disablephase(inliningphase.class); static String invokespecial(invoketest a, String s) { return a.privatemethod(s); 18
20 protected InstalledCode getcode( GraalCompilerTest.java ResolvedJavaMethod method, StructuredGraph graph, boolean forcecompile) {... JavaTypeProfile profile; // set per test protected InstalledCode getcode(resolvedjavamethod method, StructuredGraph graph) { CheckCastNode ccn = graph.getnodes(checkcastnode.class).first(); if (ccn!= null) { ResolvedJavaType tt = ccn.targettype(); ValueNode tti = ccn.targettypeinstruction(); CheckCastNode subst = graph.add( new CheckCastNode(tti, tt, ccn.object(), profile)); graph.replacefixedwithfixed(ccn, subst); return super.getcode(method, graph); 19
21 Snippets: Lowering with static Object Object Object boolean checknull) { if (checknull && object == null) { return object; Object objecthub = loadobject(object, 0, huboffset(), true); if (objecthub!= exacthub) { deopt(invalidatereprofile, ClassCastException); return static Object loadobject(...) static void deopt(...) static int huboffset() {... 20
22 @ConstantParameter("checkNull") checkcastexact checkcastexact{checknull==true 21
23 Graal Compiler Bytecode Interpreter AST Interpreter graal.api.* + client graal server? 4/12 22
24 Acknowledgements Oracle Labs Doug Simon Christian Wimmer Thomas Wuerthinger JKU Linz Gilles Duboscq Christian Haeubl Lukas Stadler Discussions: Laurent Daynes, Michael Haupt, Mick Jordan, Rémi Forax, Peter Kessler, Marcus Lagergren, Martin Odersky & the Scala EPFL, Frederik Ohrstrom, John Rose, Christian Thalinger, Michael Van De Vanter, Mikael Vidstedt, Mario Wolczko 23
25 Q & A $ hg clone $ cd graal $ echo JAVA_HOME=/path/to/jdk7 > mx/env $ mx build $ mx -v unittest 24
26
1 Copyright 2012, Oracle and/or its affiliates. All rights reserved.
1 Copyright 2012, Oracle and/or its affiliates. All rights reserved. Truffle: A Self-Optimizing Runtime System Thomas Wuerthinger Oracle Labs JVM Language Summit, July 31, 2012 2 Copyright 2012, Oracle
More information<Insert Picture Here> Maxine: A JVM Written in Java
Maxine: A JVM Written in Java Michael Haupt Oracle Labs Potsdam, Germany The following is intended to outline our general product direction. It is intended for information purposes
More information<Insert Picture Here>
1 2010-0237 The Maxine Inspector: A Specialized Tool for VM Development, Santa Clara, CA Michael L. Van De Vanter Researcher, Oracle Sun Labs The Maxine Project at Oracle Sun Labs:
More informationCopyright 2012, Oracle and/or its affiliates. All rights reserved.
1 Truffle: A Self-Optimizing Runtime System Christian Wimmer, Thomas Würthinger Oracle Labs Write Your Own Language Current situation How it should be Prototype a new language Parser and language work
More informationCopyright 2014 Oracle and/or its affiliates. All rights reserved.
Copyright 2014 Oracle and/or its affiliates. All rights reserved. On the Quest Towards Fastest (Java) Virtual Machine on the Planet! @JaroslavTulach Oracle Labs Copyright 2015 Oracle and/or its affiliates.
More informationGuilt Free Ruby on the JVM
The Ruby logo is Copyright 2006, Yukihiro Matsumoto. It is licensed under the terms of the Creative Commons Attribution-ShareAlike 2.5 License agreement. Guilt Free Ruby on the JVM Forgetting Conventional
More informationJRuby+Truffle. Kevin Menard. Chris Seaton. Benoit Daloze. A tour through a new Ruby Oracle Oracle Labs
JRuby+Truffle A tour through a new Ruby implementahon Chris Seaton @ChrisGSeaton Oracle Labs Benoit Daloze @eregontp JKU Linz Kevin Menard @nirvdrum Oracle Labs Ruby logo copyright (c) 2006, Yukihiro Matsumoto,
More informationJRuby+Truffle. Why it s important to optimise the tricky parts. Chris Seaton Research Manager Oracle Labs 2 June 2016
The Ruby Logo is Copyright (c) 2006, Yukihiro Matsumoto. It is licensed under the terms of the Creative Commons Attribution-ShareAlike 2.5 agreement. JRuby+Truffle Why it s important to optimise the tricky
More informationSnippets: Taking the High Road to a Low Level
Snippets: Taking the High Road to a Low Level DOUG SIMON and CHRISTIAN WIMMER, Oracle Labs BERNHARD URBAN, Institute for System Software, Johannes Kepler University Linz, Austria GILLES DUBOSCQ, LUKAS
More informationFaster Ruby and JS with Graal/Truffle
The Ruby Logo is Copyright (c) 2006, Yukihiro Matsumoto. It is licensed under the terms of the Creative Commons Attribution-ShareAlike 2.5 agreement. Faster Ruby and JS with Graal/Truffle Chris Seaton
More informationR as a in a Polyglot World
R as a Ci@zen in a Polyglot World The promise of the Truffle framework Lukas Stadler, VM Research Group, Oracle Labs user! 2015 2 Safe Harbor Statement The following is intended to provide some insight
More informationTruffle A language implementation framework
Truffle A language implementation framework Boris Spasojević Senior Researcher VM Research Group, Oracle Labs Slides based on previous talks given by Christian Wimmer, Christian Humer and Matthias Grimmer.
More informationDynamic Compilation with Truffle
Dynamic Compilation with Truffle Thomas Wuerthinger @thomaswue Oracle Labs Christian Humer @grashalm_ Oracle Labs DSLDI Summer School 2015 Copyright 2015 Oracle and/or its affiliates. All rights reserved.
More informationDebugging at Full Speed
Oracle Labs Document 2014-0221 Debugging at Full Speed Instrumen)ng Truffle- implemented Programs Michael L. Van De Vanter Oracle Labs, VM Research Group July 30, 2014 2014 JVM Language Summit Santa Clara,
More information<Insert Picture Here> Multi-language JDI? You're Joking, Right?
Multi-language JDI? You're Joking, Right? Jim Laskey Multi-language Lead Java Language and Tools Group The following is intended to outline our general product direction. It is intended
More informationOracle R Technologies
Oracle R Technologies R for the Enterprise Mark Hornick, Director, Oracle Advanced Analytics @MarkHornick mark.hornick@oracle.com Safe Harbor Statement The following is intended to outline our general
More informationAhead of Time (AOT) Compilation
Ahead of Time (AOT) Compilation Vaibhav Choudhary (@vaibhav_c) Java Platforms Team https://blogs.oracle.com/vaibhav Copyright 2018, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement
More informationJDK 9/10/11 and Garbage Collection
JDK 9/10/11 and Garbage Collection Thomas Schatzl Senior Member of Technical Staf Oracle JVM Team May, 2018 thomas.schatzl@oracle.com Copyright 2017, Oracle and/or its afliates. All rights reserved. 1
More informationJVM Continuations. Lukas Stadler. Johannes Kepler University Linz, Austria
JVM Continuations Lukas Stadler Johannes Kepler University Linz, Austria Agenda Continuations Uses for continuations Common implementation techniques Our lazy approach Implementation Summary Continuations
More informationMission Possible - Near zero overhead profiling. Klara Ward Principal Software Developer Java Mission Control team, Oracle February 6, 2018
Mission Possible - Near zero overhead profiling Klara Ward Principal Software Developer Java Mission Control team, Oracle February 6, 2018 Hummingbird image by Yutaka Seki is licensed under CC BY 2.0 Copyright
More informationUsing LLVM and Sulong for Language C Extensions
Using LLVM and Sulong for Language C Extensions Chris Seaton Research Manager VM Research Group Oracle Labs Manuel Rigger, Matthias Grimmer JKU Linz Copyright 2016, Oracle and/or its affiliates. All rights
More informationCURRICULUM VITAE. DI Dr. Matthias Grimmer Michael-Hainisch-Straße Linz
CURRICULUM VITAE Full Name Address Date of Birth Citizenship Phone Email Website GitHub DI Dr. Michael-Hainisch-Straße 18 4040 Linz March 2, 1989 Austria (+43) 664 784 21 52 contact@matthiasgrimmer.com
More informationCS/B.TECH/CSE(New)/SEM-5/CS-504D/ OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 GROUP A. (Multiple Choice Type Question)
CS/B.TECH/CSE(New)/SEM-5/CS-504D/2013-14 2013 OBJECT ORIENTED PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give their answers
More information<Insert Picture Here> OpenJDK - When And How To Contribute To The Java SE Reference Implementation OSCON 2011, July 26th, 2011
OpenJDK - When And How To Contribute To The Java SE Reference Implementation OSCON 2011, July 26th, 2011 Dalibor Topić Java F/OSS Ambassador The following is intended to outline our
More information<Insert Picture Here> JSR-335 Update for JCP EC Meeting, January 2012
JSR-335 Update for JCP EC Meeting, January 2012 Alex Buckley Oracle Corporation The following is intended to outline our general product direction. It is intended for information
More informationJava language. Part 1. Java fundamentals. Yevhen Berkunskyi, NUoS
Java language Part 1. Java fundamentals Yevhen Berkunskyi, NUoS eugeny.berkunsky@gmail.com http://www.berkut.mk.ua What Java is? Programming language Platform: Hardware Software OS: Windows, Linux, Solaris,
More informationPASS4TEST IT 인증시험덤프전문사이트
PASS4TEST IT 인증시험덤프전문사이트 http://www.pass4test.net 일년동안무료업데이트 Exam : 1z0-809 Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z0-809 Exam's Question and Answers 1 from
More informationFastR: Status and Outlook
FastR: Status and Outlook Michael Haupt Tech Lead, FastR Project Virtual Machine Research Group, Oracle Labs June 2014 Copyright 2014 Oracle and/or its affiliates. All rights reserved. CMYK 0/100/100/20
More informationUnleash the power of Essbase Custom Defined Functions
Unleash the power of Essbase Custom Defined Functions Toufic Wakim, Architect 06/27/2011 Safe Harbor Statement The following is intended to outline our general product direction.
More informationTutorial 1 CSC 201. Java Programming Concepts عؾادئماظربجمةمبادؿكدامماجلاصا
Tutorial 1 CSC 201 Java Programming Concepts عؾادئماظربجمةمبادؿكدامماجلاصا م- م- م- م- م- Chapter 1 1. What is Java? 2. Why Learn Java? a. Java Is Platform Independent b. Java is Easy to learn 3. Programming
More informationA Fast Abstract Syntax Tree Interpreter for R
A Fast Abstract Syntax Tree Interpreter for R Java cup Petr Maj Jan Vitek Tomas Kalibera Floréal Morandat Thesis Runtime information can be leveraged to create simple, fast, easy to maintain interpreters
More information엄현상 (Eom, Hyeonsang) School of Computer Science and Engineering Seoul National University COPYRIGHTS 2017 EOM, HYEONSANG ALL RIGHTS RESERVED
엄현상 (Eom, Hyeonsang) School of Computer Science and Engineering Seoul National University COPYRIGHTS 2017 EOM, HYEONSANG ALL RIGHTS RESERVED Outline - Questionnaire Results - Java Overview - Java Examples
More informationThe Z Garbage Collector Low Latency GC for OpenJDK
The Z Garbage Collector Low Latency GC for OpenJDK Per Lidén & Stefan Karlsson HotSpot Garbage Collection Team Jfokus VM Tech Summit 2018 Safe Harbor Statement The following is intended to outline our
More informationMethodHandle implemention tips and tricks
MethodHandle implemention tips and tricks Dan Heidinga J9 VM Software Developer daniel_heidinga@ca.ibm.com J9 Virtual Machine 2011 IBM Corporation MethodHandles: a 30 sec introduction A method handle is
More informationWhat*Language* Would*You*Like*to*Run?*
What*Language* Would*You*Like*to*Run?* Michael*Haupt* Oracle*Labs* March*2015* Safe*Harbor*Statement* The*following*is*intended*to*provide*some*insight*into*a*line*of*research*in*Oracle*Labs.*It* is*intended*for*informaoon*purposes*only,*and*may*not*be*incorporated*into*any*
More informationJDB - QUICK GUIDE JDB - INTRODUCTION
http://www.tutorialspoint.com/jdb/jdb_quick_guide.htm JDB - QUICK GUIDE Copyright tutorialspoint.com JDB - INTRODUCTION Debugging is a technical procedure to find and remove bugs or defects in a program
More informationIntroduction. Introduction to OOP with Java. Lecture 01: Introduction to OOP with Java - AKF Sep AbuKhleiF -
Introduction to OOP with Java Instructor: AbuKhleif, Mohammad Noor Sep 2017 www.abukhleif.com Lecture 01: Introduction Instructor: AbuKhleif, Mohammad Noor Sep 2017 www.abukhleif.com AbuKhleiF - www.abukhleif.com
More informationWelcome to the session...
Welcome to the session... Copyright 2013, Oracle and/or its affiliates. All rights reserved. 02/22/2013 1 The following is intended to outline our general product direction. It is intended for information
More informationIntroduction to OOP with Java. Instructor: AbuKhleif, Mohammad Noor Sep 2017
Introduction to OOP with Java Instructor: AbuKhleif, Mohammad Noor Sep 2017 Lecture 01: Introduction Instructor: AbuKhleif, Mohammad Noor Sep 2017 Instructor AbuKhleif, Mohammad Noor Studied Computer Engineer
More informationPROGRAMMING FUNDAMENTALS
PROGRAMMING FUNDAMENTALS Q1. Name any two Object Oriented Programming languages? Q2. Why is java called a platform independent language? Q3. Elaborate the java Compilation process. Q4. Why do we write
More informationIntroduction to Java
Introduction to Java Module 1: Getting started, Java Basics 22/01/2010 Prepared by Chris Panayiotou for EPL 233 1 Lab Objectives o Objective: Learn how to write, compile and execute HelloWorld.java Learn
More informationOutline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring
Java Outline Java Models for variables Types and type checking, type safety Interpretation vs. compilation Reasoning about code CSCI 2600 Spring 2017 2 Java Java is a successor to a number of languages,
More informationJAVA PERFORMANCE. PR SW2 S18 Dr. Prähofer DI Leopoldseder
JAVA PERFORMANCE PR SW2 S18 Dr. Prähofer DI Leopoldseder OUTLINE 1. What is performance? 1. Benchmarking 2. What is Java performance? 1. Interpreter vs JIT 3. Tools to measure performance 4. Memory Performance
More informationManual for Basic Java
Java Boot Camp Boot Camp Manual for Basic Java By The contents of this document are the sole and exclusive property of AgileTestingAlliance.org. They may not be disclosed to any third party, copied or
More informationSubstrate VM. Copyright 2017, Oracle and/or its affiliates. All rights reserved.
Substrate VM 1 Safe Harbor Statement The following is intended to provide some insight into a line of research in Oracle Labs. It is intended for information purposes only, and may not be incorporated
More informationCOE318 Lecture Notes Week 10 (Nov 7, 2011)
COE318 Software Systems Lecture Notes: Week 10 1 of 5 COE318 Lecture Notes Week 10 (Nov 7, 2011) Topics More about exceptions References Head First Java: Chapter 11 (Risky Behavior) The Java Tutorial:
More informationClass, Variable, Constructor, Object, Method Questions
Class, Variable, Constructor, Object, Method Questions http://www.wideskills.com/java-interview-questions/java-classes-andobjects-interview-questions https://www.careerride.com/java-objects-classes-methods.aspx
More informationJava Bytecode (binary file)
Java is Compiled Unlike Python, which is an interpreted langauge, Java code is compiled. In Java, a compiler reads in a Java source file (the code that we write), and it translates that code into bytecode.
More informationScala. Introduction. Scala
Scala Introduction 1 Scala Scala was proposed by Professor Martin Odersky and his group at EPFL in 2003 to provide a highperformance, concurrent-ready environment for functional programming and object-oriented
More informationBefore you start with this tutorial, you need to know basic Java programming.
JDB Tutorial 1 About the Tutorial The Java Debugger, commonly known as jdb, is a useful tool to detect bugs in Java programs. This is a brief tutorial that provides a basic overview of how to use this
More informationIntroduction to Java. Lecture 1 COP 3252 Summer May 16, 2017
Introduction to Java Lecture 1 COP 3252 Summer 2017 May 16, 2017 The Java Language Java is a programming language that evolved from C++ Both are object-oriented They both have much of the same syntax Began
More informationAlan Bateman Java Platform Group, Oracle November Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1
Alan Bateman Java Platform Group, Oracle November 2018 Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1 Project Loom Continuations Fibers Tail-calls Copyright 2018, Oracle and/or its
More informationProject Loom Ron Pressler, Alan Bateman June 2018
Project Loom Ron Pressler, Alan Bateman June 2018 Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1 Safe Harbor Statement The following is intended to outline our general product direction.
More informationCompiling Java For High Performance on Servers
Compiling Java For High Performance on Servers Ken Kennedy Center for Research on Parallel Computation Rice University Goal: Achieve high performance without sacrificing language compatibility and portability.
More informationVendor: Oracle. Exam Code: 1Z Exam Name: Java SE 8 Programmer. Version: Demo
Vendor: Oracle Exam Code: 1Z0-808 Exam Name: Java SE 8 Programmer Version: Demo DEMO QUESTION 1 Which of the following data types will allow the following code snippet to compile? A. long B. double C.
More informationComputational Applications in Nuclear Astrophysics using Java Java course Lecture 1
Computational Applications in Nuclear Astrophysics using Java Java course Lecture 1 Prepared for course 160410/411 Michael C. Kunkel m.kunkel@fz-juelich.de Materials taken from; docs.oracle.com Teach Yourself
More informationJava Code Coverage Mechanics
at by Evgeny Mandrikov Java Code Coverage Mechanics #DevoxxFR Evgeny Mandrikov @_Godin_.com/Godin one of JaCoCo and Eclipse EclEmma Project Leads Disclaimer /* TODO don't forget to add huge disclaimer
More information2011 Oracle Corporation and Affiliates. Do not re-distribute!
How to Write Low Latency Java Applications Charlie Hunt Java HotSpot VM Performance Lead Engineer Who is this guy? Charlie Hunt Lead JVM Performance Engineer at Oracle 12+ years of
More informationJava in a World of Containers
Java in a World of Containers mikael.vidstedt@oracle.com Not-coder, JVM @MikaelVidstedt matthew.gilliard@oracle.com Coder, not-jvm @MaximumGilliard Copyright 2017, Oracle and/or its affiliates. All rights
More informationDelft-Java Link Translation Buffer
Delft-Java Link Translation Buffer John Glossner 1,2 and Stamatis Vassiliadis 2 1 Lucent / Bell Labs Advanced DSP Architecture and Compiler Research Allentown, Pa glossner@lucent.com 2 Delft University
More informationVendor: Oracle. Exam Code: 1Z Exam Name: Java Certified Programmer. Version: Demo
Vendor: Oracle Exam Code: 1Z0-501 Exam Name: Java Certified Programmer Version: Demo QUESTION NO: 1 Which statement is true? A. An anonymous inner class may be declared as final. B. An anonymous inner
More informationMethodHandlesArrayElementGetterBench.testCreate Analysis. Copyright 2016, Oracle and/or its affiliates. All rights reserved.
MethodHandlesArrayElementGetterBench.testCreate Analysis Overview Benchmark : nom.indy.methodhandlesarrayelementgetterbench.testcreate Results with JDK8 (ops/us) JDK8 Intel 234 T8 T8 with -XX:FreqInlineSize=325
More informationUnrestricted and Safe Dynamic Code Evolution for Java
Unrestricted and Safe Dynamic Code Evolution for Java Thomas Würthinger a, Christian Wimmer b, Lukas Stadler a a Institute for System Software, Christian Doppler Laboratory for Automated Software Engineering,
More informationEnd-to-End Java Security Performance Enhancements for Oracle SPARC Servers Performance engineering for a revenue product
End-to-End Java Security Performance Enhancements for Oracle SPARC Servers Performance engineering for a revenue product Luyang Wang, Pallab Bhattacharya, Yao-Min Chen, Shrinivas Joshi and James Cheng
More informationJSR 292 Cookbook: Fresh Recipes with New Ingredients
JSR 292 Cookbook: Fresh Recipes with New Ingredients John Rose Christian Thalinger Sun Microsystems Overview Got a language cooking on the JVM? JSR 292, a set of major changes to the JVM architecture,
More informationReview what constitutes a thread Creating threads general Creating threads Java What happens if synchronization is not used? Assignment.
Review what constitutes a thread Creating threads general Creating threads Java What happens if synchronization is not used? Assignment Overview What constitutes a thread? Instruction pointer Stack space
More informationTrace Compilation. Christian Wimmer September 2009
Trace Compilation Christian Wimmer cwimmer@uci.edu www.christianwimmer.at September 2009 Department of Computer Science University of California, Irvine Background Institute for System Software Johannes
More informationGraphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub
Lebanese University Faculty of Science Computer Science BS Degree Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub 2 Crash Course in JAVA Classes A Java
More informationWednesday, May 30, 12
JDK 7 Updates in OpenJDK LinuxTag, May 23rd 2012 Dalibor Topić (@robilad) Principal Product Manager The following is intended to outline our general product direction. It is intended
More informationResearch compiler that will become Scala 3 Type system internals redesigned, inspired by DOT, but externally very similar More info:
INTEGRATING IDEs WITH DOTTY Guillaume Martres - EPFL 1 WHAT IS DOTTY? Research compiler that will become Scala 3 Type system internals redesigned, inspired by DOT, but externally very similar More info:
More informationCOE318 Lecture Notes Week 3 (Week of Sept 17, 2012)
COE318 Lecture Notes: Week 3 1 of 8 COE318 Lecture Notes Week 3 (Week of Sept 17, 2012) Announcements Quiz (5% of total mark) on Wednesday, September 26, 2012. Covers weeks 1 3. This includes both the
More informationCompSci 125 Lecture 02
Assignments CompSci 125 Lecture 02 Java and Java Programming with Eclipse! Homework:! http://coen.boisestate.edu/jconrad/compsci-125-homework! hw1 due Jan 28 (MW), 29 (TuTh)! Programming:! http://coen.boisestate.edu/jconrad/cs125-programming-assignments!
More informationSelected Questions from by Nageshwara Rao
Selected Questions from http://way2java.com by Nageshwara Rao Swaminathan J Amrita University swaminathanj@am.amrita.edu November 24, 2016 Swaminathan J (Amrita University) way2java.com (Nageshwara Rao)
More informationObjectives. Problem Solving. Introduction. An overview of object-oriented concepts. Programming and programming languages An introduction to Java
Introduction Objectives An overview of object-oriented concepts. Programming and programming languages An introduction to Java 1-2 Problem Solving The purpose of writing a program is to solve a problem
More informationClasses and Objects 3/28/2017. How can multiple methods within a Java class read and write the same variable?
Peer Instruction 8 Classes and Objects How can multiple methods within a Java class read and write the same variable? A. Allow one method to reference a local variable of the other B. Declare a variable
More informationThe OpenJDK Project Past And Present
The OpenJDK Project Past And Present Red Hat Open Source Java Team March 2014 1 Agenda What Is the OpenJDK Project? How Is It Run? How Can I Contribute? Where Now and Next? 2 Agenda What Is the OpenJDK
More informationCOMP6700/2140 JDK Tools
COMP6700/2140 JDK Tools Alexei B Khorev and Joshua Milthorpe Research School of Computer Science, ANU February 2017 Alexei B Khorev and Joshua Milthorpe (RSCS, ANU) COMP6700/2140 JDK Tools February 2017
More informationOracle Solaris Remote Lab A Solaris 11 Adoption Tool
Oracle Solaris 11 Developer Webinar Series Oracle Solaris Remote Lab A Solaris 11 Adoption Tool Ron Larson Dale Layfield Oracle Systems ISV Engineering The following is intended to outline our general
More informationCS 11 java track: lecture 1
CS 11 java track: lecture 1 Administrivia need a CS cluster account http://www.cs.caltech.edu/ cgi-bin/sysadmin/account_request.cgi need to know UNIX www.its.caltech.edu/its/facilities/labsclusters/ unix/unixtutorial.shtml
More informationA JAVA VIRTUAL MACHINE FOR RISC-V PORTING THE JIKES RESEARCH VM
A JAVA VIRTUAL MACHINE FOR RISC-V PORTING THE JIKES RESEARCH VM Martin Maas, UC Berkeley (maas@eecs.berkeley.edu) 5th RISC-V Workshop, Nov 30, 2016 Mountain View, CA 3 WHY DO WE NEED A JVM PORT? Run Java
More informationProject Lambda in Java SE 8
Project Lambda in Java SE 8 Daniel Smith Java Language Designer 1 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated
More informationChapter. Focus of the Course. Object-Oriented Software Development. program design, implementation, and testing
Introduction 1 Chapter 5 TH EDITION Lewis & Loftus java Software Solutions Foundations of Program Design 2007 Pearson Addison-Wesley. All rights reserved Focus of the Course Object-Oriented Software Development
More informationUnder the Hood: The Java Virtual Machine. Problem: Too Many Platforms! Compiling for Different Platforms. Compiling for Different Platforms
Compiling for Different Platforms Under the Hood: The Java Virtual Machine Program written in some high-level language (C, Fortran, ML, ) Compiled to intermediate form Optimized Code generated for various
More informationCS 302 Week 9. Jim Williams
CS 302 Week 9 Jim Williams This Week P2 Milestone 3 Lab: Instantiating Classes Lecture: Wrapper Classes More Objects (Instances) and Classes Next Week: Spring Break Will this work? Double d = new Double(10);
More informationII. Compiling and launching from Command-Line, IDE A simple JAVA program
Contents Topic 01 - Java Fundamentals I. Introducing JAVA II. Compiling and launching from Command-Line, IDE A simple JAVA program III. How does JAVA work IV. Review - Programming Style, Documentation,
More informationApache NetBeans 9.0 New and Noteworthy
Apache NetBeans 9.0 New and Noteworthy Note: NetBeans 9 is a work in progress and not released yet. Below is a list of features it will have. NetBeans 9 runtime platforms are only JDK8 and JDK9. Until
More informationGetting started with Java
Getting started with Java by Vlad Costel Ungureanu for Learn Stuff Programming Languages A programming language is a formal constructed language designed to communicate instructions to a machine, particularly
More informationITEC1620 Object-Based Programming. Lecture 13
ITEC1620 Object-Based Programming Lecture 13 References A Simple Class AnInt objecta = new AnInt(); AnInt objectb = new AnInt(); objecta objectb AnInt AnInt value value Value Assignments objecta.value
More informationThe Z Garbage Collector Scalable Low-Latency GC in JDK 11
The Z Garbage Collector Scalable Low-Latency GC in JDK 11 Per Lidén (@perliden) Consulting Member of Technical Staff Java Platform Group, Oracle October 24, 2018 Safe Harbor Statement The following is
More information<Insert Picture Here> Adventures in JSR-292 or How To Be A Duck Without Really Trying
Adventures in JSR-292 or How To Be A Duck Without Really Trying Jim Laskey Multi-language Lead Java Language and Tools Group The following is intended to outline our general product
More informationThe JVM is not observable enough (and what to do about it)
The JVM is not observable enough (and what to do about it) Stephen Kell stephen.kell@usi.ch University of Lugano joint work with: Danilo Ansaloni, Walter Binder, Lukáš Marek The JVM is... p.1/20 0xcafebabe
More informationIn this lab we will practice creating, throwing and handling exceptions.
Lab 5 Exceptions Exceptions indicate that a program has encountered an unforeseen problem. While some problems place programmers at fault (for example, using an index that is outside the boundaries of
More informationExceptions Questions https://www.journaldev.com/2167/java-exception-interview-questionsand-answers https://www.baeldung.com/java-exceptions-interview-questions https://javaconceptoftheday.com/java-exception-handling-interviewquestions-and-answers/
More informationMulti-Level Virtual Machine Debugging using the Java Platform Debugger Architecture
Multi-Level Virtual Machine Debugging using the Java Platform Debugger Architecture Thomas Würthinger 1, Michael L. Van De Vanter 2, and Doug Simon 2 1 Institute for System Software Johannes Kepler University
More informationWhat is Java Platform?
What is Java Platform? Java is a programming language and a computing platform for application development. It was first released by Sun Microsystem in 1995 and later acquired by Oracle Corporation. A
More informationTABLE OF CONTENTS DOCUMENT HISTORY 3
TABLE OF CONTENTS DOCUMENT HISTORY 3 UPDATE 18A 3 Revision History 3 Overview 3 Order Management 4 Test to Production Rule Migration 4 Pricing 4 Improve Price List Import 4 Manage Pricing Rules and Pricing
More informationJava Puzzle Ball Nick Ristuccia
Java Puzzle Ball Nick Ristuccia Lesson 0 What is Java? Lesson 0 is Optional Lesson 1 is where the real fun starts! But you'll need Java 8 or higher installed to run Java Puzzle Ball. Lesson 0 gives an
More informationModule Road Map. 7. Version Control with Subversion Introduction Terminology
Module Road Map 1. Overview 2. Installing and Running 3. Building and Running Java Classes 4. Refactoring 5. Debugging 6. Testing with JUnit 7. Version Control with Subversion Introduction Terminology
More informationJava Code Coverage Mechanics Evgeny Mandrikov Marc Hoffmann #JokerConf 2017, Saint-Petersburg
Java Code Coverage Mechanics Evgeny Mandrikov Marc Hoffmann #JokerConf 2017, Saint-Petersburg Evgeny Mandrikov @_Godin_ Godin Marc Hoffmann @marcandsweep marchof JaCoCo and Eclipse EclEmma Project Leads
More informationDNS Level 100. Rohit Rahi November Copyright 2018, Oracle and/or its affiliates. All rights reserved.
DNS Level 100 Rohit Rahi November 2018 1 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated
More information