mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 19:14:38 +02:00
8026253: New type profiling points: sparc support
C1 and interpreter support for new type profiling on sparc Reviewed-by: kvn, twisti
This commit is contained in:
parent
bff5f5c875
commit
b1c92a140b
8 changed files with 385 additions and 12 deletions
|
@ -156,6 +156,10 @@ address TemplateInterpreterGenerator::generate_StackOverflowError_handler() {
|
|||
address TemplateInterpreterGenerator::generate_return_entry_for(TosState state, int step, size_t index_size) {
|
||||
address entry = __ pc();
|
||||
|
||||
if (state == atos) {
|
||||
__ profile_return_type(O0, G3_scratch, G1_scratch);
|
||||
}
|
||||
|
||||
#if !defined(_LP64) && defined(COMPILER2)
|
||||
// All return values are where we want them, except for Longs. C2 returns
|
||||
// longs in G1 in the 32-bit build whereas the interpreter wants them in O0/O1.
|
||||
|
@ -1333,6 +1337,7 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
|
|||
__ movbool(true, G3_scratch);
|
||||
__ stbool(G3_scratch, do_not_unlock_if_synchronized);
|
||||
|
||||
__ profile_parameters_type(G1_scratch, G3_scratch, G4_scratch, Lscratch);
|
||||
// increment invocation counter and check for overflow
|
||||
//
|
||||
// Note: checking for negative value instead of overflow
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue