Print this page


Split Close
Expand all
Collapse all
          --- old/src/cpu/x86/vm/templateTable_x86_64.cpp
          +++ new/src/cpu/x86/vm/templateTable_x86_64.cpp
↓ open down ↓ 397 lines elided ↑ open up ↑
 398  398  
 399  399    __ bind(Done);
 400  400  }
 401  401  
 402  402  // Fast path for caching oop constants.
 403  403  // %%% We should use this to handle Class and String constants also.
 404  404  // %%% It will simplify the ldc/primitive path considerably.
 405  405  void TemplateTable::fast_aldc(bool wide) {
 406  406    transition(vtos, atos);
 407  407  
 408      -  if (!EnableMethodHandles) {
 409      -    // We should not encounter this bytecode if !EnableMethodHandles.
      408 +  if (!EnableInvokeDynamic) {
      409 +    // We should not encounter this bytecode if !EnableInvokeDynamic.
 410  410      // The verifier will stop it.  However, if we get past the verifier,
 411  411      // this will stop the thread in a reasonable way, without crashing the JVM.
 412  412      __ call_VM(noreg, CAST_FROM_FN_PTR(address,
 413  413                       InterpreterRuntime::throw_IncompatibleClassChangeError));
 414  414      // the call_VM checks for exception, so we should never return here.
 415  415      __ should_not_reach_here();
 416  416      return;
 417  417    }
 418  418  
 419  419    const Register cache = rcx;
↓ open down ↓ 3252 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX