src/cpu/x86/vm/cppInterpreter_x86.cpp

changeset 3826
2fe087c3e814
parent 3391
069ab3f976d3
child 3969
1d7922586cf6
     1.1 --- a/src/cpu/x86/vm/cppInterpreter_x86.cpp	Fri Jun 01 15:30:44 2012 -0700
     1.2 +++ b/src/cpu/x86/vm/cppInterpreter_x86.cpp	Wed Jun 06 14:33:43 2012 -0400
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -481,7 +481,8 @@
    1.11    __ xorptr(rdx, rdx);
    1.12    __ movptr(STATE(_oop_temp), rdx);                     // state->_oop_temp = NULL (only really needed for native)
    1.13    __ movptr(STATE(_mdx), rdx);                          // state->_mdx = NULL
    1.14 -  __ movptr(rdx, Address(rbx, methodOopDesc::constants_offset()));
    1.15 +  __ movptr(rdx, Address(rbx, methodOopDesc::const_offset()));
    1.16 +  __ movptr(rdx, Address(rdx, constMethodOopDesc::constants_offset()));
    1.17    __ movptr(rdx, Address(rdx, constantPoolOopDesc::cache_offset_in_bytes()));
    1.18    __ movptr(STATE(_constants), rdx);                    // state->_constants = constants()
    1.19  
    1.20 @@ -516,7 +517,8 @@
    1.21      __ testl(rax, JVM_ACC_STATIC);
    1.22      __ movptr(rax, Address(locals, 0));                   // get receiver (assume this is frequent case)
    1.23      __ jcc(Assembler::zero, done);
    1.24 -    __ movptr(rax, Address(rbx, methodOopDesc::constants_offset()));
    1.25 +    __ movptr(rax, Address(rbx, methodOopDesc::const_offset()));
    1.26 +    __ movptr(rax, Address(rax, constMethodOopDesc::constants_offset()));
    1.27      __ movptr(rax, Address(rax, constantPoolOopDesc::pool_holder_offset_in_bytes()));
    1.28      __ movptr(rax, Address(rax, mirror_offset));
    1.29      __ bind(done);
    1.30 @@ -769,7 +771,8 @@
    1.31      __ testl(rax, JVM_ACC_STATIC);
    1.32      __ movptr(rax, Address(rdi, 0));                                    // get receiver (assume this is frequent case)
    1.33      __ jcc(Assembler::zero, done);
    1.34 -    __ movptr(rax, Address(rbx, methodOopDesc::constants_offset()));
    1.35 +    __ movptr(rax, Address(rbx, methodOopDesc::const_offset()));
    1.36 +    __ movptr(rax, Address(rax, constMethodOopDesc::constants_offset()));
    1.37      __ movptr(rax, Address(rax, constantPoolOopDesc::pool_holder_offset_in_bytes()));
    1.38      __ movptr(rax, Address(rax, mirror_offset));
    1.39      __ bind(done);
    1.40 @@ -821,9 +824,9 @@
    1.41      __ testptr(rax, rax);
    1.42      __ jcc(Assembler::zero, slow_path);
    1.43  
    1.44 -    __ movptr(rdi, Address(rbx, methodOopDesc::constants_offset()));
    1.45      // read first instruction word and extract bytecode @ 1 and index @ 2
    1.46      __ movptr(rdx, Address(rbx, methodOopDesc::const_offset()));
    1.47 +    __ movptr(rdi, Address(rdx, constMethodOopDesc::constants_offset()));
    1.48      __ movl(rdx, Address(rdx, constMethodOopDesc::codes_offset()));
    1.49      // Shift codes right to get the index on the right.
    1.50      // The bytecode fetched looks like <index><0xb4><0x2a>
    1.51 @@ -1185,7 +1188,8 @@
    1.52      __ testl(t, JVM_ACC_STATIC);
    1.53      __ jcc(Assembler::zero, L);
    1.54      // get mirror
    1.55 -    __ movptr(t, Address(method, methodOopDesc:: constants_offset()));
    1.56 +    __ movptr(t, Address(method, methodOopDesc:: const_offset()));
    1.57 +    __ movptr(t, Address(t, constMethodOopDesc::constants_offset()));
    1.58      __ movptr(t, Address(t, constantPoolOopDesc::pool_holder_offset_in_bytes()));
    1.59      __ movptr(t, Address(t, mirror_offset));
    1.60      // copy mirror into activation object

mercurial