comparison src/share/vm/opto/graphKit.cpp @ 2007:5ddfcf4b079e

7003554: (tiered) assert(is_null_object() || handle() != NULL) failed: cannot embed null pointer Summary: C1 with profiling doesn't check whether the MDO has been really allocated, which can silently fail if the perm gen is full. The solution is to check if the allocation failed and bailout out of inlining or compilation. Reviewed-by: kvn, never
author iveresov
date Thu, 02 Dec 2010 17:21:12 -0800
parents f95d63e2154a
children 9dc311b8473e
comparison
equal deleted inserted replaced
2006:bbefa3ca1543 2007:5ddfcf4b079e
1839 if (failing()) stop(); 1839 if (failing()) stop();
1840 if (stopped()) return; // trap reachable? 1840 if (stopped()) return; // trap reachable?
1841 1841
1842 // Note: If ProfileTraps is true, and if a deopt. actually 1842 // Note: If ProfileTraps is true, and if a deopt. actually
1843 // occurs here, the runtime will make sure an MDO exists. There is 1843 // occurs here, the runtime will make sure an MDO exists. There is
1844 // no need to call method()->build_method_data() at this point. 1844 // no need to call method()->ensure_method_data() at this point.
1845 1845
1846 #ifdef ASSERT 1846 #ifdef ASSERT
1847 if (!must_throw) { 1847 if (!must_throw) {
1848 // Make sure the stack has at least enough depth to execute 1848 // Make sure the stack has at least enough depth to execute
1849 // the current bytecode. 1849 // the current bytecode.