David Chase - Academia.edu (original) (raw)
Uploads
Papers by David Chase
Conservative garbage collectors are commonlyused in combination with conventional C programs. Emp... more Conservative garbage collectors are commonlyused in combination with conventional C programs. Empirically, this usually works well. However, there are no guarantees that this is safe in the presence of \improved" compiler optimization. We propose that C compilers provide a facility to suppress optimizations that are unsafe in the presence of conservative garbage collection. Such a facility can be added to an existing compiler at very minimal cost, provided the additional analysis is done in a machine-independent source-to-source prepass. Such a prepass may also check the source code for garbage-collector-safety. C programs normally allocate dynamic memory using malloc, and explicitly deallocate memory by calling free when it is no longer needed. This approach is simple to describe and relatively simple to implement. Both malloc and free can be implemented reasonably eeciently with fairly predictable execution time. However, the need for explicit deallocation often becomes cumbe...
A method declaration in a trait declaration of an api might in clude anabstract modifier, indicat... more A method declaration in a trait declaration of an api might in clude anabstract modifier, indicating that an object of the traitdoes notinherit the definition of the method from that trait. See Chap ter 4 for a discussion of apis.
Exception-handling is a feature found in one form or another in various lan-guages. Recent exampl... more Exception-handling is a feature found in one form or another in various lan-guages. Recent examples include Ada, Modula-2+, C++, Modula-3 and Eiffel. These languages all share the termination model of exception handling, where control transfers into the scope of the ...
Conservative garbage collectors are commonlyused in combination with conventional C programs.Empi... more Conservative garbage collectors are commonlyused in combination with conventional C programs.Empirically, this usually works well. However, there are no guarantees that this is safe in thepresence of "improved" compiler optimization. We propose that C compilers provide a facility tosuppress optimizations that are unsafe in the presence of conservative garbage collection. Sucha facility can be added to an existing compiler at
Proceedings of the 17th annual ACM symposium on Parallelism in algorithms and architectures - SPAA'05, 2005
ACM SIGPLAN Notices, 2011
Encyclopedia of Parallel Computing, 2011
The Journal of C Language Translation, 1994
Exception-handling is a feature found in one form or another in various lan-guages. Recent exampl... more Exception-handling is a feature found in one form or another in various lan-guages. Recent examples include Ada, Modula-2+, C++, Modula-3 and Eiffel. These languages all share the termination model of exception handling, where control transfers into the scope of the ...
Rice University, Houston, TX, 1988
Proceedings of the 14th ACM SIGACT-SIGPLAN …, Jan 1, 1987
Conservative garbage collectors are commonlyused in combination with conventional C programs. Emp... more Conservative garbage collectors are commonlyused in combination with conventional C programs. Empirically, this usually works well. However, there are no guarantees that this is safe in the presence of \improved" compiler optimization. We propose that C compilers provide a facility to suppress optimizations that are unsafe in the presence of conservative garbage collection. Such a facility can be added to an existing compiler at very minimal cost, provided the additional analysis is done in a machine-independent source-to-source prepass. Such a prepass may also check the source code for garbage-collector-safety. C programs normally allocate dynamic memory using malloc, and explicitly deallocate memory by calling free when it is no longer needed. This approach is simple to describe and relatively simple to implement. Both malloc and free can be implemented reasonably eeciently with fairly predictable execution time. However, the need for explicit deallocation often becomes cumbe...
A method declaration in a trait declaration of an api might in clude anabstract modifier, indicat... more A method declaration in a trait declaration of an api might in clude anabstract modifier, indicating that an object of the traitdoes notinherit the definition of the method from that trait. See Chap ter 4 for a discussion of apis.
Exception-handling is a feature found in one form or another in various lan-guages. Recent exampl... more Exception-handling is a feature found in one form or another in various lan-guages. Recent examples include Ada, Modula-2+, C++, Modula-3 and Eiffel. These languages all share the termination model of exception handling, where control transfers into the scope of the ...
Conservative garbage collectors are commonlyused in combination with conventional C programs.Empi... more Conservative garbage collectors are commonlyused in combination with conventional C programs.Empirically, this usually works well. However, there are no guarantees that this is safe in thepresence of "improved" compiler optimization. We propose that C compilers provide a facility tosuppress optimizations that are unsafe in the presence of conservative garbage collection. Sucha facility can be added to an existing compiler at
Proceedings of the 17th annual ACM symposium on Parallelism in algorithms and architectures - SPAA'05, 2005
ACM SIGPLAN Notices, 2011
Encyclopedia of Parallel Computing, 2011
The Journal of C Language Translation, 1994
Exception-handling is a feature found in one form or another in various lan-guages. Recent exampl... more Exception-handling is a feature found in one form or another in various lan-guages. Recent examples include Ada, Modula-2+, C++, Modula-3 and Eiffel. These languages all share the termination model of exception handling, where control transfers into the scope of the ...
Rice University, Houston, TX, 1988
Proceedings of the 14th ACM SIGACT-SIGPLAN …, Jan 1, 1987