Filters








69,455 Hits in 4.0 sec

Precise Exception Semantics in Dynamic Compilation [chapter]

Michael Gschwind, Erik Altman
2002 Lecture Notes in Computer Science  
This introduces uncertainty into liveness analysis since processor state that is otherwise dead may be exposed when an exception handler is invoked.  ...  The approach is based on maintaining enough state to recompute the processor state when an unpredicted event such as a synchronous exception may make otherwise dead processor state visible.  ...  any instruction is only live if its output is live.  ... 
doi:10.1007/3-540-45937-5_9 fatcat:innjad4tpfg6nfdpwhyckwgbpi

A trace-based Java JIT compiler retrofitted from a method-based compiler

Hiroshi Inoue, Hiroshige Hayashizaki, Peng Wu, Toshio Nakatani
2011 International Symposium on Code Generation and Optimization (CGO 2011)  
Our results show the potentials of trace-based compilation as an alternative or complementary approach to compiling languages with mature method-based compilers.  ...  We also discuss the issues in trace-based compilation from the viewpoint of compiler optimizations.  ...  The method-JIT can easily remove this dead store without costly global analysis because it is located at the end of the compilation scope and the compilation scope matches the live range of the variable  ... 
doi:10.1109/cgo.2011.5764692 dblp:conf/cgo/InoueHWN11 fatcat:ye5sgk2nirezhf2y7vi7pmvh6m

Certificate translation for optimizing compilers

Gilles Barthe, Benjamin Grégoire, César Kunz, Tamara Rezk
2009 ACM Transactions on Programming Languages and Systems  
The prominent approach to generate certificates for compiled code is Certifying Compilation, that automatically generates certificates for simple safety properties.  ...  Proof Carrying Code provides trust in mobile code by requiring certificates that ensure the code adherence to specific conditions.  ...  Since wp f (L ) = wp f (L), it remains to prove that σ L is in fact equal to σ L , but this is the case since the condition of liveness or liveness in assertion is the same for L and L for any register  ... 
doi:10.1145/1538917.1538919 fatcat:zdkciueauvfmjngxhynzobzoha

Certificate Translation for Optimizing Compilers [chapter]

Gilles Barthe, Benjamin Grégoire, César Kunz, Tamara Rezk
2006 Lecture Notes in Computer Science  
The prominent approach to generate certificates for compiled code is Certifying Compilation, that automatically generates certificates for simple safety properties.  ...  Proof Carrying Code provides trust in mobile code by requiring certificates that ensure the code adherence to specific conditions.  ...  Since wp f (L ) = wp f (L), it remains to prove that σ L is in fact equal to σ L , but this is the case since the condition of liveness or liveness in assertion is the same for L and L for any register  ... 
doi:10.1007/11823230_20 fatcat:5jkwom4rpbddbb36r6yv6qufoy

Securing Compilation Against Memory Probing

Frédéric Besson, Alexandre Dang, Thomas Jensen
2018 Proceedings of the 13th Workshop on Programming Languages and Analysis for Security - PLAS '18  
We consider two classic compiler passes (Dead Store Elimination and Register Allocation) and show how to validate and, if needed, modify these transformations in order to be information flow preserving  ...  The problem we address here is how to ensure that a compiler preserve these mitigation efforts and thus that secret values are not easier to obtain at assembly level than at source level.  ...  ACKNOWLEDGMENTS This work is partially funded by the grant ANR-14-CE28-0014.  ... 
doi:10.1145/3264820.3264822 dblp:conf/ccs/BessonDJ18 fatcat:tly5kb27sjd77mpn46unuuqkrm

Formal verification of a realistic compiler

Xavier Leroy
2009 Communications of the ACM  
Such a verified compiler is useful in the context of critical software and its formal verification: the verification of the compiler guarantees that the safety properties proved on the source code hold  ...  for the executable compiled code as well.  ...  A side-effect-free instruction l : op(op, r, r, l ) or l : load(κ, mode, r, r, l ) is replaced by a no-op l : nop(l ) if the result r is not live after l (dead code elimination).  ... 
doi:10.1145/1538788.1538814 fatcat:s257oqdrs5davejppnzzo44qse

Finding compiler bugs via live code mutation

Chengnian Sun, Vu Le, Zhendong Su
2016 SIGPLAN notices  
It also helps to more thoroughly stress test compilers as compilers must optimize mutated live code, whereas mutated dead code might be eliminated.  ...  Validating optimizing compilers is challenging because it is hard to generate valid test programs (i.e., those that do not expose any undefined behavior).  ...  Thus the conditional is always false.  ... 
doi:10.1145/3022671.2984038 fatcat:ndwcbtdc7razvfx5ercfc3biby

Finding compiler bugs via live code mutation

