mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 17:44:40 +02:00
8166748: Clean out Windows IA64 support
Reviewed-by: kbarrett, coleenp, bobv, mdoerr
This commit is contained in:
parent
4fd6f92702
commit
39a08d3fd9
3 changed files with 13 additions and 197 deletions
|
@ -232,23 +232,8 @@ int oopDesc::size_given_klass(Klass* klass) {
|
|||
// length of the array, shift (multiply) it appropriately,
|
||||
// up to wordSize, add the header, and align to object size.
|
||||
size_t size_in_bytes;
|
||||
#ifdef _M_IA64
|
||||
// The Windows Itanium Aug 2002 SDK hoists this load above
|
||||
// the check for s < 0. An oop at the end of the heap will
|
||||
// cause an access violation if this load is performed on a non
|
||||
// array oop. Making the reference volatile prohibits this.
|
||||
// (%%% please explain by what magic the length is actually fetched!)
|
||||
volatile int *array_length;
|
||||
array_length = (volatile int *)( (intptr_t)this +
|
||||
arrayOopDesc::length_offset_in_bytes() );
|
||||
assert(array_length > 0, "Integer arithmetic problem somewhere");
|
||||
// Put into size_t to avoid overflow.
|
||||
size_in_bytes = (size_t) array_length;
|
||||
size_in_bytes = size_in_bytes << Klass::layout_helper_log2_element_size(lh);
|
||||
#else
|
||||
size_t array_length = (size_t) ((arrayOop)this)->length();
|
||||
size_in_bytes = array_length << Klass::layout_helper_log2_element_size(lh);
|
||||
#endif
|
||||
size_in_bytes += Klass::layout_helper_header_size(lh);
|
||||
|
||||
// This code could be simplified, but by keeping array_header_in_bytes
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue