mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-25 05:45:11 +02:00
6919069: client compiler needs to capture more profile information for tiered work
Added profiling of instanceof and aastore. Reviewed-by: kvn, jrose, never
This commit is contained in:
parent
0aba89442c
commit
aa21a39d97
11 changed files with 305 additions and 265 deletions
|
@ -967,6 +967,17 @@ void GraphBuilder::store_indexed(BasicType type) {
|
|||
StoreIndexed* result = new StoreIndexed(array, index, length, type, value, lock_stack());
|
||||
append(result);
|
||||
_memory->store_value(value);
|
||||
|
||||
if (type == T_OBJECT && is_profiling()) {
|
||||
// Note that we'd collect profile data in this method if we wanted it.
|
||||
compilation()->set_would_profile(true);
|
||||
|
||||
if (profile_checkcasts()) {
|
||||
result->set_profiled_method(method());
|
||||
result->set_profiled_bci(bci());
|
||||
result->set_should_profile(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -1852,6 +1863,17 @@ void GraphBuilder::instance_of(int klass_index) {
|
|||
InstanceOf* i = new InstanceOf(klass, apop(), state_before);
|
||||
ipush(append_split(i));
|
||||
i->set_direct_compare(direct_compare(klass));
|
||||
|
||||
if (is_profiling()) {
|
||||
// Note that we'd collect profile data in this method if we wanted it.
|
||||
compilation()->set_would_profile(true);
|
||||
|
||||
if (profile_checkcasts()) {
|
||||
i->set_profiled_method(method());
|
||||
i->set_profiled_bci(bci());
|
||||
i->set_should_profile(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue