19 m_keys = (
Value*)malloc(m_capacity *
sizeof(
Value));
20 m_values = (
Value*)malloc(m_capacity *
sizeof(
Value));
21 memset(m_keys, 0, m_capacity);
22 memset(m_values, 0, m_capacity);
37 for (
uint i = 0;
i < m_size; ++
i) {
55 for (
uint i = 0;
i < m_size; ++
i) {
56 if (m_keys[
i].sameValueZero(
key)) {
62 if (m_capacity == m_size) {
63 uint oldCap = m_capacity;
65 m_keys = (
Value*)realloc(m_keys, m_capacity *
sizeof(
Value));
66 m_values = (
Value*)realloc(m_values, m_capacity *
sizeof(
Value));
67 memset(m_keys + oldCap, 0, m_capacity - oldCap);
68 memset(m_values + oldCap, 0, m_capacity - oldCap);
73 if (nk.doubleValue() == 0 && std::signbit(nk.doubleValue()))
78 m_values[m_size] =
value;
86 for (
uint i = 0;
i < m_size; ++
i) {
87 if (m_keys[
i].sameValueZero(
key))
98 for (
uint i = 0;
i < m_size; ++
i) {
99 if (m_keys[
i].sameValueZero(
key)) {
115 if (m_keys[
index].sameValueZero(
key)) {
142 *
value = m_values[idx];
149 for (; idx < m_size; ++idx) {
152 if (
o.d()->isMarked()) {
153 m_keys[toIdx] = m_keys[idx];
154 m_values[toIdx] = m_values[idx];
ReturnedValue get(const Value &k, bool *hasValue=nullptr) const
void iterate(uint idx, Value *k, Value *v)
bool remove(const Value &k)
void set(const Value &k, const Value &v)
bool has(const Value &k) const
void markObjects(MarkStack *s, bool isWeakMap)
void removeUnmarkedKeys()
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLenum GLenum GLsizei count
static constexpr ReturnedValue undefined()
constexpr ReturnedValue asReturnedValue() const
void mark(MarkStack *markStack)
static Value fromDouble(double d)