org.mozilla.javascript.HashSlotMap Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rhino-runtime Show documentation
Show all versions of rhino-runtime Show documentation
Rhino JavaScript runtime jar, excludes tools & JSR-223 Script Engine wrapper.
The newest version!
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.javascript;
import java.util.Iterator;
import java.util.LinkedHashMap;
/**
* This class implements the SlotMap interface using a java.util.HashMap. This class has more
* overhead than EmbeddedSlotMap, especially because it puts each "Slot" inside an intermediate
* object. However it is much more resistant to large number of hash collisions than EmbeddedSlotMap
* and therefore we use this implementation when an object gains a large number of properties.
*/
public class HashSlotMap implements SlotMap {
private final LinkedHashMap