Mercurial > hg > graal-compiler
comparison src/share/vm/c1/c1_GraphBuilder.hpp @ 1783:d5d065957597
6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
author | iveresov |
---|---|
date | Fri, 03 Sep 2010 17:51:07 -0700 |
parents | b812ff5abc73 |
children | f02a8bbe6ed4 |
comparison
equal
deleted
inserted
replaced
1782:f353275af40e | 1783:d5d065957597 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
340 bool append_unsafe_prefetch(ciMethod* callee, bool is_store, bool is_static); | 340 bool append_unsafe_prefetch(ciMethod* callee, bool is_store, bool is_static); |
341 void append_unsafe_CAS(ciMethod* callee); | 341 void append_unsafe_CAS(ciMethod* callee); |
342 | 342 |
343 NOT_PRODUCT(void print_inline_result(ciMethod* callee, bool res);) | 343 NOT_PRODUCT(void print_inline_result(ciMethod* callee, bool res);) |
344 | 344 |
345 // methodDataOop profiling helpers | |
346 void profile_call(Value recv, ciKlass* predicted_holder); | 345 void profile_call(Value recv, ciKlass* predicted_holder); |
347 void profile_invocation(ciMethod* method); | 346 void profile_invocation(ciMethod* inlinee, ValueStack* state, int bci); |
348 void profile_bci(int bci); | 347 |
349 | 348 // Shortcuts to profiling control. |
350 // Helpers for generation of profile information | 349 bool is_profiling() { return _compilation->is_profiling(); } |
351 bool profile_branches() { | 350 bool count_invocations() { return _compilation->count_invocations(); } |
352 return _compilation->env()->comp_level() == CompLevel_fast_compile && | 351 bool count_backedges() { return _compilation->count_backedges(); } |
353 Tier1UpdateMethodData && Tier1ProfileBranches; | 352 bool profile_branches() { return _compilation->profile_branches(); } |
354 } | 353 bool profile_calls() { return _compilation->profile_calls(); } |
355 bool profile_calls() { | 354 bool profile_inlined_calls() { return _compilation->profile_inlined_calls(); } |
356 return _compilation->env()->comp_level() == CompLevel_fast_compile && | 355 bool profile_checkcasts() { return _compilation->profile_checkcasts(); } |
357 Tier1UpdateMethodData && Tier1ProfileCalls; | |
358 } | |
359 bool profile_inlined_calls() { | |
360 return profile_calls() && Tier1ProfileInlinedCalls; | |
361 } | |
362 bool profile_checkcasts() { | |
363 return _compilation->env()->comp_level() == CompLevel_fast_compile && | |
364 Tier1UpdateMethodData && Tier1ProfileCheckcasts; | |
365 } | |
366 | 356 |
367 public: | 357 public: |
368 NOT_PRODUCT(void print_stats();) | 358 NOT_PRODUCT(void print_stats();) |
369 | 359 |
370 // initialization | 360 // initialization |