Mercurial > hg > graal-compiler
view src/share/vm/prims/jvmtiEnv.xsl @ 20257:7426d8d76305
8034761: Remove the do_code_roots parameter from process_strong_roots
Reviewed-by: tschatzl, mgerdin, jmasa
author | stefank |
---|---|
date | Thu, 13 Feb 2014 17:44:39 +0100 |
parents | da91efe96a93 |
children |
line wrap: on
line source
<?xml version="1.0"?> <!-- Copyright (c) 2002, 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 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. --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:import href="jvmtiLib.xsl"/> <xsl:output method="text" indent="no" omit-xml-declaration="yes"/> <xsl:template match="/"> <xsl:apply-templates select="specification"/> </xsl:template> <xsl:template match="specification"> <xsl:call-template name="sourceHeader"/> <xsl:text> // end file prefix - do not modify or remove this line </xsl:text> <xsl:apply-templates select="functionsection"/> </xsl:template> <xsl:template match="functionsection"> <xsl:apply-templates select="category"/> </xsl:template> <xsl:template match="category"> <xsl:text> // // </xsl:text><xsl:value-of select="@label"/><xsl:text> functions // </xsl:text> <xsl:apply-templates select="function[not(contains(@impl,'unimpl'))]"/> </xsl:template> <xsl:template match="function"> <xsl:apply-templates select="parameters" mode="advice"/> <xsl:text> jvmtiError JvmtiEnv::</xsl:text> <xsl:if test="count(@hide)=1"> <xsl:value-of select="@hide"/> </xsl:if> <xsl:value-of select="@id"/> <xsl:text>(</xsl:text> <xsl:apply-templates select="parameters" mode="HotSpotSig"/> <xsl:text>) {</xsl:text> <xsl:for-each select="parameters/param/jclass"> <xsl:if test="count(@method|@field)=0"> <xsl:text> if (java_lang_Class::is_primitive(k_mirror)) { // DO PRIMITIVE CLASS PROCESSING return JVMTI_ERROR_MUST_POSSESS_CAPABILITY; } Klass* k_oop = java_lang_Class::as_Klass(k_mirror); if (k_oop == NULL) { return JVMTI_ERROR_INVALID_CLASS; }</xsl:text> </xsl:if> </xsl:for-each> <xsl:text> return JVMTI_ERROR_MUST_POSSESS_CAPABILITY; } /* end </xsl:text> <xsl:if test="count(@hide)=1"> <xsl:value-of select="@hide"/> </xsl:if> <xsl:value-of select="@id"/> <xsl:text> */ </xsl:text> </xsl:template> <!-- ======== ADVICE ======== --> <xsl:template match="parameters" mode="advice"> <xsl:apply-templates select="param" mode="advice"/> </xsl:template> <xsl:template match="param" mode="advice"> <xsl:apply-templates select="child::*[position()=1]" mode="advice"> <xsl:with-param name="name" select="@id"/> </xsl:apply-templates> </xsl:template> <xsl:template match="jthread" mode="advice"> <xsl:param name="name"/> <xsl:choose> <xsl:when test="count(@impl)=0 or not(contains(@impl,'noconvert'))"> <xsl:text> // Threads_lock NOT held, java_thread not protected by lock // java_thread - pre-checked</xsl:text> </xsl:when> <xsl:otherwise> <xsl:text> // Threads_lock NOT held // </xsl:text> <xsl:value-of select="$name"/> <xsl:text> - NOT pre-checked</xsl:text> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="jrawMonitorID" mode="advice"> <xsl:param name="name"/> <xsl:text> // rmonitor - pre-checked for validity</xsl:text> </xsl:template> <xsl:template match="jframeID" mode="advice"> <xsl:param name="name"/> <xsl:text> // java_thread - unchecked // depth - pre-checked as non-negative</xsl:text> </xsl:template> <xsl:template match="jmethodID" mode="advice"> <xsl:param name="name"/> <xsl:text> // method_oop - pre-checked for validity, but may be NULL meaning obsolete method</xsl:text> </xsl:template> <xsl:template match="jfieldID" mode="advice"> <xsl:param name="name"/> </xsl:template> <xsl:template match="jclass" mode="advice"> <xsl:param name="name"/> <!-- classes passed as part of a class/method or class/field pair are used by the wrapper to get the internal type but are not needed by nor passed to the implementation layer. --> <xsl:if test="count(@method|@field)=0"> <xsl:text> // k_mirror - may be primitive, this must be checked</xsl:text> </xsl:if> </xsl:template> <xsl:template match="nullok" mode="advice"> </xsl:template> <xsl:template match="outptr|outbuf|allocfieldbuf|ptrtype|inptr|inbuf|vmbuf|allocbuf|agentbuf|allocallocbuf" mode="advice"> <xsl:param name="name"/> <xsl:choose> <xsl:when test="count(nullok)=0"> <xsl:text> // </xsl:text> <xsl:value-of select="$name"/> <xsl:text> - pre-checked for NULL</xsl:text> </xsl:when> <xsl:otherwise> <xsl:text> // </xsl:text> <xsl:value-of select="$name"/> <xsl:text> - NULL is a valid value, must be checked</xsl:text> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="jint" mode="advice"> <xsl:param name="name"/> <xsl:if test="count(@min)=1"> <xsl:text> // </xsl:text> <xsl:value-of select="$name"/> <xsl:text> - pre-checked to be greater than or equal to </xsl:text> <xsl:value-of select="@min"/> </xsl:if> </xsl:template> <xsl:template match="jobject|jvalue|jthreadGroup|enum|jlong|jfloat|jdouble|jlocation|jboolean|char|uchar|size_t|void|varargs|struct" mode="advice"> <xsl:param name="name"/> </xsl:template> </xsl:stylesheet>