17 DCHECK(args.length() == 1);
20 holder->set_table(*table);
27 DCHECK(args.length() == 2);
32 holder->set_table(*table);
39 DCHECK(args.length() == 2);
43 return isolate->heap()->ToBoolean(table->Contains(key));
49 DCHECK(args.length() == 2);
53 bool was_present =
false;
55 holder->set_table(*table);
56 return isolate->heap()->ToBoolean(was_present);
62 DCHECK(args.length() == 1);
66 holder->set_table(*table);
67 return isolate->heap()->undefined_value();
73 DCHECK(args.length() == 1);
82 DCHECK(args.length() == 3);
89 holder->set_table(*table);
92 return isolate->heap()->undefined_value();
97 SealHandleScope shs(isolate);
98 DCHECK(args.length() == 2);
101 return holder->Next(value_array);
107 DCHECK(args.length() == 1);
110 holder->set_table(*table);
117 DCHECK(args.length() == 2);
122 return lookup->IsTheHole() ? isolate->heap()->undefined_value() : *lookup;
128 DCHECK(args.length() == 2);
133 return isolate->heap()->ToBoolean(!lookup->IsTheHole());
139 DCHECK(args.length() == 2);
143 bool was_present =
false;
146 holder->set_table(*new_table);
147 return isolate->heap()->ToBoolean(was_present);
153 DCHECK(args.length() == 1);
157 holder->set_table(*table);
158 return isolate->heap()->undefined_value();
164 DCHECK(args.length() == 3);
170 holder->set_table(*new_table);
177 DCHECK(args.length() == 1);
186 DCHECK(args.length() == 3);
194 holder->set_table(*table);
197 return isolate->heap()->undefined_value();
203 DCHECK(args.length() == 1);
207 isolate->factory()->NewFixedArray(table->NumberOfElements() * 2);
210 int number_of_non_hole_elements = 0;
211 for (
int i = 0;
i < table->Capacity();
i++) {
213 if (table->IsKey(*key)) {
214 entries->set(number_of_non_hole_elements++, *key);
215 Object* value = table->Lookup(key);
216 entries->set(number_of_non_hole_elements++, value);
219 DCHECK_EQ(table->NumberOfElements() * 2, number_of_non_hole_elements);
221 return *isolate->factory()->NewJSArrayWithElements(entries);
226 SealHandleScope shs(isolate);
227 DCHECK(args.length() == 2);
230 return holder->Next(value_array);
236 DCHECK(weak_collection->map()->inobject_properties() == 0);
238 weak_collection->set_table(*table);
239 return weak_collection;
245 DCHECK(args.length() == 1);
253 DCHECK(args.length() == 2);
258 ObjectHashTable::cast(weak_collection->table()));
261 return lookup->IsTheHole() ? isolate->heap()->undefined_value() : *lookup;
267 DCHECK(args.length() == 2);
272 ObjectHashTable::cast(weak_collection->table()));
275 return isolate->heap()->ToBoolean(!lookup->IsTheHole());
281 DCHECK(args.length() == 2);
286 ObjectHashTable::cast(weak_collection->table()));
288 bool was_present =
false;
291 weak_collection->set_table(*new_table);
292 return isolate->heap()->ToBoolean(was_present);
298 DCHECK(args.length() == 3);
304 ObjectHashTable::cast(weak_collection->table()));
307 weak_collection->set_table(*new_table);
308 return *weak_collection;
314 DCHECK(args.length() == 1);
318 isolate->factory()->NewFixedArray(table->NumberOfElements());
321 int number_of_non_hole_elements = 0;
322 for (
int i = 0;
i < table->Capacity();
i++) {
324 if (table->IsKey(*key)) {
325 values->set(number_of_non_hole_elements++, *key);
328 DCHECK_EQ(table->NumberOfElements(), number_of_non_hole_elements);
330 return *isolate->factory()->NewJSArrayWithElements(values);
336 DCHECK(args.length() == 0);
static Handle< T > cast(Handle< S > that)
static MUST_USE_RESULT Handle< ObjectHashTable > New(Isolate *isolate, int at_least_space_for, MinimumCapacity capacity_option=USE_DEFAULT_MINIMUM_CAPACITY, PretenureFlag pretenure=NOT_TENURED)
static Handle< ObjectHashTable > Remove(Handle< ObjectHashTable > table, Handle< Object > key, bool *was_present)
static Handle< ObjectHashTable > Put(Handle< ObjectHashTable > table, Handle< Object > key, Handle< Object > value)
static Handle< OrderedHashMap > Put(Handle< OrderedHashMap > table, Handle< Object > key, Handle< Object > value)
static Handle< OrderedHashSet > Add(Handle< OrderedHashSet > table, Handle< Object > key)
static Handle< OrderedHashSet > Remove(Handle< OrderedHashSet > table, Handle< Object > key, bool *was_present)
static Handle< OrderedHashSet > Clear(Handle< OrderedHashSet > table)
static Smi * FromInt(int value)
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf map
#define DCHECK(condition)
#define DCHECK_EQ(v1, v2)
static Handle< JSWeakCollection > WeakCollectionInitialize(Isolate *isolate, Handle< JSWeakCollection > weak_collection)
Debugger support for the V8 JavaScript engine.
#define CONVERT_ARG_CHECKED(Type, name, index)
#define RUNTIME_ASSERT(value)
#define CONVERT_ARG_HANDLE_CHECKED(Type, name, index)
#define CONVERT_SMI_ARG_CHECKED(name, index)