1 // -*- mode: c++; c-basic-offset: 4 -*- 
   3  * Copyright (C) 2008 Apple Inc. All rights reserved. 
   5  * Redistribution and use in source and binary forms, with or without 
   6  * modification, are permitted provided that the following conditions 
   8  * 1. Redistributions of source code must retain the above copyright 
   9  *    notice, this list of conditions and the following disclaimer. 
  10  * 2. Redistributions in binary form must reproduce the above copyright 
  11  *    notice, this list of conditions and the following disclaimer in the 
  12  *    documentation and/or other materials provided with the distribution. 
  14  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 
  15  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
  16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
  17  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR 
  18  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
  19  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
  20  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
  21  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 
  22  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
  23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
  24  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
  27 #ifndef BatchedTransitionOptimizer_h 
  28 #define BatchedTransitionOptimizer_h 
  34     class BatchedTransitionOptimizer 
{ 
  35         WTF_MAKE_NONCOPYABLE(BatchedTransitionOptimizer
); 
  37         BatchedTransitionOptimizer(JSGlobalData
& globalData
, JSObject
* object
) 
  38             : m_globalData(&globalData
) 
  43         ~BatchedTransitionOptimizer() 
  45             if (m_object
->structure()->isDictionary()) 
  46                 m_object
->flattenDictionaryObject(*m_globalData
); 
  50         JSGlobalData
* m_globalData
; 
  56 #endif // BatchedTransitionOptimizer_h