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() {