Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There is a different baseline compiler for each architecture.  The relevant code in the baseline compiler for the ia32 architecture is in the class org.jikesrvm.compilers.baseline.ia32.BaselineCompilerImpl.  The method emit_resolved_new(RVMClass) is responsible for generating code to execute the 'new' bytecode when the target class is already resolved.  Looking at this method, you can see it does essentially what the resolvedNewScalar(RVMClass) method in RuntimeEntrypoints does, then generates Intel machine code to perform the call to the resolvedNewScalar entrypoint.  Note how the work of calculating the size, alignment etc of the object is performed by the compiler, at compile time_.  _

Similar code exists in the PPC baseline compiler.

...