Mercurial > hg > graal-compiler
comparison src/cpu/x86/vm/templateTable_x86_64.cpp @ 726:be93aad57795
6655646: dynamic languages need dynamically linked call sites
Summary: invokedynamic instruction (JSR 292 RI)
Reviewed-by: twisti, never
author | jrose |
---|---|
date | Tue, 21 Apr 2009 23:21:04 -0700 |
parents | 9adddb8c0fc8 |
children | bd02caa94611 |
comparison
equal
deleted
inserted
replaced
725:928912ce8438 | 726:be93aad57795 |
---|---|
3056 // the call_VM checks for exception, so we should never return here. | 3056 // the call_VM checks for exception, so we should never return here. |
3057 __ should_not_reach_here(); | 3057 __ should_not_reach_here(); |
3058 return; | 3058 return; |
3059 } | 3059 } |
3060 | 3060 |
3061 void TemplateTable::invokedynamic(int byte_no) { | |
3062 transition(vtos, vtos); | |
3063 | |
3064 if (!EnableInvokeDynamic) { | |
3065 // We should not encounter this bytecode if !EnableInvokeDynamic. | |
3066 // The verifier will stop it. However, if we get past the verifier, | |
3067 // this will stop the thread in a reasonable way, without crashing the JVM. | |
3068 __ call_VM(noreg, CAST_FROM_FN_PTR(address, | |
3069 InterpreterRuntime::throw_IncompatibleClassChangeError)); | |
3070 // the call_VM checks for exception, so we should never return here. | |
3071 __ should_not_reach_here(); | |
3072 return; | |
3073 } | |
3074 | |
3075 __ stop("invokedynamic NYI");//6815692// | |
3076 } | |
3077 | |
3061 | 3078 |
3062 //----------------------------------------------------------------------------- | 3079 //----------------------------------------------------------------------------- |
3063 // Allocation | 3080 // Allocation |
3064 | 3081 |
3065 void TemplateTable::_new() { | 3082 void TemplateTable::_new() { |