mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
6953144: Tiered compilation
Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation. Reviewed-by: kvn, never, phh, twisti
This commit is contained in:
parent
6e78f6cb4b
commit
2c66a6c3fd
104 changed files with 7720 additions and 1701 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -162,6 +162,12 @@ private:
|
|||
// Maturity of the oop when the snapshot is taken.
|
||||
int _current_mileage;
|
||||
|
||||
// These counters hold the age of MDO in tiered. In tiered we can have the same method
|
||||
// running at different compilation levels concurrently. So, in order to precisely measure
|
||||
// its maturity we need separate counters.
|
||||
int _invocation_counter;
|
||||
int _backedge_counter;
|
||||
|
||||
// Coherent snapshot of original header.
|
||||
methodDataOopDesc _orig;
|
||||
|
||||
|
@ -223,6 +229,16 @@ public:
|
|||
int creation_mileage() { return _orig.creation_mileage(); }
|
||||
int current_mileage() { return _current_mileage; }
|
||||
|
||||
int invocation_count() { return _invocation_counter; }
|
||||
int backedge_count() { return _backedge_counter; }
|
||||
// Transfer information about the method to methodDataOop.
|
||||
// would_profile means we would like to profile this method,
|
||||
// meaning it's not trivial.
|
||||
void set_would_profile(bool p);
|
||||
// Also set the numer of loops and blocks in the method.
|
||||
// Again, this is used to determine if a method is trivial.
|
||||
void set_compilation_stats(short loops, short blocks);
|
||||
|
||||
void load_data();
|
||||
|
||||
// Convert a dp (data pointer) to a di (data index).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue