28 import java.lang.annotation.ElementType;
29 import java.lang.annotation.Retention;
30 import java.lang.annotation.RetentionPolicy;
31 import java.lang.annotation.Target;
32
33 /**
34 * <p>An annotation expressing that a method is especially sensitive
35 * to stack overflows. This is a hint the JVM can use to grant access to
36 * extra stack space when executing this code if such feature is supported
37 * by the JVM. The JVM is free to ignore this annotation.
38 *
39 * A possible way for the JVM to improve the execution context for methods
40 * with this annotation is to reserve part of the thread's execution stack
41 * for them. Access to this section of the stack would be denied by default
42 * but could be granted if the JVM detects a possible stack overflow and
43 * the thread's call stack includes at least one annotated method. Even if
44 * access to this reserved area has been granted, the JVM might decide to
45 * throw a delayed StackOverflowError when the thread exits the annotated
46 * method.
47 *
48 * @since 1.9
49 */
50 @Retention(RetentionPolicy.RUNTIME)
51 @Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
52 public @interface ReservedStackAccess { }
|
28 import java.lang.annotation.ElementType;
29 import java.lang.annotation.Retention;
30 import java.lang.annotation.RetentionPolicy;
31 import java.lang.annotation.Target;
32
33 /**
34 * <p>An annotation expressing that a method is especially sensitive
35 * to stack overflows. This is a hint the JVM can use to grant access to
36 * extra stack space when executing this code if such feature is supported
37 * by the JVM. The JVM is free to ignore this annotation.
38 *
39 * A possible way for the JVM to improve the execution context for methods
40 * with this annotation is to reserve part of the thread's execution stack
41 * for them. Access to this section of the stack would be denied by default
42 * but could be granted if the JVM detects a possible stack overflow and
43 * the thread's call stack includes at least one annotated method. Even if
44 * access to this reserved area has been granted, the JVM might decide to
45 * throw a delayed StackOverflowError when the thread exits the annotated
46 * method.
47 *
48 * @since 9
49 */
50 @Retention(RetentionPolicy.RUNTIME)
51 @Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
52 public @interface ReservedStackAccess { }
|