| Index: src/elements.cc
 | 
| diff --git a/src/elements.cc b/src/elements.cc
 | 
| index 1d043a153e148543b86befcc680605de2fd0da47..0fc3c539acef86284868548c0a18bec6df849717 100644
 | 
| --- a/src/elements.cc
 | 
| +++ b/src/elements.cc
 | 
| @@ -1326,18 +1326,8 @@ ElementsAccessor* ElementsAccessor::ForArray(FixedArrayBase* array) {
 | 
|  
 | 
|  
 | 
|  void ElementsAccessor::InitializeOncePerProcess() {
 | 
| -  static struct ConcreteElementsAccessors {
 | 
| -#define ACCESSOR_STRUCT(Class, Kind, Store) Class* Kind##_handler;
 | 
| -    ELEMENTS_LIST(ACCESSOR_STRUCT)
 | 
| -#undef ACCESSOR_STRUCT
 | 
| -  } element_accessors = {
 | 
| -#define ACCESSOR_INIT(Class, Kind, Store) new Class(#Kind),
 | 
| -    ELEMENTS_LIST(ACCESSOR_INIT)
 | 
| -#undef ACCESSOR_INIT
 | 
| -  };
 | 
| -
 | 
|    static ElementsAccessor* accessor_array[] = {
 | 
| -#define ACCESSOR_ARRAY(Class, Kind, Store) element_accessors.Kind##_handler,
 | 
| +#define ACCESSOR_ARRAY(Class, Kind, Store) new Class(#Kind),
 | 
|      ELEMENTS_LIST(ACCESSOR_ARRAY)
 | 
|  #undef ACCESSOR_ARRAY
 | 
|    };
 | 
| @@ -1349,6 +1339,14 @@ void ElementsAccessor::InitializeOncePerProcess() {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +void ElementsAccessor::TearDown() {
 | 
| +#define ACCESSOR_DELETE(Class, Kind, Store) delete elements_accessors_[Kind];
 | 
| +  ELEMENTS_LIST(ACCESSOR_DELETE)
 | 
| +#undef ACCESSOR_DELETE
 | 
| +  elements_accessors_ = NULL;
 | 
| +}
 | 
| +
 | 
| +
 | 
|  template <typename ElementsAccessorSubclass, typename ElementsKindTraits>
 | 
|  MaybeObject* ElementsAccessorBase<ElementsAccessorSubclass,
 | 
|                                    ElementsKindTraits>::
 | 
| 
 |