comparison src/share/vm/runtime/sharedRuntime.hpp @ 742:45463a04ca27

6834177: Running jsynprog on Solaris Nevada can cause JVM crash Summary: Use CodeCache buffer blob instead of static buffer in AdapterHandlerLibrary. Reviewed-by: never
author kvn
date Wed, 29 Apr 2009 12:58:09 -0700
parents e5b0439ef4ae
children dd57230ba8fe
comparison
equal deleted inserted replaced
732:fb4c18a2ec66 742:45463a04ca27
555 #endif /* PRODUCT */ 555 #endif /* PRODUCT */
556 }; 556 };
557 557
558 class AdapterHandlerLibrary: public AllStatic { 558 class AdapterHandlerLibrary: public AllStatic {
559 private: 559 private:
560 static u_char _buffer[]; // the temporary code buffer 560 static BufferBlob* _buffer; // the temporary code buffer in CodeCache
561 static GrowableArray<uint64_t>* _fingerprints; // the fingerprint collection 561 static GrowableArray<uint64_t>* _fingerprints; // the fingerprint collection
562 static GrowableArray<AdapterHandlerEntry*> * _handlers; // the corresponding handlers 562 static GrowableArray<AdapterHandlerEntry*> * _handlers; // the corresponding handlers
563 enum { 563 enum {
564 AbstractMethodHandler = 1 // special handler for abstract methods 564 AbstractMethodHandler = 1 // special handler for abstract methods
565 }; 565 };
566 static BufferBlob* buffer_blob();
566 static void initialize(); 567 static void initialize();
567 static int get_create_adapter_index(methodHandle method); 568 static int get_create_adapter_index(methodHandle method);
568 static address get_i2c_entry( int index ) { 569 static address get_i2c_entry( int index ) {
569 return get_entry(index)->get_i2c_entry(); 570 return get_entry(index)->get_i2c_entry();
570 } 571 }