Mercurial > hg > graal-compiler
comparison src/share/vm/runtime/globals.cpp @ 20248:009de2b033fc
8029070: memory leak in jmm_SetVMGlobal
Reviewed-by: kvn, dholmes
author | iignatyev |
---|---|
date | Mon, 23 Dec 2013 20:56:18 +0400 |
parents | 78bbf4d43a14 |
children | 0c48231c5c84 |
comparison
equal
deleted
inserted
replaced
20241:bcd72ab4d91f | 20248:009de2b033fc |
---|---|
757 if (!result->is_ccstr()) return false; | 757 if (!result->is_ccstr()) return false; |
758 *value = result->get_ccstr(); | 758 *value = result->get_ccstr(); |
759 return true; | 759 return true; |
760 } | 760 } |
761 | 761 |
762 // Contract: Flag will make private copy of the incoming value. | |
763 // Outgoing value is always malloc-ed, and caller MUST call free. | |
764 bool CommandLineFlags::ccstrAtPut(char* name, size_t len, ccstr* value, Flag::Flags origin) { | 762 bool CommandLineFlags::ccstrAtPut(char* name, size_t len, ccstr* value, Flag::Flags origin) { |
765 Flag* result = Flag::find_flag(name, len); | 763 Flag* result = Flag::find_flag(name, len); |
766 if (result == NULL) return false; | 764 if (result == NULL) return false; |
767 if (!result->is_ccstr()) return false; | 765 if (!result->is_ccstr()) return false; |
768 ccstr old_value = result->get_ccstr(); | 766 ccstr old_value = result->get_ccstr(); |
782 *value = old_value; | 780 *value = old_value; |
783 result->set_origin(origin); | 781 result->set_origin(origin); |
784 return true; | 782 return true; |
785 } | 783 } |
786 | 784 |
787 // Contract: Flag will make private copy of the incoming value. | |
788 void CommandLineFlagsEx::ccstrAtPut(CommandLineFlagWithType flag, ccstr value, Flag::Flags origin) { | 785 void CommandLineFlagsEx::ccstrAtPut(CommandLineFlagWithType flag, ccstr value, Flag::Flags origin) { |
789 Flag* faddr = address_of_flag(flag); | 786 Flag* faddr = address_of_flag(flag); |
790 guarantee(faddr != NULL && faddr->is_ccstr(), "wrong flag type"); | 787 guarantee(faddr != NULL && faddr->is_ccstr(), "wrong flag type"); |
791 ccstr old_value = faddr->get_ccstr(); | 788 ccstr old_value = faddr->get_ccstr(); |
792 trace_flag_changed<EventStringFlagChanged, const char*>(faddr->_name, old_value, value, origin); | 789 trace_flag_changed<EventStringFlagChanged, const char*>(faddr->_name, old_value, value, origin); |