Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/methodKlass.cpp @ 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 | 9d7a8ab3736b |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1782:f353275af40e | 1783:d5d065957597 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 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. |
73 m->set_interpreter_throwout_count(0); | 73 m->set_interpreter_throwout_count(0); |
74 m->set_vtable_index(methodOopDesc::garbage_vtable_index); | 74 m->set_vtable_index(methodOopDesc::garbage_vtable_index); |
75 | 75 |
76 // Fix and bury in methodOop | 76 // Fix and bury in methodOop |
77 m->set_interpreter_entry(NULL); // sets i2i entry and from_int | 77 m->set_interpreter_entry(NULL); // sets i2i entry and from_int |
78 m->set_highest_tier_compile(CompLevel_none); | |
79 m->set_adapter_entry(NULL); | 78 m->set_adapter_entry(NULL); |
80 m->clear_code(); // from_c/from_i get set to c2i/i2i | 79 m->clear_code(); // from_c/from_i get set to c2i/i2i |
81 | 80 |
82 if (access_flags.is_native()) { | 81 if (access_flags.is_native()) { |
83 m->clear_native_function(); | 82 m->clear_native_function(); |
87 NOT_PRODUCT(m->set_compiled_invocation_count(0);) | 86 NOT_PRODUCT(m->set_compiled_invocation_count(0);) |
88 m->set_interpreter_invocation_count(0); | 87 m->set_interpreter_invocation_count(0); |
89 m->invocation_counter()->init(); | 88 m->invocation_counter()->init(); |
90 m->backedge_counter()->init(); | 89 m->backedge_counter()->init(); |
91 m->clear_number_of_breakpoints(); | 90 m->clear_number_of_breakpoints(); |
91 | |
92 assert(m->is_parsable(), "must be parsable here."); | 92 assert(m->is_parsable(), "must be parsable here."); |
93 assert(m->size() == size, "wrong size for object"); | 93 assert(m->size() == size, "wrong size for object"); |
94 // We should not publish an uprasable object's reference | 94 // We should not publish an uprasable object's reference |
95 // into one that is parsable, since that presents problems | 95 // into one that is parsable, since that presents problems |
96 // for the concurrent parallel marking and precleaning phases | 96 // for the concurrent parallel marking and precleaning phases |
244 st->print_cr(" - max locals: %d", m->max_locals()); | 244 st->print_cr(" - max locals: %d", m->max_locals()); |
245 st->print_cr(" - size of params: %d", m->size_of_parameters()); | 245 st->print_cr(" - size of params: %d", m->size_of_parameters()); |
246 st->print_cr(" - method size: %d", m->method_size()); | 246 st->print_cr(" - method size: %d", m->method_size()); |
247 if (m->intrinsic_id() != vmIntrinsics::_none) | 247 if (m->intrinsic_id() != vmIntrinsics::_none) |
248 st->print_cr(" - intrinsic id: %d %s", m->intrinsic_id(), vmIntrinsics::name_at(m->intrinsic_id())); | 248 st->print_cr(" - intrinsic id: %d %s", m->intrinsic_id(), vmIntrinsics::name_at(m->intrinsic_id())); |
249 if (m->highest_tier_compile() != CompLevel_none) | 249 if (m->highest_comp_level() != CompLevel_none) |
250 st->print_cr(" - highest tier: %d", m->highest_tier_compile()); | 250 st->print_cr(" - highest level: %d", m->highest_comp_level()); |
251 st->print_cr(" - vtable index: %d", m->_vtable_index); | 251 st->print_cr(" - vtable index: %d", m->_vtable_index); |
252 st->print_cr(" - i2i entry: " INTPTR_FORMAT, m->interpreter_entry()); | 252 st->print_cr(" - i2i entry: " INTPTR_FORMAT, m->interpreter_entry()); |
253 st->print_cr(" - adapter: " INTPTR_FORMAT, m->adapter()); | 253 st->print_cr(" - adapter: " INTPTR_FORMAT, m->adapter()); |
254 st->print_cr(" - compiled entry " INTPTR_FORMAT, m->from_compiled_entry()); | 254 st->print_cr(" - compiled entry " INTPTR_FORMAT, m->from_compiled_entry()); |
255 st->print_cr(" - code size: %d", m->code_size()); | 255 st->print_cr(" - code size: %d", m->code_size()); |