Mercurial > hg > truffle
diff src/share/vm/opto/library_call.cpp @ 1844:75588558f1bf
6980792: Crash "exception happened outside interpreter, nmethods and vtable stubs (1)"
Reviewed-by: kvn
author | never |
---|---|
date | Thu, 07 Oct 2010 21:40:55 -0700 |
parents | 3e8fbc61cee8 |
children | f95d63e2154a |
line wrap: on
line diff
--- a/src/share/vm/opto/library_call.cpp Wed Oct 06 14:18:32 2010 -0700 +++ b/src/share/vm/opto/library_call.cpp Thu Oct 07 21:40:55 2010 -0700 @@ -4761,7 +4761,7 @@ Node* cv = generate_checkcast_arraycopy(adr_type, dest_elem_klass, src, src_offset, dest, dest_offset, - copy_length); + ConvI2X(copy_length)); if (cv == NULL) cv = intcon(-1); // failure (no stub available) checked_control = control(); checked_i_o = i_o(); @@ -5206,7 +5206,7 @@ int sco_offset = Klass::super_check_offset_offset_in_bytes() + sizeof(oopDesc); Node* p3 = basic_plus_adr(dest_elem_klass, sco_offset); Node* n3 = new(C, 3) LoadINode(NULL, memory(p3), p3, _gvn.type(p3)->is_ptr()); - Node* check_offset = _gvn.transform(n3); + Node* check_offset = ConvI2X(_gvn.transform(n3)); Node* check_value = dest_elem_klass; Node* src_start = array_element_address(src, src_offset, T_OBJECT);