From a1446b775d568577d5f74cdcd174950f22953e5c Mon Sep 17 00:00:00 2001 From: Tom Rodriguez Date: Wed, 14 Apr 2010 15:30:13 -0700 Subject: [PATCH] 6938026: C2 compiler fails in Node::rematerialize()const Reviewed-by: twisti --- hotspot/src/share/vm/opto/parse1.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hotspot/src/share/vm/opto/parse1.cpp b/hotspot/src/share/vm/opto/parse1.cpp index 579f4d0cd6c..af8be005729 100644 --- a/hotspot/src/share/vm/opto/parse1.cpp +++ b/hotspot/src/share/vm/opto/parse1.cpp @@ -280,7 +280,13 @@ void Parse::load_interpreter_state(Node* osr_buf) { continue; } // Construct code to access the appropriate local. - Node *value = fetch_interpreter_state(index, type->basic_type(), locals_addr, osr_buf); + BasicType bt = type->basic_type(); + if (type == TypePtr::NULL_PTR) { + // Ptr types are mixed together with T_ADDRESS but NULL is + // really for T_OBJECT types so correct it. + bt = T_OBJECT; + } + Node *value = fetch_interpreter_state(index, bt, locals_addr, osr_buf); set_local(index, value); }