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