From a7c41c76922b4da643a6a9651e5808f16fc41fac Mon Sep 17 00:00:00 2001 From: Kimmo Hoikka Date: Fri, 26 May 2017 13:58:02 +0100 Subject: [PATCH] Removal of unnecessary set and map wrappers Change-Id: I80338abf1574e3560f400fde69a33787bfc9509a --- .../src/garbage-collector/garbage-collector.cpp | 18 ++++++++++++------ .../src/garbage-collector/garbage-collector.h | 9 ++++----- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/plugins/dali-script-v8/src/garbage-collector/garbage-collector.cpp b/plugins/dali-script-v8/src/garbage-collector/garbage-collector.cpp index ffc118d..cc7988d 100644 --- a/plugins/dali-script-v8/src/garbage-collector/garbage-collector.cpp +++ b/plugins/dali-script-v8/src/garbage-collector/garbage-collector.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,25 +38,31 @@ GarbageCollector::~GarbageCollector() void GarbageCollector::Register( BaseWrappedObject* object ) { - mObjectMap.insert( object ); + mObjectMap.PushBack( object ); }; void GarbageCollector::UnRegister( BaseWrappedObject* object ) { - mObjectMap.erase( object ); + for( ObjectMap::Iterator iter = mObjectMap.Begin(); iter != mObjectMap.End(); ++iter ) + { + if( *iter == object ) + { + mObjectMap.Erase( iter ); + return; + } + } } void GarbageCollector::GarbageCollect() { - for( ObjectMap::iterator iter = mObjectMap.begin(); iter != mObjectMap.end(); ) + for( ObjectMap::Iterator iter = mObjectMap.Begin(); iter != mObjectMap.End(); ++iter ) { BaseWrappedObject* object = *iter; - iter++; // iterator will be invalidated if we delete the object first. delete object; // object will call GarbageCollector.UnRegister } - + mObjectMap.Clear(); } } // V8Plugin diff --git a/plugins/dali-script-v8/src/garbage-collector/garbage-collector.h b/plugins/dali-script-v8/src/garbage-collector/garbage-collector.h index 24cf638..d28faf3 100644 --- a/plugins/dali-script-v8/src/garbage-collector/garbage-collector.h +++ b/plugins/dali-script-v8/src/garbage-collector/garbage-collector.h @@ -2,7 +2,7 @@ #define __DALI_V8PLUGIN_GARBAGE_COLLECTOR_H__ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,11 +18,11 @@ * */ +// EXTERNAL INCLUDES +#include // INTERNAL INCLUDES #include -#include - namespace Dali { @@ -64,13 +64,12 @@ public: */ virtual void GarbageCollect(); - private: /** * Map between dali wrapped object (void *) */ - typedef std::set< BaseWrappedObject* > ObjectMap; + typedef Dali::Vector< BaseWrappedObject* > ObjectMap; ObjectMap mObjectMap; ///< lookup }; -- 2.7.4