Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/constantPoolOop.hpp @ 2416:38fea01eb669
6817525: turn on method handle functionality by default for JSR 292
Summary: After appropriate testing, we need to turn on EnableMethodHandles and EnableInvokeDynamic by default.
Reviewed-by: never, kvn, jrose, phh
author | twisti |
---|---|
date | Thu, 31 Mar 2011 02:31:57 -0700 |
parents | b92c45f2bc75 |
children | ed69575596ac |
comparison
equal
deleted
inserted
replaced
2415:09f96c3ff1ad | 2416:38fea01eb669 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2011, 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. |
427 return slot_at(which).get_oop(); | 427 return slot_at(which).get_oop(); |
428 } | 428 } |
429 | 429 |
430 // A "pseudo-string" is an non-string oop that has found is way into | 430 // A "pseudo-string" is an non-string oop that has found is way into |
431 // a String entry. | 431 // a String entry. |
432 // Under AnonymousClasses this can happen if the user patches a live | 432 // Under EnableInvokeDynamic this can happen if the user patches a live |
433 // object into a CONSTANT_String entry of an anonymous class. | 433 // object into a CONSTANT_String entry of an anonymous class. |
434 // Method oops internally created for method handles may also | 434 // Method oops internally created for method handles may also |
435 // use pseudo-strings to link themselves to related metaobjects. | 435 // use pseudo-strings to link themselves to related metaobjects. |
436 | 436 |
437 bool is_pseudo_string_at(int which); | 437 bool is_pseudo_string_at(int which); |
440 assert(tag_at(which).is_string(), "Corrupted constant pool"); | 440 assert(tag_at(which).is_string(), "Corrupted constant pool"); |
441 return slot_at(which).get_oop(); | 441 return slot_at(which).get_oop(); |
442 } | 442 } |
443 | 443 |
444 void pseudo_string_at_put(int which, oop x) { | 444 void pseudo_string_at_put(int which, oop x) { |
445 assert(AnonymousClasses, ""); | 445 assert(EnableInvokeDynamic, ""); |
446 set_pseudo_string(); // mark header | 446 set_pseudo_string(); // mark header |
447 assert(tag_at(which).is_string() || tag_at(which).is_unresolved_string(), "Corrupted constant pool"); | 447 assert(tag_at(which).is_string() || tag_at(which).is_unresolved_string(), "Corrupted constant pool"); |
448 string_at_put(which, x); // this works just fine | 448 string_at_put(which, x); // this works just fine |
449 } | 449 } |
450 | 450 |