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