Mercurial > hg > graal-jvmci-8
diff src/share/vm/oops/markOop.cpp @ 6948:e522a00b91aa
Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/ after NPG - C++ build works
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 12 Nov 2012 23:14:12 +0100 |
parents | da91efe96a93 |
children | f34d701e952e |
line wrap: on
line diff
--- a/src/share/vm/oops/markOop.cpp Mon Nov 12 18:11:17 2012 +0100 +++ b/src/share/vm/oops/markOop.cpp Mon Nov 12 23:14:12 2012 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, 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 @@ -50,32 +50,3 @@ st->print("age %d)", age()); } } - - -// Give advice about whether the oop that contains this markOop -// should be cached or not. -bool markOopDesc::should_not_be_cached() const { - // the cast is because decode_pointer() isn't marked const - if (is_marked() && ((markOopDesc *)this)->decode_pointer() != NULL) { - // If the oop containing this markOop is being forwarded, then - // we are in the middle of GC and we do not want the containing - // oop to be added to a cache. We have no way of knowing whether - // the cache has already been visited by the current GC phase so - // we don't know whether the forwarded oop will be properly - // processed in this phase. If the forwarded oop is not properly - // processed, then we'll see strange crashes or asserts during - // the next GC run because the markOop will contain an unexpected - // value. - // - // This situation has been seen when we are GC'ing a methodOop - // because we use the methodOop while we're GC'ing it. Scary - // stuff. Some of the uses the methodOop cause the methodOop to - // be added to the OopMapCache in the instanceKlass as a side - // effect. This check lets the cache maintainer know when a - // cache addition would not be safe. - return true; - } - - // caching the containing oop should be just fine - return false; -}