Chengnian Sun, Vu Le, Zhendong Su
2016 Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications - OOPSLA 2016  
It also helps to more thoroughly stress test compilers as compilers must optimize mutated live code, whereas mutated dead code might be eliminated.  ...  Validating optimizing compilers is challenging because it is hard to generate valid test programs (i.e., those that do not expose any undefined behavior).  ...  Thus the conditional is always false.  ... 
doi:10.1145/2983990.2984038 dblp:conf/oopsla/SunLS16 fatcat:vxjsqn6635ecpb7asdlbfjp3vi

Narrative Planning: Compilations to Classical Planning

P. Haslum
2012 The Journal of Artificial Intelligence Research  
I show that this condition can be compiled away (in more ways than one) to produce a classical planning problem that can be solved by an off-the-shelf classical planner, more efficiently than by Riedl  ...  A model of story generation recently proposed by Riedl and Young casts it as planning, with the additional condition that story characters behave intentionally.  ...  NICTA is funded by the Australian Government as represented by the Department of Broadband, Communications and the Digital Economy and the Australian Research Council through the ICT Centre of Excellence  ... 
doi:10.1613/jair.3602 fatcat:hma6kulzxvgh7dcqsgpryiwkga

Efficient application migration under compiler guidance

Kun Zhang, Santosh Pande
2005 SIGPLAN notices  
Then the compiler determines what parts of the program are dead at these points. At run time, using the current context of the call chain, a decision on whether to migrate now or later is taken.  ...  However, the migration process is expensive in terms of both time and power overheads.  ...  A live/dead part consists of sequentially connected live/dead functions. Live and dead parts appear alternately in the code.  ... 
doi:10.1145/1070891.1065913 fatcat:7lnftw4b6naynhnxqk4cdajjdy

Extensible Proof-Producing Compilation [chapter]

Magnus O. Myreen, Konrad Slind, Michael J. C. Gordon
2009 Lecture Notes in Computer Science  
As a case study, the compiler is used to construct verified interpreters for a small LISP-like language. The compiler has been implemented in the HOL4 theorem prover.  ...  Unlike previously published work on proof-producing compilation from a theorem prover, our compiler provides broad support for user-defined extensions, targets multiple carefully modelled commercial machine  ...  The first author is grateful for funding from EPSRC, UK.  ... 
doi:10.1007/978-3-642-00722-4_2 fatcat:llgpx3b5k5cfncaelpaexo4zcq

Compiler-based multiple instruction retry

Chung-Chi Jim Li, Shyh-Kwei Chen, W.K. Fuchs, W.-M.W. Hwu
1995 IEEE transactions on computers  
The objective i s a c hieved by h a ving the compiler remove all forms of N-instruction anti-dependencies.  ...  This paper describes a compiler-assisted approach t o p r o viding multiple instruction rollback capability for general purpose processor registers.  ...  relative to pseudo register t k consists of all nodes in L h and all nodes I i satisfying the following conditions: 1 t k 2 live inI i , where live inI i is the set of live variables at the entry point  ... 
doi:10.1109/12.368011 fatcat:pngsgnf5ubfzxklyqsvov7lxtm

Compiler techniques for code compaction

Saumya K. Debray, William Evans, Robert Muth, Bjorn De Sutter
2000 ACM Transactions on Programming Languages and Systems  
This article explores the use of compiler techniques to accomplish this code compaction.  ...  This article explores the use of compiler techniques to accomplish code compaction to yield smaller executables.  ...  dead.  ... 
doi:10.1145/349214.349233 fatcat:m6m45axwwvagld2ngwc52ce7hm

Incremental compiler transformations for multiple instruction retry

Shyh-Kwei Chen, Neal J. Alewine, W. Kent Fuchs, Wen-Mei W. Hwu
1994 Software, Practice & Experience  
KEY WORDS Rollback recovery Fault-tolerant computing Instruction retry Current address is IBM Corp.,  ...  This paper presents techniques for improving compilation and run-time performance in compiler-based multiple instruction retry.  ...  However, the original implementation suffered from long compilation times.  ... 
doi:10.1002/spe.4380241206 fatcat:npckk7f4qfcmxgiu75galj2fdm

Automated testing of graphics shader compilers

Alastair F. Donaldson, Hugues Evrard, Andrei Lascu, Paul Thomson
2017 Proceedings of the ACM on Programming Languages  
A key challenge in compiler testing is the lack of an oracle that classifies an output as correct or incorrect; this is particularly pertinent in graphics shader compilers where the output is a rendered  ...  image that is typically underspecified.  ...  This transformation can be seen as a special case of dead designed to provoke compiler bugs that manifest in the presence of complex control flow. Live code injection (live).  ... 
doi:10.1145/3133917 dblp:journals/pacmpl/DonaldsonELT17 fatcat:2bvgacy2yrcslhiflpmnqryhyu
« Previous Showing results 1 — 15 out of 69,455 results