Mercurial > hg > graal-jvmci-8
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); |