Mercurial > hg > graal-compiler
diff src/share/vm/oops/methodKlass.cpp @ 6275:957c266d8bc5
Merge with http://hg.openjdk.java.net/hsx/hsx24/hotspot/
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 21 Aug 2012 10:39:19 +0200 |
parents | af59b4dfc9e4 1d7922586cf6 |
children |
line wrap: on
line diff
--- a/src/share/vm/oops/methodKlass.cpp Mon Aug 20 15:21:31 2012 +0200 +++ b/src/share/vm/oops/methodKlass.cpp Tue Aug 21 10:39:19 2012 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2012, 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 @@ -121,11 +121,6 @@ assert(m->is_parsable(), "must be parsable here."); assert(m->size() == size, "wrong size for object"); - // We should not publish an uprasable object's reference - // into one that is parsable, since that presents problems - // for the concurrent parallel marking and precleaning phases - // of concurrent gc (CMS). - xconst->set_method(m); return m; } @@ -136,7 +131,6 @@ // Performance tweak: We skip iterating over the klass pointer since we // know that Universe::methodKlassObj never moves. MarkSweep::mark_and_push(m->adr_constMethod()); - MarkSweep::mark_and_push(m->adr_constants()); #ifdef GRAAL MarkSweep::mark_and_push(m->adr_graal_mirror()); #endif @@ -151,7 +145,6 @@ // Performance tweak: We skip iterating over the klass pointer since we // know that Universe::methodKlassObj never moves. PSParallelCompact::mark_and_push(cm, m->adr_constMethod()); - PSParallelCompact::mark_and_push(cm, m->adr_constants()); #ifdef GRAAL PSParallelCompact::mark_and_push(cm, m->adr_graal_mirror()); #endif @@ -168,7 +161,6 @@ // Performance tweak: We skip iterating over the klass pointer since we // know that Universe::methodKlassObj never moves blk->do_oop(m->adr_constMethod()); - blk->do_oop(m->adr_constants()); #ifdef GRAAL blk->do_oop(m->adr_graal_mirror()); #endif @@ -189,8 +181,6 @@ oop* adr; adr = m->adr_constMethod(); if (mr.contains(adr)) blk->do_oop(adr); - adr = m->adr_constants(); - if (mr.contains(adr)) blk->do_oop(adr); #ifdef GRAAL adr = m->adr_graal_mirror(); if (mr.contains(adr)) blk->do_oop(adr); @@ -211,7 +201,6 @@ // Performance tweak: We skip iterating over the klass pointer since we // know that Universe::methodKlassObj never moves. MarkSweep::adjust_pointer(m->adr_constMethod()); - MarkSweep::adjust_pointer(m->adr_constants()); #ifdef GRAAL MarkSweep::adjust_pointer(m->adr_graal_mirror()); #endif @@ -236,7 +225,6 @@ assert(obj->is_method(), "should be method"); methodOop m = methodOop(obj); PSParallelCompact::adjust_pointer(m->adr_constMethod()); - PSParallelCompact::adjust_pointer(m->adr_constants()); #ifdef GRAAL PSParallelCompact::adjust_pointer(m->adr_graal_mirror()); #endif @@ -272,7 +260,11 @@ st->print_cr(" - highest level: %d", m->highest_comp_level()); st->print_cr(" - vtable index: %d", m->_vtable_index); st->print_cr(" - i2i entry: " INTPTR_FORMAT, m->interpreter_entry()); - st->print_cr(" - adapter: " INTPTR_FORMAT, m->adapter()); + st->print( " - adapters: "); + if (m->adapter() == NULL) + st->print_cr(INTPTR_FORMAT, m->adapter()); + else + m->adapter()->print_adapter_on(st); st->print_cr(" - compiled entry " INTPTR_FORMAT, m->from_compiled_entry()); st->print_cr(" - code size: %d", m->code_size()); if (m->code_size() != 0) { @@ -320,13 +312,8 @@ if (m->code() != NULL) { st->print (" - compiled code: "); m->code()->print_value_on(st); - st->cr(); } - if (m->is_method_handle_invoke()) { - st->print_cr(" - invoke method type: " INTPTR_FORMAT, (address) m->method_handle_type()); - // m is classified as native, but it does not have an interesting - // native_function or signature handler - } else if (m->is_native()) { + if (m->is_native()) { st->print_cr(" - native function: " INTPTR_FORMAT, m->native_function()); st->print_cr(" - signature handler: " INTPTR_FORMAT, m->signature_handler()); } @@ -361,8 +348,6 @@ if (!obj->partially_loaded()) { methodOop m = methodOop(obj); guarantee(m->is_perm(), "should be in permspace"); - guarantee(m->constants()->is_perm(), "should be in permspace"); - guarantee(m->constants()->is_constantPool(), "should be constant pool"); guarantee(m->constMethod()->is_constMethod(), "should be constMethodOop"); guarantee(m->constMethod()->is_perm(), "should be in permspace"); methodDataOop method_data = m->method_data();