Loading libutils/Android.bp +0 −1 Original line number Diff line number Diff line Loading @@ -129,7 +129,6 @@ cc_library { "PropertyMap.cpp", "RefBase.cpp", "SharedBuffer.cpp", "Static.cpp", "StopWatch.cpp", "String8.cpp", "String16.cpp", Loading libutils/Static.cppdeleted 100644 → 0 +0 −49 Original line number Diff line number Diff line /* * Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // All static variables go here, to control initialization and // destruction order in the library. namespace android { // For String8.cpp extern void initialize_string8(); extern void terminate_string8(); // For String16.cpp extern void initialize_string16(); extern void terminate_string16(); class LibUtilsFirstStatics { public: LibUtilsFirstStatics() { initialize_string8(); initialize_string16(); } ~LibUtilsFirstStatics() { terminate_string16(); terminate_string8(); } }; static LibUtilsFirstStatics gFirstStatics; int gDarwinCantLoadAllObjects = 1; } // namespace android libutils/String16.cpp +8 −21 Original line number Diff line number Diff line Loading @@ -24,29 +24,16 @@ namespace android { static SharedBuffer* gEmptyStringBuf = NULL; static char16_t* gEmptyString = NULL; static inline char16_t* getEmptyString() { gEmptyStringBuf->acquire(); return gEmptyString; } void initialize_string16() { static inline char16_t* getEmptyString() { static SharedBuffer* gEmptyStringBuf = [] { SharedBuffer* buf = SharedBuffer::alloc(sizeof(char16_t)); char16_t* str = (char16_t*)buf->data(); char16_t* str = static_cast<char16_t*>(buf->data()); *str = 0; gEmptyStringBuf = buf; gEmptyString = str; } return buf; }(); void terminate_string16() { SharedBuffer::bufferFromData(gEmptyString)->release(); gEmptyStringBuf = NULL; gEmptyString = NULL; gEmptyStringBuf->acquire(); return static_cast<char16_t*>(gEmptyStringBuf->data()); } // --------------------------------------------------------------------------- Loading libutils/String8.cpp +8 −32 Original line number Diff line number Diff line Loading @@ -40,40 +40,16 @@ namespace android { // to OS_PATH_SEPARATOR. #define RES_PATH_SEPARATOR '/' static SharedBuffer* gEmptyStringBuf = NULL; static char* gEmptyString = NULL; extern int gDarwinCantLoadAllObjects; int gDarwinIsReallyAnnoying; void initialize_string8(); static inline char* getEmptyString() { gEmptyStringBuf->acquire(); return gEmptyString; } void initialize_string8() { // HACK: This dummy dependency forces linking libutils Static.cpp, // which is needed to initialize String8/String16 classes. // These variables are named for Darwin, but are needed elsewhere too, // including static linking on any platform. gDarwinIsReallyAnnoying = gDarwinCantLoadAllObjects; static inline char* getEmptyString() { static SharedBuffer* gEmptyStringBuf = [] { SharedBuffer* buf = SharedBuffer::alloc(1); char* str = (char*)buf->data(); char* str = static_cast<char*>(buf->data()); *str = 0; gEmptyStringBuf = buf; gEmptyString = str; } return buf; }(); void terminate_string8() { SharedBuffer::bufferFromData(gEmptyString)->release(); gEmptyStringBuf = NULL; gEmptyString = NULL; gEmptyStringBuf->acquire(); return static_cast<char*>(gEmptyStringBuf->data()); } // --------------------------------------------------------------------------- Loading Loading
libutils/Android.bp +0 −1 Original line number Diff line number Diff line Loading @@ -129,7 +129,6 @@ cc_library { "PropertyMap.cpp", "RefBase.cpp", "SharedBuffer.cpp", "Static.cpp", "StopWatch.cpp", "String8.cpp", "String16.cpp", Loading
libutils/Static.cppdeleted 100644 → 0 +0 −49 Original line number Diff line number Diff line /* * Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // All static variables go here, to control initialization and // destruction order in the library. namespace android { // For String8.cpp extern void initialize_string8(); extern void terminate_string8(); // For String16.cpp extern void initialize_string16(); extern void terminate_string16(); class LibUtilsFirstStatics { public: LibUtilsFirstStatics() { initialize_string8(); initialize_string16(); } ~LibUtilsFirstStatics() { terminate_string16(); terminate_string8(); } }; static LibUtilsFirstStatics gFirstStatics; int gDarwinCantLoadAllObjects = 1; } // namespace android
libutils/String16.cpp +8 −21 Original line number Diff line number Diff line Loading @@ -24,29 +24,16 @@ namespace android { static SharedBuffer* gEmptyStringBuf = NULL; static char16_t* gEmptyString = NULL; static inline char16_t* getEmptyString() { gEmptyStringBuf->acquire(); return gEmptyString; } void initialize_string16() { static inline char16_t* getEmptyString() { static SharedBuffer* gEmptyStringBuf = [] { SharedBuffer* buf = SharedBuffer::alloc(sizeof(char16_t)); char16_t* str = (char16_t*)buf->data(); char16_t* str = static_cast<char16_t*>(buf->data()); *str = 0; gEmptyStringBuf = buf; gEmptyString = str; } return buf; }(); void terminate_string16() { SharedBuffer::bufferFromData(gEmptyString)->release(); gEmptyStringBuf = NULL; gEmptyString = NULL; gEmptyStringBuf->acquire(); return static_cast<char16_t*>(gEmptyStringBuf->data()); } // --------------------------------------------------------------------------- Loading
libutils/String8.cpp +8 −32 Original line number Diff line number Diff line Loading @@ -40,40 +40,16 @@ namespace android { // to OS_PATH_SEPARATOR. #define RES_PATH_SEPARATOR '/' static SharedBuffer* gEmptyStringBuf = NULL; static char* gEmptyString = NULL; extern int gDarwinCantLoadAllObjects; int gDarwinIsReallyAnnoying; void initialize_string8(); static inline char* getEmptyString() { gEmptyStringBuf->acquire(); return gEmptyString; } void initialize_string8() { // HACK: This dummy dependency forces linking libutils Static.cpp, // which is needed to initialize String8/String16 classes. // These variables are named for Darwin, but are needed elsewhere too, // including static linking on any platform. gDarwinIsReallyAnnoying = gDarwinCantLoadAllObjects; static inline char* getEmptyString() { static SharedBuffer* gEmptyStringBuf = [] { SharedBuffer* buf = SharedBuffer::alloc(1); char* str = (char*)buf->data(); char* str = static_cast<char*>(buf->data()); *str = 0; gEmptyStringBuf = buf; gEmptyString = str; } return buf; }(); void terminate_string8() { SharedBuffer::bufferFromData(gEmptyString)->release(); gEmptyStringBuf = NULL; gEmptyString = NULL; gEmptyStringBuf->acquire(); return static_cast<char*>(gEmptyStringBuf->data()); } // --------------------------------------------------------------------------- Loading