332 // %%% We should use this to handle Class and String constants also. |
332 // %%% We should use this to handle Class and String constants also. |
333 // %%% It will simplify the ldc/primitive path considerably. |
333 // %%% It will simplify the ldc/primitive path considerably. |
334 void TemplateTable::fast_aldc(bool wide) { |
334 void TemplateTable::fast_aldc(bool wide) { |
335 transition(vtos, atos); |
335 transition(vtos, atos); |
336 |
336 |
337 if (!EnableMethodHandles) { |
337 if (!EnableInvokeDynamic) { |
338 // We should not encounter this bytecode if !EnableMethodHandles. |
338 // We should not encounter this bytecode if !EnableInvokeDynamic. |
339 // The verifier will stop it. However, if we get past the verifier, |
339 // The verifier will stop it. However, if we get past the verifier, |
340 // this will stop the thread in a reasonable way, without crashing the JVM. |
340 // this will stop the thread in a reasonable way, without crashing the JVM. |
341 __ call_VM(noreg, CAST_FROM_FN_PTR(address, |
341 __ call_VM(noreg, CAST_FROM_FN_PTR(address, |
342 InterpreterRuntime::throw_IncompatibleClassChangeError)); |
342 InterpreterRuntime::throw_IncompatibleClassChangeError)); |
343 // the call_VM checks for exception, so we should never return here. |
343 // the call_VM checks for exception, so we should never return here. |