Matches in SemOpenAlex for { <https://semopenalex.org/work/W2435692892> ?p ?o ?g. }
- W2435692892 abstract "Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). JVM performance is determined by several major components: execution engine, garbage collector, and threading system. The static compilation and optimization approach, such as taken in C/C++ compilers, does not fit in Java's execution model very well because Java allows dynamic class loading, lazy resolution, just-in-time (JIT) compilation, and garbage collection. These dynamic features presents new challenges to JVM designers. In this thesis, we study both the challenges and opportunities of dynamic optimizations in Java virtual machines. Our contributions include a new garbage collector using dynamic techniques and dynamic interprocedural program analyses for speculative optimizations in JIT compilers. We present a novel approach for reducing garbage collection frequencies. Instead of relying on an ahead-of-time escape analysis or a region-based type system, our approach adapts regions based on the runtime history of an application. By freeing regions with associated stack frames, the system can reduce the frequency of garbage collections. We present the overall idea and provide details of a specific design and implementation. Dynamic class loading is a two-edged sword. A JIT compiler can speculatively optimize methods base on loaded classes only. However, newly loaded classes may invalidate previous optimization assumptions. We review existing techniques supporting speculative optimizations, including runtime guards, code patching, and on-stack replacement. We present an improvement and implementation of an on-stack replacement mechanism. A call graph is necessary for developing interprocedural program analyses. Call graph construction in a Java virtual machine needs to overcome the difficulties of dynamic class loading and lazy reference resolution. We show a general approach to adapt static type analyses to dynamic versions suitable for building call graphs in a JIT environment. We also introduce a new call graph profiling mechanism using code stubs. Having dynamic call graphs, we study reachability-based interprocedural analysis. We describe a general type analysis framework for supporting speculative method inlining in a JIT environment. Several popular type analyses were implemented in the framework, including an interprocedural one, VTA [SHR+00]. Using the framework, we present the results of a limit study of method inlining and report our findings and experience. In each chapter we discuss the related work for that chapter's topic. At the end of the thesis, we point out future research directions." @default.
- W2435692892 created "2016-06-24" @default.
- W2435692892 creator A5001020752 @default.
- W2435692892 date "2005-01-01" @default.
- W2435692892 modified "2023-09-23" @default.
- W2435692892 title "Runtime techniques and interprocedural analysis in java virtual machines" @default.
- W2435692892 cites W1514258760 @default.
- W2435692892 cites W1532200254 @default.
- W2435692892 cites W1533327484 @default.
- W2435692892 cites W1536098516 @default.
- W2435692892 cites W1536265389 @default.
- W2435692892 cites W1557792566 @default.
- W2435692892 cites W1583464938 @default.
- W2435692892 cites W1598886868 @default.
- W2435692892 cites W177800519 @default.
- W2435692892 cites W1934184837 @default.
- W2435692892 cites W1949003947 @default.
- W2435692892 cites W1969610731 @default.
- W2435692892 cites W1972969106 @default.
- W2435692892 cites W1974608873 @default.
- W2435692892 cites W1988827547 @default.
- W2435692892 cites W2000194923 @default.
- W2435692892 cites W2013724146 @default.
- W2435692892 cites W2014377495 @default.
- W2435692892 cites W2014530617 @default.
- W2435692892 cites W2017842497 @default.
- W2435692892 cites W2030281933 @default.
- W2435692892 cites W2036719919 @default.
- W2435692892 cites W2050362115 @default.
- W2435692892 cites W2051600169 @default.
- W2435692892 cites W2053636330 @default.
- W2435692892 cites W2054675073 @default.
- W2435692892 cites W2077850509 @default.
- W2435692892 cites W2083803628 @default.
- W2435692892 cites W2086232983 @default.
- W2435692892 cites W2087466192 @default.
- W2435692892 cites W2087612811 @default.
- W2435692892 cites W2087875803 @default.
- W2435692892 cites W2088019269 @default.
- W2435692892 cites W2093760065 @default.
- W2435692892 cites W2094449661 @default.
- W2435692892 cites W2102839400 @default.
- W2435692892 cites W2103091452 @default.
- W2435692892 cites W2105090082 @default.
- W2435692892 cites W2105256796 @default.
- W2435692892 cites W2113238444 @default.
- W2435692892 cites W2114067856 @default.
- W2435692892 cites W2118547657 @default.
- W2435692892 cites W2131135493 @default.
- W2435692892 cites W2149237601 @default.
- W2435692892 cites W2151360539 @default.
- W2435692892 cites W2158189533 @default.
- W2435692892 cites W2158738500 @default.
- W2435692892 cites W2159558457 @default.
- W2435692892 cites W2162405266 @default.
- W2435692892 cites W2163365446 @default.
- W2435692892 cites W2167808015 @default.
- W2435692892 cites W2167997514 @default.
- W2435692892 cites W2171240827 @default.
- W2435692892 cites W2622427009 @default.
- W2435692892 cites W2914074464 @default.
- W2435692892 cites W2502627562 @default.
- W2435692892 hasPublicationYear "2005" @default.
- W2435692892 type Work @default.
- W2435692892 sameAs 2435692892 @default.
- W2435692892 citedByCount "0" @default.
- W2435692892 crossrefType "journal-article" @default.
- W2435692892 hasAuthorship W2435692892A5001020752 @default.
- W2435692892 hasConcept C102379954 @default.
- W2435692892 hasConcept C105122174 @default.
- W2435692892 hasConcept C111919701 @default.
- W2435692892 hasConcept C119024030 @default.
- W2435692892 hasConcept C160145156 @default.
- W2435692892 hasConcept C169590947 @default.
- W2435692892 hasConcept C173608175 @default.
- W2435692892 hasConcept C199360897 @default.
- W2435692892 hasConcept C25344961 @default.
- W2435692892 hasConcept C2779818221 @default.
- W2435692892 hasConcept C41008148 @default.
- W2435692892 hasConcept C548217200 @default.
- W2435692892 hasConcept C75403996 @default.
- W2435692892 hasConcept C76782552 @default.
- W2435692892 hasConcept C8767382 @default.
- W2435692892 hasConcept C9395851 @default.
- W2435692892 hasConceptScore W2435692892C102379954 @default.
- W2435692892 hasConceptScore W2435692892C105122174 @default.
- W2435692892 hasConceptScore W2435692892C111919701 @default.
- W2435692892 hasConceptScore W2435692892C119024030 @default.
- W2435692892 hasConceptScore W2435692892C160145156 @default.
- W2435692892 hasConceptScore W2435692892C169590947 @default.
- W2435692892 hasConceptScore W2435692892C173608175 @default.
- W2435692892 hasConceptScore W2435692892C199360897 @default.
- W2435692892 hasConceptScore W2435692892C25344961 @default.
- W2435692892 hasConceptScore W2435692892C2779818221 @default.
- W2435692892 hasConceptScore W2435692892C41008148 @default.
- W2435692892 hasConceptScore W2435692892C548217200 @default.
- W2435692892 hasConceptScore W2435692892C75403996 @default.
- W2435692892 hasConceptScore W2435692892C76782552 @default.
- W2435692892 hasConceptScore W2435692892C8767382 @default.
- W2435692892 hasConceptScore W2435692892C9395851 @default.