comparison src/share/vm/code/nmethod.cpp @ 12175:3bfb204913de

Merge
author adlertz
date Thu, 05 Sep 2013 10:39:10 +0200
parents 9758d9f36299 e1fbb86b47e4
children 190899198332 510fbd28919c
comparison
equal deleted inserted replaced
12157:35b99e7e0af2 12175:3bfb204913de
91 #define DTRACE_METHOD_UNLOAD_PROBE(method) 91 #define DTRACE_METHOD_UNLOAD_PROBE(method)
92 92
93 #endif 93 #endif
94 94
95 bool nmethod::is_compiled_by_c1() const { 95 bool nmethod::is_compiled_by_c1() const {
96 if (compiler() == NULL || method() == NULL) return false; // can happen during debug printing 96 if (compiler() == NULL) {
97 if (is_native_method()) return false; 97 return false;
98 }
98 return compiler()->is_c1(); 99 return compiler()->is_c1();
99 } 100 }
100 bool nmethod::is_compiled_by_c2() const { 101 bool nmethod::is_compiled_by_c2() const {
101 if (compiler() == NULL || method() == NULL) return false; // can happen during debug printing 102 if (compiler() == NULL) {
102 if (is_native_method()) return false; 103 return false;
104 }
103 return compiler()->is_c2(); 105 return compiler()->is_c2();
104 } 106 }
105 bool nmethod::is_compiled_by_shark() const { 107 bool nmethod::is_compiled_by_shark() const {
106 if (is_native_method()) return false; 108 if (compiler() == NULL) {
107 assert(compiler() != NULL, "must be"); 109 return false;
110 }
108 return compiler()->is_shark(); 111 return compiler()->is_shark();
109 } 112 }
110 113
111 114
112 115
1399 #ifdef ASSERT 1402 #ifdef ASSERT
1400 // It's no longer safe to access the oops section since zombie 1403 // It's no longer safe to access the oops section since zombie
1401 // nmethods aren't scanned for GC. 1404 // nmethods aren't scanned for GC.
1402 _oops_are_stale = true; 1405 _oops_are_stale = true;
1403 #endif 1406 #endif
1407 // the Method may be reclaimed by class unloading now that the
1408 // nmethod is in zombie state
1409 set_method(NULL);
1404 } else { 1410 } else {
1405 assert(state == not_entrant, "other cases may need to be handled differently"); 1411 assert(state == not_entrant, "other cases may need to be handled differently");
1406 } 1412 }
1407 1413
1408 if (TraceCreateZombies) { 1414 if (TraceCreateZombies) {