Mercurial > hg > truffle
comparison src/share/vm/utilities/constantTag.hpp @ 1913:3b2dea75431e
6984311: JSR 292 needs optional bootstrap method parameters
Summary: Allow CONSTANT_InvokeDynamic nodes to have any number of extra operands.
Reviewed-by: twisti
author | jrose |
---|---|
date | Sat, 30 Oct 2010 13:08:23 -0700 |
parents | 083fde3b838e |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1912:8213b0f5c92d | 1913:3b2dea75431e |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2008, 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. |
80 | 80 |
81 bool is_method_type() const { return _tag == JVM_CONSTANT_MethodType; } | 81 bool is_method_type() const { return _tag == JVM_CONSTANT_MethodType; } |
82 bool is_method_handle() const { return _tag == JVM_CONSTANT_MethodHandle; } | 82 bool is_method_handle() const { return _tag == JVM_CONSTANT_MethodHandle; } |
83 bool is_invoke_dynamic() const { return _tag == JVM_CONSTANT_InvokeDynamic; } | 83 bool is_invoke_dynamic() const { return _tag == JVM_CONSTANT_InvokeDynamic; } |
84 | 84 |
85 bool is_loadable_constant() const { | |
86 return ((_tag >= JVM_CONSTANT_Integer && _tag <= JVM_CONSTANT_String) || | |
87 is_method_type() || is_method_handle() || | |
88 is_unresolved_klass() || is_unresolved_string() || | |
89 is_object()); | |
90 } | |
91 | |
85 constantTag() { | 92 constantTag() { |
86 _tag = JVM_CONSTANT_Invalid; | 93 _tag = JVM_CONSTANT_Invalid; |
87 } | 94 } |
88 constantTag(jbyte tag) { | 95 constantTag(jbyte tag) { |
89 assert((tag >= 0 && tag <= JVM_CONSTANT_NameAndType) || | 96 assert((tag >= 0 && tag <= JVM_CONSTANT_NameAndType) || |