Mercurial > hg > graal-jvmci-8
comparison src/share/vm/classfile/javaClasses.cpp @ 23802:efe013052465
8059677: Thread.getName() instantiates Strings
Reviewed-by: coleenp, dholmes, sla
author | shade |
---|---|
date | Tue, 02 Feb 2016 11:44:20 +0300 |
parents | 7d8724b3c156 |
children | f13e777eb255 |
comparison
equal
deleted
inserted
replaced
23801:dae1435f96b7 | 23802:efe013052465 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2016, 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. |
934 | 934 |
935 void java_lang_Thread::compute_offsets() { | 935 void java_lang_Thread::compute_offsets() { |
936 assert(_group_offset == 0, "offsets should be initialized only once"); | 936 assert(_group_offset == 0, "offsets should be initialized only once"); |
937 | 937 |
938 Klass* k = SystemDictionary::Thread_klass(); | 938 Klass* k = SystemDictionary::Thread_klass(); |
939 compute_offset(_name_offset, k, vmSymbols::name_name(), vmSymbols::char_array_signature()); | 939 compute_offset(_name_offset, k, vmSymbols::name_name(), vmSymbols::string_signature()); |
940 compute_offset(_group_offset, k, vmSymbols::group_name(), vmSymbols::threadgroup_signature()); | 940 compute_offset(_group_offset, k, vmSymbols::group_name(), vmSymbols::threadgroup_signature()); |
941 compute_offset(_contextClassLoader_offset, k, vmSymbols::contextClassLoader_name(), vmSymbols::classloader_signature()); | 941 compute_offset(_contextClassLoader_offset, k, vmSymbols::contextClassLoader_name(), vmSymbols::classloader_signature()); |
942 compute_offset(_inheritedAccessControlContext_offset, k, vmSymbols::inheritedAccessControlContext_name(), vmSymbols::accesscontrolcontext_signature()); | 942 compute_offset(_inheritedAccessControlContext_offset, k, vmSymbols::inheritedAccessControlContext_name(), vmSymbols::accesscontrolcontext_signature()); |
943 compute_offset(_priority_offset, k, vmSymbols::priority_name(), vmSymbols::int_signature()); | 943 compute_offset(_priority_offset, k, vmSymbols::priority_name(), vmSymbols::int_signature()); |
944 compute_offset(_daemon_offset, k, vmSymbols::daemon_name(), vmSymbols::bool_signature()); | 944 compute_offset(_daemon_offset, k, vmSymbols::daemon_name(), vmSymbols::bool_signature()); |
964 void java_lang_Thread::set_thread(oop java_thread, JavaThread* thread) { | 964 void java_lang_Thread::set_thread(oop java_thread, JavaThread* thread) { |
965 java_thread->address_field_put(_eetop_offset, (address)thread); | 965 java_thread->address_field_put(_eetop_offset, (address)thread); |
966 } | 966 } |
967 | 967 |
968 | 968 |
969 typeArrayOop java_lang_Thread::name(oop java_thread) { | 969 oop java_lang_Thread::name(oop java_thread) { |
970 oop name = java_thread->obj_field(_name_offset); | 970 return java_thread->obj_field(_name_offset); |
971 assert(name == NULL || (name->is_typeArray() && TypeArrayKlass::cast(name->klass())->element_type() == T_CHAR), "just checking"); | 971 } |
972 return typeArrayOop(name); | 972 |
973 } | 973 |
974 | 974 void java_lang_Thread::set_name(oop java_thread, oop name) { |
975 | |
976 void java_lang_Thread::set_name(oop java_thread, typeArrayOop name) { | |
977 assert(java_thread->obj_field(_name_offset) == NULL, "name should be NULL"); | |
978 java_thread->obj_field_put(_name_offset, name); | 975 java_thread->obj_field_put(_name_offset, name); |
979 } | 976 } |
980 | 977 |
981 | 978 |
982 ThreadPriority java_lang_Thread::priority(oop java_thread) { | 979 ThreadPriority java_lang_Thread::priority(oop java_thread) { |