647 void save_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt);
648 bool compare_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt);
649 #endif
650
651 //virtual void print_on(outputStream* st) const; DO NOT USE
652 void print_adapter_on(outputStream* st) const;
653 };
654
655 class AdapterHandlerLibrary: public AllStatic {
656 private:
657 static BufferBlob* _buffer; // the temporary code buffer in CodeCache
658 static AdapterHandlerTable* _adapters;
659 static AdapterHandlerEntry* _abstract_method_handler;
660 static BufferBlob* buffer_blob();
661 static void initialize();
662
663 public:
664
665 static AdapterHandlerEntry* new_entry(AdapterFingerPrint* fingerprint,
666 address i2c_entry, address c2i_entry, address c2i_unverified_entry);
667 static nmethod* create_native_wrapper(methodHandle method, int compile_id);
668 static AdapterHandlerEntry* get_adapter(methodHandle method);
669
670 #ifdef HAVE_DTRACE_H
671 static nmethod* create_dtrace_nmethod (methodHandle method);
672 #endif // HAVE_DTRACE_H
673
674 static void print_handler(CodeBlob* b) { print_handler_on(tty, b); }
675 static void print_handler_on(outputStream* st, CodeBlob* b);
676 static bool contains(CodeBlob* b);
677 #ifndef PRODUCT
678 static void print_statistics();
679 #endif /* PRODUCT */
680
681 };
682
683 #endif // SHARE_VM_RUNTIME_SHAREDRUNTIME_HPP
|
647 void save_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt);
648 bool compare_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt);
649 #endif
650
651 //virtual void print_on(outputStream* st) const; DO NOT USE
652 void print_adapter_on(outputStream* st) const;
653 };
654
655 class AdapterHandlerLibrary: public AllStatic {
656 private:
657 static BufferBlob* _buffer; // the temporary code buffer in CodeCache
658 static AdapterHandlerTable* _adapters;
659 static AdapterHandlerEntry* _abstract_method_handler;
660 static BufferBlob* buffer_blob();
661 static void initialize();
662
663 public:
664
665 static AdapterHandlerEntry* new_entry(AdapterFingerPrint* fingerprint,
666 address i2c_entry, address c2i_entry, address c2i_unverified_entry);
667 static void create_native_wrapper(methodHandle method);
668 static AdapterHandlerEntry* get_adapter(methodHandle method);
669
670 #ifdef HAVE_DTRACE_H
671 static nmethod* create_dtrace_nmethod (methodHandle method);
672 #endif // HAVE_DTRACE_H
673
674 static void print_handler(CodeBlob* b) { print_handler_on(tty, b); }
675 static void print_handler_on(outputStream* st, CodeBlob* b);
676 static bool contains(CodeBlob* b);
677 #ifndef PRODUCT
678 static void print_statistics();
679 #endif /* PRODUCT */
680
681 };
682
683 #endif // SHARE_VM_RUNTIME_SHAREDRUNTIME_HPP
|