src/hotspot/cpu/arm/arm.ad
changeset 51756 4bd35a5ec694
parent 47216 71c04702a3d5
child 51996 84743156e780
equal deleted inserted replaced
51755:6c394ed56b07 51756:4bd35a5ec694
     1 //
     1 //
     2 // Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
     2 // Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
     3 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 //
     4 //
     5 // This code is free software; you can redistribute it and/or modify it
     5 // This code is free software; you can redistribute it and/or modify it
     6 // under the terms of the GNU General Public License version 2 only, as
     6 // under the terms of the GNU General Public License version 2 only, as
     7 // published by the Free Software Foundation.
     7 // published by the Free Software Foundation.
  1637     // Otherwise, return the difference between the first mismatched chars.
  1637     // Otherwise, return the difference between the first mismatched chars.
  1638     __ bind(Ldone);
  1638     __ bind(Ldone);
  1639   %}
  1639   %}
  1640 
  1640 
  1641   enc_class enc_String_Equals(R0RegP str1, R1RegP str2, R2RegI cnt, iRegI result, iRegI tmp1, iRegI tmp2) %{
  1641   enc_class enc_String_Equals(R0RegP str1, R1RegP str2, R2RegI cnt, iRegI result, iRegI tmp1, iRegI tmp2) %{
  1642     Label Lword_loop, Lpost_word, Lchar, Lchar_loop, Ldone, Lequal;
  1642     Label Lchar, Lchar_loop, Ldone, Lequal;
  1643     MacroAssembler _masm(&cbuf);
  1643     MacroAssembler _masm(&cbuf);
  1644 
  1644 
  1645     Register   str1_reg = $str1$$Register;
  1645     Register   str1_reg = $str1$$Register;
  1646     Register   str2_reg = $str2$$Register;
  1646     Register   str2_reg = $str2$$Register;
  1647     Register    cnt_reg = $cnt$$Register; // int
  1647     Register    cnt_reg = $cnt$$Register; // int
  1699 
  1699 
  1700     __ bind(Ldone);
  1700     __ bind(Ldone);
  1701   %}
  1701   %}
  1702 
  1702 
  1703   enc_class enc_Array_Equals(R0RegP ary1, R1RegP ary2, iRegI tmp1, iRegI tmp2, iRegI tmp3, iRegI result) %{
  1703   enc_class enc_Array_Equals(R0RegP ary1, R1RegP ary2, iRegI tmp1, iRegI tmp2, iRegI tmp3, iRegI result) %{
  1704     Label Lvector, Ldone, Lloop, Lequal;
  1704     Label Ldone, Lloop, Lequal;
  1705     MacroAssembler _masm(&cbuf);
  1705     MacroAssembler _masm(&cbuf);
  1706 
  1706 
  1707     Register   ary1_reg = $ary1$$Register;
  1707     Register   ary1_reg = $ary1$$Register;
  1708     Register   ary2_reg = $ary2$$Register;
  1708     Register   ary2_reg = $ary2$$Register;
  1709     Register   tmp1_reg = $tmp1$$Register;
  1709     Register   tmp1_reg = $tmp1$$Register;