Mercurial > hg > truffle
diff src/share/vm/oops/methodKlass.cpp @ 4979:18a5539bf19b
More diff vs hsx24 optimizations.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Mon, 27 Feb 2012 21:43:51 +0100 |
parents | 33df1aeaebbf |
children | fdd9dd4508fa |
line wrap: on
line diff
--- a/src/share/vm/oops/methodKlass.cpp Mon Feb 27 18:31:27 2012 +0100 +++ b/src/share/vm/oops/methodKlass.cpp Mon Feb 27 21:43:51 2012 +0100 @@ -103,7 +103,9 @@ m->invocation_counter()->init(); m->backedge_counter()->init(); m->clear_number_of_breakpoints(); +#ifdef GRAAL m->set_graal_mirror(NULL); +#endif #ifdef TIERED m->set_rate(0); @@ -129,7 +131,9 @@ // 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 if (m->method_data() != NULL) { MarkSweep::mark_and_push(m->adr_method_data()); } @@ -144,10 +148,14 @@ // 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 +#ifdef COMPILER2 if (m->method_data() != NULL) { PSParallelCompact::mark_and_push(cm, m->adr_method_data()); } +#endif } #endif // SERIALGC @@ -161,7 +169,9 @@ // 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 if (m->method_data() != NULL) { blk->do_oop(m->adr_method_data()); } @@ -182,8 +192,10 @@ 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); +#endif if (m->method_data() != NULL) { adr = m->adr_method_data(); if (mr.contains(adr)) blk->do_oop(adr); @@ -202,7 +214,9 @@ // 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 if (m->method_data() != NULL) { MarkSweep::adjust_pointer(m->adr_method_data()); } @@ -219,10 +233,14 @@ 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 +#ifdef COMPILER2 if (m->method_data() != NULL) { PSParallelCompact::adjust_pointer(m->adr_method_data()); } +#endif // COMPILER2 return m->object_size(); } #endif // SERIALGC