| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index b0a6b5e81427e1588a89f1c269a2b1e90c78f98b..71b229ebe2cf5eb0c2e7af333f7ac8126624743c 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -13222,6 +13222,52 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_HaveSameMap) {
|
| return isolate->heap()->ToBoolean(obj1->map() == obj2->map());
|
| }
|
|
|
| +
|
| +RUNTIME_FUNCTION(MaybeObject*, Runtime_GetObjectObservationState) {
|
| + ASSERT(args.length() == 0);
|
| + return isolate->heap()->object_observation_state();
|
| +}
|
| +
|
| +
|
| +RUNTIME_FUNCTION(MaybeObject*, Runtime_CreateObjectHashTable) {
|
| + HandleScope scope(isolate);
|
| + ASSERT(args.length() == 0);
|
| + Handle<ObjectHashTable> table = isolate->factory()->NewObjectHashTable(0);
|
| + return *table;
|
| +}
|
| +
|
| +
|
| +RUNTIME_FUNCTION(MaybeObject*, Runtime_ObjectHashTableGet) {
|
| + HandleScope scope(isolate);
|
| + ASSERT(args.length() == 2);
|
| + CONVERT_ARG_HANDLE_CHECKED(ObjectHashTable, table, 0);
|
| + CONVERT_ARG_HANDLE_CHECKED(JSReceiver, key, 1);
|
| + Handle<Object> lookup(table->Lookup(*key));
|
| + return lookup->IsTheHole() ? isolate->heap()->undefined_value() : *lookup;
|
| +}
|
| +
|
| +
|
| +RUNTIME_FUNCTION(MaybeObject*, Runtime_ObjectHashTableSet) {
|
| + HandleScope scope(isolate);
|
| + ASSERT(args.length() == 3);
|
| + CONVERT_ARG_HANDLE_CHECKED(ObjectHashTable, table, 0);
|
| + CONVERT_ARG_HANDLE_CHECKED(JSReceiver, key, 1);
|
| + Handle<Object> value(args[2]);
|
| + PutIntoObjectHashTable(table, key, value);
|
| + return isolate->heap()->undefined_value();
|
| +}
|
| +
|
| +
|
| +RUNTIME_FUNCTION(MaybeObject*, Runtime_ObjectHashTableHas) {
|
| + HandleScope scope(isolate);
|
| + ASSERT(args.length() == 2);
|
| + CONVERT_ARG_HANDLE_CHECKED(ObjectHashTable, table, 0);
|
| + CONVERT_ARG_HANDLE_CHECKED(JSReceiver, key, 1);
|
| + Handle<Object> lookup(table->Lookup(*key));
|
| + return isolate->heap()->ToBoolean(!lookup->IsTheHole());
|
| +}
|
| +
|
| +
|
| // ----------------------------------------------------------------------------
|
| // Implementation of Runtime
|
|
|
|
|