aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/opto/graphKit.cpp
diff options
context:
space:
mode:
authorkvn <none@none>2010-11-18 09:52:48 -0800
committerkvn <none@none>2010-11-18 09:52:48 -0800
commitb566e1d5b60a7b6ea0c9875f0f0be33b03bdcf94 (patch)
tree8fc731f5f83a3aa8247e9202c4056ab5e8528472 /src/share/vm/opto/graphKit.cpp
parente513a91c901a2c35f6baa64bac8b40a0de61b8e4 (diff)
7000491: assert(false) failed: should be optimized out in SharedRuntime::g1_wb_pre
Summary: Wrong value type is used for NULL store when clearing the detail message of the preallocated exception object. Reviewed-by: never, iveresov
Diffstat (limited to 'src/share/vm/opto/graphKit.cpp')
-rw-r--r--src/share/vm/opto/graphKit.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/share/vm/opto/graphKit.cpp b/src/share/vm/opto/graphKit.cpp
index cbf43cb55..493af5cea 100644
--- a/src/share/vm/opto/graphKit.cpp
+++ b/src/share/vm/opto/graphKit.cpp
@@ -569,7 +569,8 @@ void GraphKit::builtin_throw(Deoptimization::DeoptReason reason, Node* arg) {
const TypePtr* adr_typ = ex_con->add_offset(offset);
Node *adr = basic_plus_adr(ex_node, ex_node, offset);
- Node *store = store_oop_to_object(control(), ex_node, adr, adr_typ, null(), ex_con, T_OBJECT);
+ const TypeOopPtr* val_type = TypeOopPtr::make_from_klass(env()->String_klass());
+ Node *store = store_oop_to_object(control(), ex_node, adr, adr_typ, null(), val_type, T_OBJECT);
add_exception_state(make_exception_state(ex_node));
return;