< prev index next >

src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java

Print this page




 301 
 302     /**
 303      * Returns true if this method has a {@code ForceInline} annotation.
 304      *
 305      * @return true if ForceInline annotation present, false otherwise
 306      */
 307     public boolean isForceInline() {
 308         return (getFlags() & config().methodFlagsForceInline) != 0;
 309     }
 310 
 311     /**
 312      * Returns true if this method has a {@code ReservedStackAccess} annotation.
 313      *
 314      * @return true if ReservedStackAccess annotation present, false otherwise
 315      */
 316     public boolean hasReservedStackAccess() {
 317         return (getFlags() & config().methodFlagsReservedStackAccess) != 0;
 318     }
 319 
 320     /**
 321      * Manually adds a DontInline annotation to this method.
 322      */
 323     public void setNotInlineable() {
 324         compilerToVM().doNotInlineOrCompile(this);
 325     }
 326 
 327     /**
 328      * Returns true if this method is one of the special methods that is ignored by security stack
 329      * walks.
 330      *
 331      * @return true if special method ignored by security stack walks, false otherwise
 332      */
 333     public boolean ignoredBySecurityStackWalk() {
 334         return compilerToVM().methodIsIgnoredBySecurityStackWalk(this);
 335     }
 336 
 337     @Override
 338     public boolean isClassInitializer() {
 339         if (isStatic()) {
 340             final int nameIndex = UNSAFE.getChar(getConstMethod() + config().constMethodNameIndexOffset);
 341             long nameSymbol = constantPool.getEntryAt(nameIndex);
 342             long clinitSymbol = config().symbolClinit;
 343             return nameSymbol == clinitSymbol;
 344         }




 301 
 302     /**
 303      * Returns true if this method has a {@code ForceInline} annotation.
 304      *
 305      * @return true if ForceInline annotation present, false otherwise
 306      */
 307     public boolean isForceInline() {
 308         return (getFlags() & config().methodFlagsForceInline) != 0;
 309     }
 310 
 311     /**
 312      * Returns true if this method has a {@code ReservedStackAccess} annotation.
 313      *
 314      * @return true if ReservedStackAccess annotation present, false otherwise
 315      */
 316     public boolean hasReservedStackAccess() {
 317         return (getFlags() & config().methodFlagsReservedStackAccess) != 0;
 318     }
 319 
 320     /**
 321      * Determines if {@code method} should not be inlined or compiled.
 322      */
 323     public void setNotInlineableOrCompileable() {
 324         compilerToVM().setNotInlineableOrCompileable(this);
 325     }
 326 
 327     /**
 328      * Returns true if this method is one of the special methods that is ignored by security stack
 329      * walks.
 330      *
 331      * @return true if special method ignored by security stack walks, false otherwise
 332      */
 333     public boolean ignoredBySecurityStackWalk() {
 334         return compilerToVM().methodIsIgnoredBySecurityStackWalk(this);
 335     }
 336 
 337     @Override
 338     public boolean isClassInitializer() {
 339         if (isStatic()) {
 340             final int nameIndex = UNSAFE.getChar(getConstMethod() + config().constMethodNameIndexOffset);
 341             long nameSymbol = constantPool.getEntryAt(nameIndex);
 342             long clinitSymbol = config().symbolClinit;
 343             return nameSymbol == clinitSymbol;
 344         }


< prev index next >