comparison src/cpu/x86/vm/jniFastGetField_x86_32.cpp @ 1748:3e8fbc61cee8

6978355: renaming for 6961697 Summary: This is the renaming part of 6961697 to keep the actual changes small for review. Reviewed-by: kvn, never
author twisti
date Wed, 25 Aug 2010 05:27:54 -0700
parents c18cbe5936b8
children f95d63e2154a
comparison
equal deleted inserted replaced
1747:53dbe853fb3a 1748:3e8fbc61cee8
1 /* 1 /*
2 * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2004, 2010, 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.
52 case T_SHORT: name = "jni_fast_GetShortField"; break; 52 case T_SHORT: name = "jni_fast_GetShortField"; break;
53 case T_INT: name = "jni_fast_GetIntField"; break; 53 case T_INT: name = "jni_fast_GetIntField"; break;
54 default: ShouldNotReachHere(); 54 default: ShouldNotReachHere();
55 } 55 }
56 ResourceMark rm; 56 ResourceMark rm;
57 BufferBlob* b = BufferBlob::create(name, BUFFER_SIZE*wordSize); 57 BufferBlob* blob = BufferBlob::create(name, BUFFER_SIZE*wordSize);
58 address fast_entry = b->instructions_begin(); 58 CodeBuffer cbuf(blob);
59 CodeBuffer cbuf(fast_entry, b->instructions_size());
60 MacroAssembler* masm = new MacroAssembler(&cbuf); 59 MacroAssembler* masm = new MacroAssembler(&cbuf);
60 address fast_entry = __ pc();
61 61
62 Label slow; 62 Label slow;
63 63
64 // stack layout: offset from rsp (in words): 64 // stack layout: offset from rsp (in words):
65 // return pc 0 65 // return pc 0
133 133
134 #ifndef _WINDOWS 134 #ifndef _WINDOWS
135 return fast_entry; 135 return fast_entry;
136 #else 136 #else
137 switch (type) { 137 switch (type) {
138 case T_BOOLEAN: jni_fast_GetBooleanField_fp = (GetBooleanField_t)fast_entry; break; 138 case T_BOOLEAN: jni_fast_GetBooleanField_fp = (GetBooleanField_t) fast_entry; break;
139 case T_BYTE: jni_fast_GetByteField_fp = (GetByteField_t)fast_entry; break; 139 case T_BYTE: jni_fast_GetByteField_fp = (GetByteField_t) fast_entry; break;
140 case T_CHAR: jni_fast_GetCharField_fp = (GetCharField_t)fast_entry; break; 140 case T_CHAR: jni_fast_GetCharField_fp = (GetCharField_t) fast_entry; break;
141 case T_SHORT: jni_fast_GetShortField_fp = (GetShortField_t)fast_entry; break; 141 case T_SHORT: jni_fast_GetShortField_fp = (GetShortField_t) fast_entry; break;
142 case T_INT: jni_fast_GetIntField_fp = (GetIntField_t)fast_entry; 142 case T_INT: jni_fast_GetIntField_fp = (GetIntField_t) fast_entry; break;
143 } 143 }
144 return os::win32::fast_jni_accessor_wrapper(type); 144 return os::win32::fast_jni_accessor_wrapper(type);
145 #endif 145 #endif
146 } 146 }
147 147
166 } 166 }
167 167
168 address JNI_FastGetField::generate_fast_get_long_field() { 168 address JNI_FastGetField::generate_fast_get_long_field() {
169 const char *name = "jni_fast_GetLongField"; 169 const char *name = "jni_fast_GetLongField";
170 ResourceMark rm; 170 ResourceMark rm;
171 BufferBlob* b = BufferBlob::create(name, BUFFER_SIZE*wordSize); 171 BufferBlob* blob = BufferBlob::create(name, BUFFER_SIZE*wordSize);
172 address fast_entry = b->instructions_begin(); 172 CodeBuffer cbuf(blob);
173 CodeBuffer cbuf(fast_entry, b->instructions_size());
174 MacroAssembler* masm = new MacroAssembler(&cbuf); 173 MacroAssembler* masm = new MacroAssembler(&cbuf);
174 address fast_entry = __ pc();
175 175
176 Label slow; 176 Label slow;
177 177
178 // stack layout: offset from rsp (in words): 178 // stack layout: offset from rsp (in words):
179 // old rsi 0 179 // old rsi 0
244 __ flush (); 244 __ flush ();
245 245
246 #ifndef _WINDOWS 246 #ifndef _WINDOWS
247 return fast_entry; 247 return fast_entry;
248 #else 248 #else
249 jni_fast_GetLongField_fp = (GetLongField_t)fast_entry; 249 jni_fast_GetLongField_fp = (GetLongField_t) fast_entry;
250 return os::win32::fast_jni_accessor_wrapper(T_LONG); 250 return os::win32::fast_jni_accessor_wrapper(T_LONG);
251 #endif 251 #endif
252 } 252 }
253 253
254 address JNI_FastGetField::generate_fast_get_float_field0(BasicType type) { 254 address JNI_FastGetField::generate_fast_get_float_field0(BasicType type) {
257 case T_FLOAT: name = "jni_fast_GetFloatField"; break; 257 case T_FLOAT: name = "jni_fast_GetFloatField"; break;
258 case T_DOUBLE: name = "jni_fast_GetDoubleField"; break; 258 case T_DOUBLE: name = "jni_fast_GetDoubleField"; break;
259 default: ShouldNotReachHere(); 259 default: ShouldNotReachHere();
260 } 260 }
261 ResourceMark rm; 261 ResourceMark rm;
262 BufferBlob* b = BufferBlob::create(name, BUFFER_SIZE*wordSize); 262 BufferBlob* blob = BufferBlob::create(name, BUFFER_SIZE*wordSize);
263 address fast_entry = b->instructions_begin(); 263 CodeBuffer cbuf(blob);
264 CodeBuffer cbuf(fast_entry, b->instructions_size());
265 MacroAssembler* masm = new MacroAssembler(&cbuf); 264 MacroAssembler* masm = new MacroAssembler(&cbuf);
265 address fast_entry = __ pc();
266 266
267 Label slow_with_pop, slow; 267 Label slow_with_pop, slow;
268 268
269 // stack layout: offset from rsp (in words): 269 // stack layout: offset from rsp (in words):
270 // return pc 0 270 // return pc 0
346 346
347 #ifndef _WINDOWS 347 #ifndef _WINDOWS
348 return fast_entry; 348 return fast_entry;
349 #else 349 #else
350 switch (type) { 350 switch (type) {
351 case T_FLOAT: jni_fast_GetFloatField_fp = (GetFloatField_t)fast_entry; break; 351 case T_FLOAT: jni_fast_GetFloatField_fp = (GetFloatField_t) fast_entry; break;
352 case T_DOUBLE: jni_fast_GetDoubleField_fp = (GetDoubleField_t)fast_entry; 352 case T_DOUBLE: jni_fast_GetDoubleField_fp = (GetDoubleField_t) fast_entry; break;
353 } 353 }
354 return os::win32::fast_jni_accessor_wrapper(type); 354 return os::win32::fast_jni_accessor_wrapper(type);
355 #endif 355 #endif
356 } 356 }
357 357