mirror of
https://github.com/corda/corda.git
synced 2025-01-23 04:48:09 +00:00
453ceb42ab
Unlike the interpreter, the JIT compiler tries to resolve all the symbols referenced by a method when compiling that method. However, this can backfire if a symbol cannot be resolved: we end up throwing an e.g. NoClassDefFoundError for code which may never be executed. This is particularly troublesome for code which supports multiple APIs, choosing one at runtime. The solution is to defer to stub code for symbols which can't be resolved at JIT compile time. Such a stub will try again at runtime to resolve the needed symbol and throw an appropriate error if it still can't be found.
24 lines
604 B
Java
24 lines
604 B
Java
/* Copyright (c) 2008-2010, Avian Contributors
|
|
|
|
Permission to use, copy, modify, and/or distribute this software
|
|
for any purpose with or without fee is hereby granted, provided
|
|
that the above copyright notice and this permission notice appear
|
|
in all copies.
|
|
|
|
There is NO WARRANTY for this software. See license.txt for
|
|
details. */
|
|
|
|
package avian;
|
|
|
|
public class VMField {
|
|
public byte vmFlags;
|
|
public byte code;
|
|
public short flags;
|
|
public short offset;
|
|
public short index;
|
|
public byte[] name;
|
|
public byte[] spec;
|
|
public FieldAddendum addendum;
|
|
public VMClass class_;
|
|
}
|