/* * Copyright (c) 2012, 2019, 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. *
*/
u2 BytecodeConstantPool::find_or_add(BytecodeCPEntry const& bcpe) {
u2 index = _entries.length(); bool created = false;
u2* probe = _indices.put_if_absent(bcpe, index, &created); if (created) {
_entries.append(bcpe);
} else {
index = *probe;
} return index + _orig->length();
}
void BytecodeAssembler::load(BasicType bt, u4 index) { switch (bt) { case T_BOOLEAN: case T_CHAR: case T_BYTE: case T_SHORT: case T_INT: iload(index); break; case T_FLOAT: fload(index); break; case T_DOUBLE: dload(index); break; case T_LONG: lload(index); break; default: if (is_reference_type(bt)) {
aload(index); break;
}
ShouldNotReachHere();
}
}
void BytecodeAssembler::_return(BasicType bt) { switch (bt) { case T_BOOLEAN: case T_CHAR: case T_BYTE: case T_SHORT: case T_INT: ireturn(); break; case T_FLOAT: freturn(); break; case T_DOUBLE: dreturn(); break; case T_LONG: lreturn(); break; case T_VOID: _return(); break; default: if (is_reference_type(bt)) {
areturn(); break;
}
ShouldNotReachHere();
}
}
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.