comparison src/share/vm/opto/loopnode.hpp @ 23473:cf93dd06db0f

6869327: Add new C2 flag to keep safepoints in counted loops. Reviewed-by: kvn
author aeriksso
date Fri, 04 Dec 2015 14:06:38 +0100
parents 5b8e0f84f00f
children b5f3a471e646 c9035b8e388b
comparison
equal deleted inserted replaced
23472:047a642c9729 23473:cf93dd06db0f
1 /* 1 /*
2 * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
401 401
402 // Allpaths backwards scan from loop tail, terminating each path at first safepoint 402 // Allpaths backwards scan from loop tail, terminating each path at first safepoint
403 // encountered. 403 // encountered.
404 void allpaths_check_safepts(VectorSet &visited, Node_List &stack); 404 void allpaths_check_safepts(VectorSet &visited, Node_List &stack);
405 405
406 // Remove safepoints from loop. Optionally keeping one.
407 void remove_safepoints(PhaseIdealLoop* phase, bool keep_one);
408
406 // Convert to counted loops where possible 409 // Convert to counted loops where possible
407 void counted_loop( PhaseIdealLoop *phase ); 410 void counted_loop( PhaseIdealLoop *phase );
408 411
409 // Check for Node being a loop-breaking test 412 // Check for Node being a loop-breaking test
410 Node *is_loop_exit(Node *iff) const; 413 Node *is_loop_exit(Node *iff) const;