Week 12

Native code generation

  1. Explain the major differences between (1) the naive code generation approach (slide 12), (2) the fixed register-allocation scheme, and (3) the basic-block register-allocation scheme.
  2. In which cases does the basic-block register-allocation scheme really pay off?
  3. What else can be done to improve register allocation?
  4. Try to describe a simple whole-program analysis that can be used to disambiguate virtual dispatch in Java programs, i.e. that can often decide which of all the potential virtual methods at a virtual call site will be called at runtime.

Maintained by Eric Bodden. [HOME]