Dear Colleague, I am pleased to inform you that your paper entitled "Annotation-Directed Run-Time Specialization in C" has been accepted by the program committee for presentation at the ACM SIGPLAN Symposium on Partial Evaluation to be held in Amsterdam, The Netherlands, on June 12-13, 1997. **************************************************************** * Deadline for the full, final version is Thursday, April 3rd * **************************************************************** I will send you a format specifications together with a style file electronically. As usual, publication by ACM is dependent upon signing a copyright form, which will also be sent to you. The time for your presentation at PEPM'97 is limited to 25 minutes with 5 minutes for questions. Please feel free to contact me by e-mail (consel@irisa.fr) with any questions you may have. The reviews on your paper are enclosed below. Congratulations, and thank you for sending a submission to PEPM'97! Sincerely, Charles Consel PEPM'97 Program Chair PAPER-NUMBER: 28 TITLE: Annotation-Directed Run-Time Specialization in C AUTHORS: Grant, Mock, Philipose, Chambers and Eggers OVERALL-RATING(0-9): 7 RELEVANCE(0-4):4 ORIGINALITY(0-4):2 CLARITY(0-4):2 SOUNDNESS(0-4):2 Comments for the authors ------------------------- The paper is extremely relevant to the PE community. The ideas are interesting and useful. I would be much more interested in a qualitative comparison to `C and to standard annotations and much less about implementation details. (None of the implementation stuff seemed novel.) The comparison to `C is just plain wrong in some places. The claim that `C is no more powerful than these annotations is incorrect. The annotations fix the function signatures that can be produced at runtime. `C can build arbitrary functions. This makes a difference when implementing a compile-on-the-fly interpreter (aka JIT compiler). There is nothing deep in the paper, but the idea has promise, and it is practical. To me, these annotations (like `C primitives) are candidates for the target language of a partial evaluator. As the authors noted, the paper needs serious reworking. It is too long and very unclear. More motivation is need and much less detail. PAPER-NUMBER: 28 TITLE: Annotation-Directed Run-Time Specialization in C AUTHORS: Brian Grant, Markus Mock, Matthai Philipose, Craig Chambers, Susan Eggers OVERALL-RATING(0-9): 6 RELEVANCE(0-4): 4 ORIGINALITY(0-4): 4 CLARITY(0-4): 4 SOUNDNESS(0-4): 3 Comments for the authors ------------------------- The length of your paper and your warning scared me a little bit. However, your paper contains mainly a description of your annotations, motivation for these annotations, and explanations to show that they can be interpreted and/or compiled correctly, rather than theoretical material. The final paper and the presentation should probably target either the annotations and the motivation, or the annotations and the implementation. Although your project is on-going, there could be some information about the speed-up expected from the annotations, as you can program their effect by hand (for instance, on a small interpreter). PAPER-NUMBER: 28 TITLE: "Annotation-Directed Run-Time Specialization in C" AUTHORS: Brian Grant, Markus Mock, Matthai Philipose, Craig Chambers and Susan Eggers OVERALL-RATING(0-9): 4 RELEVANCE(0-4): 4 ORIGINALITY(0-4): 2 CLARITY(0-4): 1 SOUNDNESS(0-4): 2 Comments for the authors ------------------------- Overall, I like the idea of run-time specialization, and the fact that the design is directed with specific, realistic examples in mind (e.g. operating system code). The most interesting idea presented is that of "polyvariant re-specialization", enabling already specialized code to re-specialize if needed. A number of different policies were presented for cache management, unrolling loops, etc. It is clearly probable that the policy chosen for a given situation will indeed effect how successful its specialization is. However, most policies proposed are standard or obvious choices (FIFO, LRU, unroll limit, etc.). Also, without experimental results validating the hypotheses, it is not possible to assess the success of the proposed policies. Weaknesses of the paper include the fact that there is no support for interprocedural analyses, there is no side-effect analysis nor alias analysis, and that the implementation is not complete.