comparison src/share/vm/runtime/sharedRuntime.hpp @ 3753:cba7b5c2d53f

7045514: SPARC assembly code for JSR 292 ricochet frames Reviewed-by: kvn, jrose
author never
date Fri, 03 Jun 2011 22:31:43 -0700
parents 167b70ff3abc
children 38fa55e5e792
comparison
equal deleted inserted replaced
3752:f918d6096e23 3753:cba7b5c2d53f
50 bool is_virtual, 50 bool is_virtual,
51 bool is_optimized, TRAPS); 51 bool is_optimized, TRAPS);
52 52
53 // Shared stub locations 53 // Shared stub locations
54 54
55 static RuntimeStub* _wrong_method_blob; 55 static RuntimeStub* _wrong_method_blob;
56 static RuntimeStub* _ic_miss_blob; 56 static RuntimeStub* _ic_miss_blob;
57 static RuntimeStub* _resolve_opt_virtual_call_blob; 57 static RuntimeStub* _resolve_opt_virtual_call_blob;
58 static RuntimeStub* _resolve_virtual_call_blob; 58 static RuntimeStub* _resolve_virtual_call_blob;
59 static RuntimeStub* _resolve_static_call_blob; 59 static RuntimeStub* _resolve_static_call_blob;
60 60
61 static RicochetBlob* _ricochet_blob; 61 static DeoptimizationBlob* _deopt_blob;
62 62 static RicochetBlob* _ricochet_blob;
63 static SafepointBlob* _polling_page_safepoint_handler_blob; 63
64 static SafepointBlob* _polling_page_return_handler_blob; 64 static SafepointBlob* _polling_page_safepoint_handler_blob;
65 static SafepointBlob* _polling_page_return_handler_blob;
66
65 #ifdef COMPILER2 67 #ifdef COMPILER2
66 static ExceptionBlob* _exception_blob; 68 static UncommonTrapBlob* _uncommon_trap_blob;
67 static UncommonTrapBlob* _uncommon_trap_blob;
68 #endif // COMPILER2 69 #endif // COMPILER2
69 70
70 #ifndef PRODUCT 71 #ifndef PRODUCT
71
72 // Counters 72 // Counters
73 static int _nof_megamorphic_calls; // total # of megamorphic calls (through vtable) 73 static int _nof_megamorphic_calls; // total # of megamorphic calls (through vtable)
74
75 #endif // !PRODUCT 74 #endif // !PRODUCT
75
76 private:
77 static SafepointBlob* generate_handler_blob(address call_ptr, bool cause_return);
78 static RuntimeStub* generate_resolve_blob(address destination, const char* name);
79
76 public: 80 public:
81 static void generate_stubs(void);
77 82
78 // max bytes for each dtrace string parameter 83 // max bytes for each dtrace string parameter
79 enum { max_dtrace_string_size = 256 }; 84 enum { max_dtrace_string_size = 256 };
80 85
81 // The following arithmetic routines are used on platforms that do 86 // The following arithmetic routines are used on platforms that do
324 // compiled code. 329 // compiled code.
325 static methodHandle resolve_helper(JavaThread *thread, 330 static methodHandle resolve_helper(JavaThread *thread,
326 bool is_virtual, 331 bool is_virtual,
327 bool is_optimized, TRAPS); 332 bool is_optimized, TRAPS);
328 333
329 static void generate_stubs(void);
330
331 private: 334 private:
332 // deopt blob 335 // deopt blob
333 static void generate_deopt_blob(void); 336 static void generate_deopt_blob(void);
334 static DeoptimizationBlob* _deopt_blob;
335 337
336 public: 338 public:
337 static DeoptimizationBlob* deopt_blob(void) { return _deopt_blob; } 339 static DeoptimizationBlob* deopt_blob(void) { return _deopt_blob; }
338 340
339 // Resets a call-site in compiled code so it will get resolved again. 341 // Resets a call-site in compiled code so it will get resolved again.