comparison src/share/vm/oops/methodData.cpp @ 9088:89e4d67fdd2a

Merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Fri, 12 Apr 2013 14:05:42 +0200
parents b9a918201d47 b84fd7d73702
children 57e5211846f9
comparison
equal deleted inserted replaced
9037:b008f40b67d0 9088:89e4d67fdd2a
674 674
675 void MethodData::initialize() { 675 void MethodData::initialize() {
676 No_Safepoint_Verifier no_safepoint; // init function atomic wrt GC 676 No_Safepoint_Verifier no_safepoint; // init function atomic wrt GC
677 ResourceMark rm; 677 ResourceMark rm;
678 678
679 _invocation_counter.init(); 679 init();
680 _backedge_counter.init();
681 _invocation_counter_start = 0;
682 _backedge_counter_start = 0;
683 _num_loops = 0;
684 _num_blocks = 0;
685 _highest_comp_level = 0;
686 _highest_osr_comp_level = 0;
687 _would_profile = true;
688 set_creation_mileage(mileage_of(method())); 680 set_creation_mileage(mileage_of(method()));
689
690 // Initialize flags and trap history.
691 _nof_decompiles = 0;
692 _nof_overflow_recompiles = 0;
693 _nof_overflow_traps = 0;
694 _eflags = 0;
695 _arg_local = 0;
696 _arg_stack = 0;
697 _arg_returned = 0;
698 assert(sizeof(_trap_hist) % sizeof(HeapWord) == 0, "align");
699 Copy::zero_to_words((HeapWord*) &_trap_hist,
700 sizeof(_trap_hist) / sizeof(HeapWord));
701 681
702 // Go through the bytecodes and allocate and initialize the 682 // Go through the bytecodes and allocate and initialize the
703 // corresponding data cells. 683 // corresponding data cells.
704 int data_size = 0; 684 int data_size = 0;
705 int empty_bc_count = 0; // number of bytecodes lacking data 685 int empty_bc_count = 0; // number of bytecodes lacking data
741 _hint_di = first_di(); 721 _hint_di = first_di();
742 722
743 post_initialize(&stream); 723 post_initialize(&stream);
744 724
745 set_size(object_size); 725 set_size(object_size);
746 726 }
727
728 void MethodData::init() {
729 _invocation_counter.init();
730 _backedge_counter.init();
731 _invocation_counter_start = 0;
732 _backedge_counter_start = 0;
733 _num_loops = 0;
734 _num_blocks = 0;
735 _highest_comp_level = 0;
736 _highest_osr_comp_level = 0;
737 _would_profile = true;
738
739 // Initialize flags and trap history.
740 _nof_decompiles = 0;
741 _nof_overflow_recompiles = 0;
742 _nof_overflow_traps = 0;
743 clear_escape_info();
744 assert(sizeof(_trap_hist) % sizeof(HeapWord) == 0, "align");
745 Copy::zero_to_words((HeapWord*) &_trap_hist,
746 sizeof(_trap_hist) / sizeof(HeapWord));
747 } 747 }
748 748
749 bool MethodData::is_empty_data(int size_in_bytes, Bytecodes::Code code) { 749 bool MethodData::is_empty_data(int size_in_bytes, Bytecodes::Code code) {
750 #ifdef GRAAL 750 #ifdef GRAAL
751 return size_in_bytes == 0 && Bytecodes::can_trap(code); 751 return size_in_bytes == 0 && Bytecodes::can_trap(code);