Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

The VM_prefix

By convention, any class which should be loaded into the boot image starts its name with VM_. At the imt of writing this is used by the build process to determine the set of classes that should be written into Jikes RVM's boot image.The MMTk classes don't follow this naming convention because they're an independent subsystem, but the rest of Jikes RVM does.

Assertions

Partly for historical reasons, we use our own built-in assertion facility rather than the one that appeared in Sun®'s JDK 1.4. All assertion checks have one of the two forms:

VM.VerifyAssertions is a public static final field. The config.assertions configuration variable determines VM.VerifyAssertions' value. If config.assertions is set to none, Jikes RVM has no assertion overhead.
If you use the form without a message, then the default message "vm internal error at:" will appear.

If you use the form with a message the message must be a single string literal. Doing string appends in assertions can be a source of horrible performance problems when assertions are enabled (i.e. most development builds). If you want to provide a more detailed error message when the assertion fails, then you must use the following coding pattern:

An assertion failure is always followed by a stack dump.

  • No labels