Mercurial > hg > truffle
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 } |