Mercurial > hg > graal-compiler
comparison src/share/vm/runtime/sharedRuntime.hpp @ 3442:f7d55ea6ee56
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
3441:f56542cb325a | 3442:f7d55ea6ee56 |
---|---|
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. |