src/cpu/x86/vm/x86_32.ad

changeset 1934
e9ff18c4ace7
parent 1907
c18cbe5936b8
parent 1930
3657cb01ffc5
child 2085
f55c4f82ab9d
     1.1 --- a/src/cpu/x86/vm/x86_32.ad	Tue Jun 01 11:48:33 2010 -0700
     1.2 +++ b/src/cpu/x86/vm/x86_32.ad	Wed Jun 02 22:45:42 2010 -0700
     1.3 @@ -1377,6 +1377,12 @@
     1.4  // registers?  True for Intel but false for most RISCs
     1.5  const bool Matcher::clone_shift_expressions = true;
     1.6  
     1.7 +bool Matcher::narrow_oop_use_complex_address() {
     1.8 +  ShouldNotCallThis();
     1.9 +  return true;
    1.10 +}
    1.11 +
    1.12 +
    1.13  // Is it better to copy float constants, or load them directly from memory?
    1.14  // Intel can load a float constant from a direct address, requiring no
    1.15  // extra registers.  Most RISCs will have to materialize an address into a
    1.16 @@ -1841,14 +1847,14 @@
    1.17      MacroAssembler _masm(&cbuf);
    1.18      // RBP is preserved across all calls, even compiled calls.
    1.19      // Use it to preserve RSP in places where the callee might change the SP.
    1.20 -    __ movptr(rbp, rsp);
    1.21 +    __ movptr(rbp_mh_SP_save, rsp);
    1.22      debug_only(int off1 = cbuf.code_size());
    1.23      assert(off1 - off0 == preserve_SP_size(), "correct size prediction");
    1.24    %}
    1.25  
    1.26    enc_class restore_SP %{
    1.27      MacroAssembler _masm(&cbuf);
    1.28 -    __ movptr(rsp, rbp);
    1.29 +    __ movptr(rsp, rbp_mh_SP_save);
    1.30    %}
    1.31  
    1.32    enc_class Java_Static_Call (method meth) %{    // JAVA STATIC CALL
    1.33 @@ -13570,7 +13576,7 @@
    1.34  // Call Java Static Instruction (method handle version)
    1.35  // Note: If this code changes, the corresponding ret_addr_offset() and
    1.36  //       compute_padding() functions will have to be adjusted.
    1.37 -instruct CallStaticJavaHandle(method meth, eBPRegP ebp) %{
    1.38 +instruct CallStaticJavaHandle(method meth, eBPRegP ebp_mh_SP_save) %{
    1.39    match(CallStaticJava);
    1.40    predicate(((CallStaticJavaNode*)n)->is_method_handle_invoke());
    1.41    effect(USE meth);

mercurial