#endif
#include "vm/properties.hpp"
+#include "vm/suck.hpp"
#include "vm/jit/optimizing/recompiler.hpp"
bool _created;
bool _exiting;
int64_t _starttime;
+ int64_t _inittime;
// Subsystems.
Properties _properties; ///< Commandline properties.
#endif
NativeLibraries _nativelibraries; ///< Native library table.
NativeMethods _nativemethods; ///< Native methods table.
+#if defined(ENABLE_JVMTI)
+ NativeAgents _nativeagents; ///< Native agents table.
+#endif
+ SuckClasspath _suckclasspath; ///< Classpath entries list.
public:
// Constructor, Destructor.
bool is_created() { return _created; }
bool is_exiting() { return _exiting; }
int64_t get_starttime() { return _starttime; }
+ int64_t get_inittime() { return _inittime; }
Properties& get_properties () { return _properties; }
Recompiler& get_recompiler () { return _recompiler; } // REMOVEME
#endif
NativeLibraries& get_nativelibraries() { return _nativelibraries; }
NativeMethods& get_nativemethods () { return _nativemethods; }
+ SuckClasspath& get_suckclasspath () { return _suckclasspath; }
+
+private:
+ // Internal helper methods.
+ bool start_runtime_agents();
};
#else
-JavaVM* VM_get_javavm();
JNIEnv* VM_get_jnienv();
-bool VM_is_initializing();
-bool VM_is_created();
-int64_t VM_get_starttime();
#endif
// Includes.
#include "vm/global.h"
-#include "vm/method.h"
+#include "vm/method.hpp"
/* These C methods are the exported interface. ********************************/
extern "C" {
#endif
-void usage(void);
-
-bool vm_create(JavaVMInitArgs *vm_args);
void vm_run(JavaVM *vm, JavaVMInitArgs *vm_args);
int32_t vm_destroy(JavaVM *vm);
void vm_exit(int32_t status);
// Legacy C interface.
void vm_abort(const char* text, ...);
-void vm_abort_errnum(int errnum, const char* text, ...);
-void vm_abort_errno(const char* text, ...);
#ifdef __cplusplus
}