| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index d8623f8ce9b5376ba082bd0da79ff3ddcd3a3403..c27b98179bba5ce02bd94ef6343e01da1d280e6e 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -760,7 +760,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetAdd) {
|
| ASSERT(args.length() == 2);
|
| CONVERT_ARG_HANDLE_CHECKED(JSSet, holder, 0);
|
| Handle<Object> key(args[1]);
|
| - Handle<ObjectHashSet> table(ObjectHashSet::cast(holder->table()));
|
| + Handle<ObjectHashSet> table(holder->table());
|
| table = ObjectHashSetAdd(table, key);
|
| holder->set_table(*table);
|
| return isolate->heap()->undefined_value();
|
| @@ -772,7 +772,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetHas) {
|
| ASSERT(args.length() == 2);
|
| CONVERT_ARG_HANDLE_CHECKED(JSSet, holder, 0);
|
| Handle<Object> key(args[1]);
|
| - Handle<ObjectHashSet> table(ObjectHashSet::cast(holder->table()));
|
| + Handle<ObjectHashSet> table(holder->table());
|
| return isolate->heap()->ToBoolean(table->Contains(*key));
|
| }
|
|
|
| @@ -782,7 +782,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetDelete) {
|
| ASSERT(args.length() == 2);
|
| CONVERT_ARG_HANDLE_CHECKED(JSSet, holder, 0);
|
| Handle<Object> key(args[1]);
|
| - Handle<ObjectHashSet> table(ObjectHashSet::cast(holder->table()));
|
| + Handle<ObjectHashSet> table(holder->table());
|
| table = ObjectHashSetRemove(table, key);
|
| holder->set_table(*table);
|
| return isolate->heap()->undefined_value();
|
| @@ -793,7 +793,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetGetSize) {
|
| HandleScope scope(isolate);
|
| ASSERT(args.length() == 1);
|
| CONVERT_ARG_HANDLE_CHECKED(JSSet, holder, 0);
|
| - Handle<ObjectHashSet> table(ObjectHashSet::cast(holder->table()));
|
| + Handle<ObjectHashSet> table(holder->table());
|
| return Smi::FromInt(table->NumberOfElements());
|
| }
|
|
|
| @@ -813,7 +813,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_MapGet) {
|
| ASSERT(args.length() == 2);
|
| CONVERT_ARG_HANDLE_CHECKED(JSMap, holder, 0);
|
| CONVERT_ARG_HANDLE_CHECKED(Object, key, 1);
|
| - Handle<ObjectHashTable> table(ObjectHashTable::cast(holder->table()));
|
| + Handle<ObjectHashTable> table(holder->table());
|
| Handle<Object> lookup(table->Lookup(*key));
|
| return lookup->IsTheHole() ? isolate->heap()->undefined_value() : *lookup;
|
| }
|
| @@ -824,7 +824,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_MapHas) {
|
| ASSERT(args.length() == 2);
|
| CONVERT_ARG_HANDLE_CHECKED(JSMap, holder, 0);
|
| CONVERT_ARG_HANDLE_CHECKED(Object, key, 1);
|
| - Handle<ObjectHashTable> table(ObjectHashTable::cast(holder->table()));
|
| + Handle<ObjectHashTable> table(holder->table());
|
| Handle<Object> lookup(table->Lookup(*key));
|
| return isolate->heap()->ToBoolean(!lookup->IsTheHole());
|
| }
|
| @@ -835,7 +835,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_MapDelete) {
|
| ASSERT(args.length() == 2);
|
| CONVERT_ARG_HANDLE_CHECKED(JSMap, holder, 0);
|
| CONVERT_ARG_HANDLE_CHECKED(Object, key, 1);
|
| - Handle<ObjectHashTable> table(ObjectHashTable::cast(holder->table()));
|
| + Handle<ObjectHashTable> table(holder->table());
|
| Handle<Object> lookup(table->Lookup(*key));
|
| Handle<ObjectHashTable> new_table =
|
| PutIntoObjectHashTable(table, key, isolate->factory()->the_hole_value());
|
| @@ -850,7 +850,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_MapSet) {
|
| CONVERT_ARG_HANDLE_CHECKED(JSMap, holder, 0);
|
| CONVERT_ARG_HANDLE_CHECKED(Object, key, 1);
|
| CONVERT_ARG_HANDLE_CHECKED(Object, value, 2);
|
| - Handle<ObjectHashTable> table(ObjectHashTable::cast(holder->table()));
|
| + Handle<ObjectHashTable> table(holder->table());
|
| Handle<ObjectHashTable> new_table = PutIntoObjectHashTable(table, key, value);
|
| holder->set_table(*new_table);
|
| return isolate->heap()->undefined_value();
|
| @@ -861,7 +861,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_MapGetSize) {
|
| HandleScope scope(isolate);
|
| ASSERT(args.length() == 1);
|
| CONVERT_ARG_HANDLE_CHECKED(JSMap, holder, 0);
|
| - Handle<ObjectHashTable> table(ObjectHashTable::cast(holder->table()));
|
| + Handle<ObjectHashTable> table(holder->table());
|
| return Smi::FromInt(table->NumberOfElements());
|
| }
|
|
|
| @@ -889,7 +889,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_WeakMapGet) {
|
| ASSERT(args.length() == 2);
|
| CONVERT_ARG_HANDLE_CHECKED(JSWeakMap, weakmap, 0);
|
| CONVERT_ARG_HANDLE_CHECKED(JSReceiver, key, 1);
|
| - Handle<ObjectHashTable> table(ObjectHashTable::cast(weakmap->table()));
|
| + Handle<ObjectHashTable> table(weakmap->table());
|
| Handle<Object> lookup(table->Lookup(*key));
|
| return lookup->IsTheHole() ? isolate->heap()->undefined_value() : *lookup;
|
| }
|
| @@ -900,7 +900,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_WeakMapHas) {
|
| ASSERT(args.length() == 2);
|
| CONVERT_ARG_HANDLE_CHECKED(JSWeakMap, weakmap, 0);
|
| CONVERT_ARG_HANDLE_CHECKED(JSReceiver, key, 1);
|
| - Handle<ObjectHashTable> table(ObjectHashTable::cast(weakmap->table()));
|
| + Handle<ObjectHashTable> table(weakmap->table());
|
| Handle<Object> lookup(table->Lookup(*key));
|
| return isolate->heap()->ToBoolean(!lookup->IsTheHole());
|
| }
|
| @@ -911,7 +911,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_WeakMapDelete) {
|
| ASSERT(args.length() == 2);
|
| CONVERT_ARG_HANDLE_CHECKED(JSWeakMap, weakmap, 0);
|
| CONVERT_ARG_HANDLE_CHECKED(JSReceiver, key, 1);
|
| - Handle<ObjectHashTable> table(ObjectHashTable::cast(weakmap->table()));
|
| + Handle<ObjectHashTable> table(weakmap->table());
|
| Handle<Object> lookup(table->Lookup(*key));
|
| Handle<ObjectHashTable> new_table =
|
| PutIntoObjectHashTable(table, key, isolate->factory()->the_hole_value());
|
| @@ -926,7 +926,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_WeakMapSet) {
|
| CONVERT_ARG_HANDLE_CHECKED(JSWeakMap, weakmap, 0);
|
| CONVERT_ARG_HANDLE_CHECKED(JSReceiver, key, 1);
|
| Handle<Object> value(args[2]);
|
| - Handle<ObjectHashTable> table(ObjectHashTable::cast(weakmap->table()));
|
| + Handle<ObjectHashTable> table(weakmap->table());
|
| Handle<ObjectHashTable> new_table = PutIntoObjectHashTable(table, key, value);
|
| weakmap->set_table(*new_table);
|
| return isolate->heap()->undefined_value();
|
|
|