| Index: src/factory.cc
 | 
| ===================================================================
 | 
| --- src/factory.cc	(revision 10404)
 | 
| +++ src/factory.cc	(working copy)
 | 
| @@ -77,14 +77,24 @@
 | 
|  }
 | 
|  
 | 
|  
 | 
| -Handle<NumberDictionary> Factory::NewNumberDictionary(int at_least_space_for) {
 | 
| +Handle<SeededNumberDictionary> Factory::NewSeededNumberDictionary(
 | 
| +    int at_least_space_for) {
 | 
|    ASSERT(0 <= at_least_space_for);
 | 
|    CALL_HEAP_FUNCTION(isolate(),
 | 
| -                     NumberDictionary::Allocate(at_least_space_for),
 | 
| -                     NumberDictionary);
 | 
| +                     SeededNumberDictionary::Allocate(at_least_space_for),
 | 
| +                     SeededNumberDictionary);
 | 
|  }
 | 
|  
 | 
|  
 | 
| +Handle<UnseededNumberDictionary> Factory::NewUnseededNumberDictionary(
 | 
| +    int at_least_space_for) {
 | 
| +  ASSERT(0 <= at_least_space_for);
 | 
| +  CALL_HEAP_FUNCTION(isolate(),
 | 
| +                     UnseededNumberDictionary::Allocate(at_least_space_for),
 | 
| +                     UnseededNumberDictionary);
 | 
| +}
 | 
| +
 | 
| +
 | 
|  Handle<ObjectHashSet> Factory::NewObjectHashSet(int at_least_space_for) {
 | 
|    ASSERT(0 <= at_least_space_for);
 | 
|    CALL_HEAP_FUNCTION(isolate(),
 | 
| @@ -131,6 +141,13 @@
 | 
|  }
 | 
|  
 | 
|  
 | 
| +Handle<AccessorPair> Factory::NewAccessorPair() {
 | 
| +  CALL_HEAP_FUNCTION(isolate(),
 | 
| +                     isolate()->heap()->AllocateAccessorPair(),
 | 
| +                     AccessorPair);
 | 
| +}
 | 
| +
 | 
| +
 | 
|  // Symbols are created in the old generation (data space).
 | 
|  Handle<String> Factory::LookupSymbol(Vector<const char> string) {
 | 
|    CALL_HEAP_FUNCTION(isolate(),
 | 
| @@ -698,7 +715,7 @@
 | 
|    // Allocate the function
 | 
|    Handle<JSFunction> function = NewFunction(name, the_hole_value());
 | 
|  
 | 
| -  // Setup the code pointer in both the shared function info and in
 | 
| +  // Set up the code pointer in both the shared function info and in
 | 
|    // the function itself.
 | 
|    function->shared()->set_code(*code);
 | 
|    function->set_code(*code);
 | 
| @@ -729,7 +746,7 @@
 | 
|    // Allocate the function.
 | 
|    Handle<JSFunction> function = NewFunction(name, prototype);
 | 
|  
 | 
| -  // Setup the code pointer in both the shared function info and in
 | 
| +  // Set up the code pointer in both the shared function info and in
 | 
|    // the function itself.
 | 
|    function->shared()->set_code(*code);
 | 
|    function->set_code(*code);
 | 
| @@ -751,7 +768,10 @@
 | 
|    // property that refers to the function.
 | 
|    SetPrototypeProperty(function, prototype);
 | 
|    // Currently safe because it is only invoked from Genesis.
 | 
| -  SetLocalPropertyNoThrow(prototype, constructor_symbol(), function, DONT_ENUM);
 | 
| +  CHECK_NOT_EMPTY_HANDLE(isolate(),
 | 
| +                         JSObject::SetLocalPropertyIgnoreAttributes(
 | 
| +                             prototype, constructor_symbol(),
 | 
| +                             function, DONT_ENUM));
 | 
|    return function;
 | 
|  }
 | 
|  
 | 
| @@ -1061,16 +1081,26 @@
 | 
|  }
 | 
|  
 | 
|  
 | 
| -Handle<NumberDictionary> Factory::DictionaryAtNumberPut(
 | 
| -    Handle<NumberDictionary> dictionary,
 | 
| +Handle<SeededNumberDictionary> Factory::DictionaryAtNumberPut(
 | 
| +    Handle<SeededNumberDictionary> dictionary,
 | 
|      uint32_t key,
 | 
|      Handle<Object> value) {
 | 
|    CALL_HEAP_FUNCTION(isolate(),
 | 
|                       dictionary->AtNumberPut(key, *value),
 | 
| -                     NumberDictionary);
 | 
| +                     SeededNumberDictionary);
 | 
|  }
 | 
|  
 | 
|  
 | 
| +Handle<UnseededNumberDictionary> Factory::DictionaryAtNumberPut(
 | 
| +    Handle<UnseededNumberDictionary> dictionary,
 | 
| +    uint32_t key,
 | 
| +    Handle<Object> value) {
 | 
| +  CALL_HEAP_FUNCTION(isolate(),
 | 
| +                     dictionary->AtNumberPut(key, *value),
 | 
| +                     UnseededNumberDictionary);
 | 
| +}
 | 
| +
 | 
| +
 | 
|  Handle<JSFunction> Factory::NewFunctionHelper(Handle<String> name,
 | 
|                                                Handle<Object> prototype) {
 | 
|    Handle<SharedFunctionInfo> function_share = NewSharedFunctionInfo(name);
 | 
| 
 |