Index: src/factory.cc |
=================================================================== |
--- src/factory.cc (revision 539) |
+++ src/factory.cc (working copy) |
@@ -312,7 +312,7 @@ |
Handle<JSFunction> fun = |
Handle<JSFunction>( |
JSFunction::cast( |
- Top::security_context_builtins()->GetProperty(*make_str))); |
+ Top::builtins()->GetProperty(*make_str))); |
Handle<Object> type_obj = Factory::LookupAsciiSymbol(type); |
Object** argv[2] = { type_obj.location(), |
Handle<Object>::cast(args).location() }; |
@@ -321,7 +321,7 @@ |
// running the factory method, use the exception as the result. |
bool caught_exception; |
Handle<Object> result = Execution::TryCall(fun, |
- Top::security_context_builtins(), |
+ Top::builtins(), |
2, |
argv, |
&caught_exception); |
@@ -340,14 +340,14 @@ |
Handle<JSFunction> fun = |
Handle<JSFunction>( |
JSFunction::cast( |
- Top::security_context_builtins()->GetProperty(*constr))); |
+ Top::builtins()->GetProperty(*constr))); |
Object** argv[1] = { Handle<Object>::cast(message).location() }; |
// Invoke the JavaScript factory method. If an exception is thrown while |
// running the factory method, use the exception as the result. |
bool caught_exception; |
Handle<Object> result = Execution::TryCall(fun, |
- Top::security_context_builtins(), |
+ Top::builtins(), |
1, |
argv, |
&caught_exception); |
@@ -670,8 +670,7 @@ |
Handle<JSFunction> Factory::CreateApiFunction( |
- Handle<FunctionTemplateInfo> obj, |
- bool is_global) { |
+ Handle<FunctionTemplateInfo> obj, ApiInstanceType instance_type) { |
Handle<Code> code = Handle<Code>(Builtins::builtin(Builtins::HandleApiCall)); |
int internal_field_count = 0; |
@@ -684,14 +683,25 @@ |
} |
int instance_size = kPointerSize * internal_field_count; |
- if (is_global) { |
- instance_size += JSGlobalObject::kSize; |
- } else { |
- instance_size += JSObject::kHeaderSize; |
+ InstanceType type; |
+ switch (instance_type) { |
+ case JavaScriptObject: |
+ type = JS_OBJECT_TYPE; |
+ instance_size += JSObject::kHeaderSize; |
+ break; |
+ case InnerGlobalObject: |
+ type = JS_GLOBAL_OBJECT_TYPE; |
+ instance_size += JSGlobalObject::kSize; |
+ break; |
+ case OuterGlobalObject: |
+ type = JS_GLOBAL_PROXY_TYPE; |
+ instance_size += JSGlobalProxy::kSize; |
+ break; |
+ default: |
+ ASSERT(false); |
+ break; |
} |
- InstanceType type = is_global ? JS_GLOBAL_OBJECT_TYPE : JS_OBJECT_TYPE; |
- |
Handle<JSFunction> result = |
Factory::NewFunction(Factory::empty_symbol(), type, instance_size, |
code, true); |
@@ -716,7 +726,7 @@ |
// Mark as needs_access_check if needed. |
if (obj->needs_access_check()) { |
- map->set_needs_access_check(); |
+ map->set_is_access_check_needed(); |
} |
// Set interceptor information in the map. |