comparison src/share/vm/opto/loopnode.hpp @ 2248:194c9fdee631

7017240: C2: native memory leak in nsk/regression/b4675027 on windows-x86 in comp mode with G1 Summary: Add ResourceMark into PhaseIdealLoop::build_and_optimize(). Reviewed-by: never
author kvn
date Mon, 07 Feb 2011 09:46:01 -0800
parents f95d63e2154a
children 9dc311b8473e
comparison
equal deleted inserted replaced
2247:c52cba2a3359 2248:194c9fdee631
1 /* 1 /*
2 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1998, 2011, 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.
698 698
699 // Perform verification that the graph is valid. 699 // Perform verification that the graph is valid.
700 PhaseIdealLoop( PhaseIterGVN &igvn) : 700 PhaseIdealLoop( PhaseIterGVN &igvn) :
701 PhaseTransform(Ideal_Loop), 701 PhaseTransform(Ideal_Loop),
702 _igvn(igvn), 702 _igvn(igvn),
703 _dom_lca_tags(C->comp_arena()), 703 _dom_lca_tags(arena()), // Thread::resource_area
704 _verify_me(NULL), 704 _verify_me(NULL),
705 _verify_only(true) { 705 _verify_only(true) {
706 build_and_optimize(false, false); 706 build_and_optimize(false, false);
707 } 707 }
708 708
719 719
720 // Compute the Ideal Node to Loop mapping 720 // Compute the Ideal Node to Loop mapping
721 PhaseIdealLoop( PhaseIterGVN &igvn, bool do_split_ifs, bool do_loop_pred) : 721 PhaseIdealLoop( PhaseIterGVN &igvn, bool do_split_ifs, bool do_loop_pred) :
722 PhaseTransform(Ideal_Loop), 722 PhaseTransform(Ideal_Loop),
723 _igvn(igvn), 723 _igvn(igvn),
724 _dom_lca_tags(C->comp_arena()), 724 _dom_lca_tags(arena()), // Thread::resource_area
725 _verify_me(NULL), 725 _verify_me(NULL),
726 _verify_only(false) { 726 _verify_only(false) {
727 build_and_optimize(do_split_ifs, do_loop_pred); 727 build_and_optimize(do_split_ifs, do_loop_pred);
728 } 728 }
729 729
730 // Verify that verify_me made the same decisions as a fresh run. 730 // Verify that verify_me made the same decisions as a fresh run.
731 PhaseIdealLoop( PhaseIterGVN &igvn, const PhaseIdealLoop *verify_me) : 731 PhaseIdealLoop( PhaseIterGVN &igvn, const PhaseIdealLoop *verify_me) :
732 PhaseTransform(Ideal_Loop), 732 PhaseTransform(Ideal_Loop),
733 _igvn(igvn), 733 _igvn(igvn),
734 _dom_lca_tags(C->comp_arena()), 734 _dom_lca_tags(arena()), // Thread::resource_area
735 _verify_me(verify_me), 735 _verify_me(verify_me),
736 _verify_only(false) { 736 _verify_only(false) {
737 build_and_optimize(false, false); 737 build_and_optimize(false, false);
738 } 738 }
739 739