[vector] help on unify load/store access

Paul Sandoz paul.sandoz at oracle.com
Tue May 22 01:00:59 UTC 2018


Hi,

I started making some progress on unifying load/store access, but i am running into an issue due to my lack of experience with HotSpot.

Here’s what i have so far, with HS changes based on Al K’s work:

  http://cr.openjdk.java.net/~psandoz/panama/unify-load-store/webrev/

(This patches merges in load/store tests.)

I am getting a crash when the store intrinsic attempts to create an unbox vector node:

if (is_store) {
  Node* val = unbox_vector(argument(5), vbox_type, elem_bt, num_elem);
  if (val == NULL) {
    return false; // operand unboxing failed
  }
  set_all_memory(reset_memory());



#  Internal Error (/Users/sandoz/Projects/jdk/panama-vector/src/hotspot/share/opto/type.hpp:1659), pid=54022, tid=22275
#  assert(_base == InstPtr) failed: Not an object pointer

…

V  [libjvm.dylib+0xf3dc17]  VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x543
V  [libjvm.dylib+0xf3e3de]  VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x4a
V  [libjvm.dylib+0x6185bd]  report_vm_error(char const*, int, char const*, char const*, ...)+0xd3
V  [libjvm.dylib+0xb24ec0]  LibraryCallKit::unbox_vector(Node*, TypeInstPtr const*, BasicType, int)+0x6e
V  [libjvm.dylib+0xb19724]  LibraryCallKit::inline_vector_mem_operation(bool)+0x31c
V  [libjvm.dylib+0xaf9900]  LibraryCallKit::try_to_inline(int)+0xbfa
V  [libjvm.dylib+0xaf8a1c]  LibraryIntrinsic::generate(JVMState*)+0x100


It could be i am doing something really silly and missing something obvious, but AFAICT the argument indexes line up for the changes i made.

Thanks,
Paul.


More information about the panama-dev mailing list