src/cpu/x86/vm/stubGenerator_x86_64.cpp

changeset 3391
069ab3f976d3
parent 3314
59bc0d4d9ea3
child 3400
22cee0ee8927
     1.1 --- a/src/cpu/x86/vm/stubGenerator_x86_64.cpp	Tue Dec 20 00:55:02 2011 -0800
     1.2 +++ b/src/cpu/x86/vm/stubGenerator_x86_64.cpp	Wed Dec 07 11:35:03 2011 +0100
     1.3 @@ -2261,8 +2261,7 @@
     1.4      // The ckoff and ckval must be mutually consistent,
     1.5      // even though caller generates both.
     1.6      { Label L;
     1.7 -      int sco_offset = (klassOopDesc::header_size() * HeapWordSize +
     1.8 -                        Klass::super_check_offset_offset_in_bytes());
     1.9 +      int sco_offset = in_bytes(Klass::super_check_offset_offset());
    1.10        __ cmpl(ckoff, Address(ckval, sco_offset));
    1.11        __ jcc(Assembler::equal, L);
    1.12        __ stop("super_check_offset inconsistent");
    1.13 @@ -2572,8 +2571,7 @@
    1.14      //   array_tag: typeArray = 0x3, objArray = 0x2, non-array = 0x0
    1.15      //
    1.16  
    1.17 -    const int lh_offset = klassOopDesc::header_size() * HeapWordSize +
    1.18 -                          Klass::layout_helper_offset_in_bytes();
    1.19 +    const int lh_offset = in_bytes(Klass::layout_helper_offset());
    1.20  
    1.21      // Handle objArrays completely differently...
    1.22      const jint objArray_lh = Klass::array_layout_helper(T_OBJECT);
    1.23 @@ -2722,15 +2720,13 @@
    1.24        assert_clean_int(count, sco_temp);
    1.25  
    1.26        // Generate the type check.
    1.27 -      const int sco_offset = (klassOopDesc::header_size() * HeapWordSize +
    1.28 -                              Klass::super_check_offset_offset_in_bytes());
    1.29 +      const int sco_offset = in_bytes(Klass::super_check_offset_offset());
    1.30        __ movl(sco_temp, Address(r11_dst_klass, sco_offset));
    1.31        assert_clean_int(sco_temp, rax);
    1.32        generate_type_check(r10_src_klass, sco_temp, r11_dst_klass, L_plain_copy);
    1.33  
    1.34        // Fetch destination element klass from the objArrayKlass header.
    1.35 -      int ek_offset = (klassOopDesc::header_size() * HeapWordSize +
    1.36 -                       objArrayKlass::element_klass_offset_in_bytes());
    1.37 +      int ek_offset = in_bytes(objArrayKlass::element_klass_offset());
    1.38        __ movptr(r11_dst_klass, Address(r11_dst_klass, ek_offset));
    1.39        __ movl(  sco_temp,      Address(r11_dst_klass, sco_offset));
    1.40        assert_clean_int(sco_temp, rax);

mercurial