# HG changeset patch # User Christian Humer # Date 1367017121 -7200 # Node ID cc2149467eedffa99655ffff60400216b82ddc37 # Parent 86d981cd8e22e2bd15eebd7fd0e2c6de06126cb5# Parent 0fccad3ce40d36d617c8b85603691b97c88733fe Merge. diff -r 86d981cd8e22 -r cc2149467eed graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java Sat Apr 27 00:49:49 2013 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java Sat Apr 27 00:58:41 2013 +0200 @@ -117,4 +117,13 @@ @Target({ElementType.FIELD}) public @interface CompilationFinal { } + + /** + * Marks methods that are considered unsafe. Wrong usage of those methods can lead to unexpected + * behavior including a crash of the runtime. Therefore, special care should be taken. + */ + @Retention(RetentionPolicy.RUNTIME) + @Target({ElementType.METHOD}) + public @interface Unsafe { + } } diff -r 86d981cd8e22 -r cc2149467eed graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/Frame.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/Frame.java Sat Apr 27 00:49:49 2013 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/Frame.java Sat Apr 27 00:58:41 2013 +0200 @@ -45,6 +45,7 @@ * @param clazz the known type of the arguments object as a compile time constant * @return the arguments used when calling this method */ + @CompilerDirectives.Unsafe T getArguments(Class clazz); /**