< prev index next >
src/hotspot/share/classfile/javaClasses.cpp
Print this page
rev 56655 : 8232613: Move Object.registerNatives into HotSpot
Reviewed-by: alanb, coleenp, lfoltan
@@ -85,10 +85,25 @@
InjectedField JavaClasses::_injected_fields[] = {
ALL_INJECTED_FIELDS(DECLARE_INJECTED_FIELD)
};
+// Register native methods of Object
+void java_lang_Object::register_natives(TRAPS) {
+ InstanceKlass* obj = SystemDictionary::Object_klass();
+ Method::register_native(obj, vmSymbols::hashCode_name(),
+ vmSymbols::void_int_signature(), (address) &JVM_IHashCode, THREAD);
+ Method::register_native(obj, vmSymbols::wait_name(),
+ vmSymbols::long_void_signature(), (address) &JVM_MonitorWait, THREAD);
+ Method::register_native(obj, vmSymbols::notify_name(),
+ vmSymbols::void_method_signature(), (address) &JVM_MonitorNotify, THREAD);
+ Method::register_native(obj, vmSymbols::notifyAll_name(),
+ vmSymbols::void_method_signature(), (address) &JVM_MonitorNotifyAll, THREAD);
+ Method::register_native(obj, vmSymbols::clone_name(),
+ vmSymbols::void_object_signature(), (address) &JVM_Clone, THREAD);
+}
+
int JavaClasses::compute_injected_offset(InjectedFieldID id) {
return _injected_fields[id].compute_offset();
}
InjectedField* JavaClasses::get_injected(Symbol* class_name, int* field_count) {
< prev index next >