Mercurial > hg > graal-jvmci-8
comparison src/share/vm/code/nmethod.hpp @ 6806:f2e12eb74117 hs25-b03
Merge
author | kvn |
---|---|
date | Fri, 28 Sep 2012 10:16:29 -0700 |
parents | 8966c2d65d96 b31471cdc53e |
children | e522a00b91aa 5888334c9c24 |
comparison
equal
deleted
inserted
replaced
6789:15fba4382765 | 6806:f2e12eb74117 |
---|---|
175 | 175 |
176 // set during construction | 176 // set during construction |
177 unsigned int _has_unsafe_access:1; // May fault due to unsafe access. | 177 unsigned int _has_unsafe_access:1; // May fault due to unsafe access. |
178 unsigned int _has_method_handle_invokes:1; // Has this method MethodHandle invokes? | 178 unsigned int _has_method_handle_invokes:1; // Has this method MethodHandle invokes? |
179 unsigned int _lazy_critical_native:1; // Lazy JNI critical native | 179 unsigned int _lazy_critical_native:1; // Lazy JNI critical native |
180 unsigned int _has_wide_vectors:1; // Preserve wide vectors at safepoints | |
180 | 181 |
181 // Protected by Patching_lock | 182 // Protected by Patching_lock |
182 unsigned char _state; // {alive, not_entrant, zombie, unloaded} | 183 unsigned char _state; // {alive, not_entrant, zombie, unloaded} |
183 | 184 |
184 #ifdef ASSERT | 185 #ifdef ASSERT |
440 void set_speculatively_disconnected(bool z) { _speculatively_disconnected = z; } | 441 void set_speculatively_disconnected(bool z) { _speculatively_disconnected = z; } |
441 | 442 |
442 bool is_lazy_critical_native() const { return _lazy_critical_native; } | 443 bool is_lazy_critical_native() const { return _lazy_critical_native; } |
443 void set_lazy_critical_native(bool z) { _lazy_critical_native = z; } | 444 void set_lazy_critical_native(bool z) { _lazy_critical_native = z; } |
444 | 445 |
446 bool has_wide_vectors() const { return _has_wide_vectors; } | |
447 void set_has_wide_vectors(bool z) { _has_wide_vectors = z; } | |
448 | |
445 int comp_level() const { return _comp_level; } | 449 int comp_level() const { return _comp_level; } |
446 | 450 |
447 // Support for oops in scopes and relocs: | 451 // Support for oops in scopes and relocs: |
448 // Note: index 0 is reserved for null. | 452 // Note: index 0 is reserved for null. |
449 oop oop_at(int index) const { return index == 0 ? (oop) NULL: *oop_addr_at(index); } | 453 oop oop_at(int index) const { return index == 0 ? (oop) NULL: *oop_addr_at(index); } |
645 void log_identity(xmlStream* log) const; | 649 void log_identity(xmlStream* log) const; |
646 void log_new_nmethod() const; | 650 void log_new_nmethod() const; |
647 void log_state_change() const; | 651 void log_state_change() const; |
648 | 652 |
649 // Prints block-level comments, including nmethod specific block labels: | 653 // Prints block-level comments, including nmethod specific block labels: |
650 virtual void print_block_comment(outputStream* stream, address block_begin) { | 654 virtual void print_block_comment(outputStream* stream, address block_begin) const { |
651 print_nmethod_labels(stream, block_begin); | 655 print_nmethod_labels(stream, block_begin); |
652 CodeBlob::print_block_comment(stream, block_begin); | 656 CodeBlob::print_block_comment(stream, block_begin); |
653 } | 657 } |
654 void print_nmethod_labels(outputStream* stream, address block_begin); | 658 void print_nmethod_labels(outputStream* stream, address block_begin) const; |
655 | 659 |
656 // Prints a comment for one native instruction (reloc info, pc desc) | 660 // Prints a comment for one native instruction (reloc info, pc desc) |
657 void print_code_comment_on(outputStream* st, int column, address begin, address end); | 661 void print_code_comment_on(outputStream* st, int column, address begin, address end); |
658 static void print_statistics() PRODUCT_RETURN; | 662 static void print_statistics() PRODUCT_RETURN; |
659 | 663 |