1.1 --- a/src/cpu/x86/vm/assembler_x86.hpp Fri Mar 06 21:36:50 2009 -0800 1.2 +++ b/src/cpu/x86/vm/assembler_x86.hpp Mon Mar 09 03:17:11 2009 -0700 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 1.6 + * Copyright 1997-2009 Sun Microsystems, Inc. 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 @@ -278,7 +278,7 @@ 1.11 // Convert the raw encoding form into the form expected by the constructor for 1.12 // Address. An index of 4 (rsp) corresponds to having no index, so convert 1.13 // that to noreg for the Address constructor. 1.14 - static Address make_raw(int base, int index, int scale, int disp); 1.15 + static Address make_raw(int base, int index, int scale, int disp, bool disp_is_oop); 1.16 1.17 static Address make_array(ArrayAddress); 1.18 1.19 @@ -1138,6 +1138,9 @@ 1.20 void movsbl(Register dst, Register src); 1.21 1.22 #ifdef _LP64 1.23 + void movsbq(Register dst, Address src); 1.24 + void movsbq(Register dst, Register src); 1.25 + 1.26 // Move signed 32bit immediate to 64bit extending sign 1.27 void movslq(Address dst, int32_t imm64); 1.28 void movslq(Register dst, int32_t imm64); 1.29 @@ -1150,6 +1153,11 @@ 1.30 void movswl(Register dst, Address src); 1.31 void movswl(Register dst, Register src); 1.32 1.33 +#ifdef _LP64 1.34 + void movswq(Register dst, Address src); 1.35 + void movswq(Register dst, Register src); 1.36 +#endif 1.37 + 1.38 void movw(Address dst, int imm16); 1.39 void movw(Register dst, Address src); 1.40 void movw(Address dst, Register src); 1.41 @@ -1157,9 +1165,19 @@ 1.42 void movzbl(Register dst, Address src); 1.43 void movzbl(Register dst, Register src); 1.44 1.45 +#ifdef _LP64 1.46 + void movzbq(Register dst, Address src); 1.47 + void movzbq(Register dst, Register src); 1.48 +#endif 1.49 + 1.50 void movzwl(Register dst, Address src); 1.51 void movzwl(Register dst, Register src); 1.52 1.53 +#ifdef _LP64 1.54 + void movzwq(Register dst, Address src); 1.55 + void movzwq(Register dst, Register src); 1.56 +#endif 1.57 + 1.58 void mull(Address src); 1.59 void mull(Register src); 1.60