src/share/vm/runtime/sharedRuntime.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/runtime/sharedRuntime.hpp Thu Feb 18 15:25:09 2016
--- new/src/share/vm/runtime/sharedRuntime.hpp Thu Feb 18 15:25:09 2016
*** 396,405 ****
--- 396,409 ----
// be converted to longs. Needed if CCallingConventionRequiresIntsAsLongs
// is true.
static void convert_ints_to_longints(int i2l_argcnt, int& in_args_count,
BasicType*& in_sig_bt, VMRegPair*& in_regs);
+ static size_t trampoline_size();
+
+ static void generate_trampoline(MacroAssembler *masm, address destination);
+
// Generate I2C and C2I adapters. These adapters are simple argument marshalling
// blobs. Unlike adapters in the tiger and earlier releases the code in these
// blobs does not create a new frame and are therefore virtually invisible
// to the stack walking code. In general these blobs extend the callers stack
// as needed for the conversion of argument locations.
*** 678,694 ****
--- 682,710 ----
//virtual void print_on(outputStream* st) const; DO NOT USE
void print_adapter_on(outputStream* st) const;
};
+ class CDSAdapterHandlerEntry: public AdapterHandlerEntry {
+ address _c2i_entry_trampoline; // allocated from shared spaces "MC" region
+ AdapterHandlerEntry** _adapter_trampoline; // allocated from shared spaces "MD" region
+
+ public:
+ address get_c2i_entry_trampoline() const { return _c2i_entry_trampoline; }
+ AdapterHandlerEntry** get_adapter_trampoline() const { return _adapter_trampoline; }
+ void init() NOT_CDS_RETURN;
+ };
+
+
class AdapterHandlerLibrary: public AllStatic {
private:
static BufferBlob* _buffer; // the temporary code buffer in CodeCache
static AdapterHandlerTable* _adapters;
static AdapterHandlerEntry* _abstract_method_handler;
static BufferBlob* buffer_blob();
static void initialize();
+ static AdapterHandlerEntry* get_adapter0(const methodHandle& method);
public:
static AdapterHandlerEntry* new_entry(AdapterFingerPrint* fingerprint,
address i2c_entry, address c2i_entry, address c2i_unverified_entry);
src/share/vm/runtime/sharedRuntime.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File