Mercurial > hg > truffle
diff src/share/vm/opto/matcher.cpp @ 10999:693e4d04fd09
8014959: assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit
Summary: Insert extra checks and bailouts for too many nodes
Reviewed-by: kvn
author | drchase |
---|---|
date | Tue, 11 Jun 2013 16:34:34 -0400 |
parents | 603ca7e51354 |
children | ac91879aa56f |
line wrap: on
line diff
--- a/src/share/vm/opto/matcher.cpp Fri Jun 07 16:46:37 2013 -0700 +++ b/src/share/vm/opto/matcher.cpp Tue Jun 11 16:34:34 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -985,6 +985,8 @@ mstack.push(n, Visit, NULL, -1); // set NULL as parent to indicate root while (mstack.is_nonempty()) { + C->check_node_count(NodeLimitFudgeFactor, "too many nodes matching instructions"); + if (C->failing()) return NULL; n = mstack.node(); // Leave node on stack Node_State nstate = mstack.state(); if (nstate == Visit) {