Print this page


Split Close
Expand all
Collapse all
          --- old/src/cpu/x86/vm/templateTable_x86_32.cpp
          +++ new/src/cpu/x86/vm/templateTable_x86_32.cpp
↓ open down ↓ 383 lines elided ↑ open up ↑
 384  384    }
 385  385    __ bind(Done);
 386  386  }
 387  387  
 388  388  // Fast path for caching oop constants.
 389  389  // %%% We should use this to handle Class and String constants also.
 390  390  // %%% It will simplify the ldc/primitive path considerably.
 391  391  void TemplateTable::fast_aldc(bool wide) {
 392  392    transition(vtos, atos);
 393  393  
 394      -  if (!EnableMethodHandles) {
 395      -    // We should not encounter this bytecode if !EnableMethodHandles.
      394 +  if (!EnableInvokeDynamic) {
      395 +    // We should not encounter this bytecode if !EnableInvokeDynamic.
 396  396      // The verifier will stop it.  However, if we get past the verifier,
 397  397      // this will stop the thread in a reasonable way, without crashing the JVM.
 398  398      __ call_VM(noreg, CAST_FROM_FN_PTR(address,
 399  399                       InterpreterRuntime::throw_IncompatibleClassChangeError));
 400  400      // the call_VM checks for exception, so we should never return here.
 401  401      __ should_not_reach_here();
 402  402      return;
 403  403    }
 404  404  
 405  405    const Register cache = rcx;
↓ open down ↓ 3211 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX