Mercurial > hg > graal-jvmci-8
diff src/share/vm/asm/register.hpp @ 6266:1d7922586cf6
7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI
Summary: remove assembly code for JDK 7 chained method handles
Reviewed-by: jrose, twisti, kvn, mhaupt
Contributed-by: John Rose <john.r.rose@oracle.com>, Christian Thalinger <christian.thalinger@oracle.com>, Michael Haupt <michael.haupt@oracle.com>
author | twisti |
---|---|
date | Tue, 24 Jul 2012 10:51:00 -0700 |
parents | f95d63e2154a |
children | 2cb2f30450c7 |
line wrap: on
line diff
--- a/src/share/vm/asm/register.hpp Mon Jul 23 13:04:59 2012 -0700 +++ b/src/share/vm/asm/register.hpp Tue Jul 24 10:51:00 2012 -0700 @@ -103,7 +103,8 @@ ) { assert( a != b, - "registers must be different" + err_msg("registers must be different: a=%d, b=%d", + a, b) ); } @@ -116,7 +117,8 @@ assert( a != b && a != c && b != c, - "registers must be different" + err_msg("registers must be different: a=%d, b=%d, c=%d", + a, b, c) ); } @@ -131,7 +133,8 @@ a != b && a != c && a != d && b != c && b != d && c != d, - "registers must be different" + err_msg("registers must be different: a=%d, b=%d, c=%d, d=%d", + a, b, c, d) ); } @@ -148,7 +151,8 @@ && b != c && b != d && b != e && c != d && c != e && d != e, - "registers must be different" + err_msg("registers must be different: a=%d, b=%d, c=%d, d=%d, e=%d", + a, b, c, d, e) ); } @@ -167,7 +171,8 @@ && c != d && c != e && c != f && d != e && d != f && e != f, - "registers must be different" + err_msg("registers must be different: a=%d, b=%d, c=%d, d=%d, e=%d, f=%d", + a, b, c, d, e, f) ); } @@ -188,7 +193,8 @@ && d != e && d != f && d != g && e != f && e != g && f != g, - "registers must be different" + err_msg("registers must be different: a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d", + a, b, c, d, e, f, g) ); } @@ -211,7 +217,34 @@ && e != f && e != g && e != h && f != g && f != h && g != h, - "registers must be different" + err_msg("registers must be different: a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d", + a, b, c, d, e, f, g, h) + ); +} + + +inline void assert_different_registers( + AbstractRegister a, + AbstractRegister b, + AbstractRegister c, + AbstractRegister d, + AbstractRegister e, + AbstractRegister f, + AbstractRegister g, + AbstractRegister h, + AbstractRegister i +) { + assert( + a != b && a != c && a != d && a != e && a != f && a != g && a != h && a != i + && b != c && b != d && b != e && b != f && b != g && b != h && b != i + && c != d && c != e && c != f && c != g && c != h && c != i + && d != e && d != f && d != g && d != h && d != i + && e != f && e != g && e != h && e != i + && f != g && f != h && f != i + && g != h && g != i + && h != i, + err_msg("registers must be different: a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d", + a, b, c, d, e, f, g, h, i) ); }