| Index: src/factory.cc
|
| diff --git a/src/factory.cc b/src/factory.cc
|
| index 8c08ba1587f6d5fc4600fa716bfed0997d5b356d..a09c7841e37655e6572f5be9a42b6a15a3e96676 100644
|
| --- a/src/factory.cc
|
| +++ b/src/factory.cc
|
| @@ -4,7 +4,6 @@
|
|
|
| #include "src/factory.h"
|
|
|
| -#include "src/allocation-site-scopes.h"
|
| #include "src/conversions.h"
|
| #include "src/isolate-inl.h"
|
| #include "src/macro-assembler.h"
|
| @@ -2087,24 +2086,11 @@ Handle<DebugInfo> Factory::NewDebugInfo(Handle<SharedFunctionInfo> shared) {
|
| }
|
|
|
|
|
| -Handle<JSObject> Factory::NewArgumentsObject(Handle<JSFunction> callee,
|
| +Handle<JSObject> Factory::NewArgumentsObject(Handle<Object> callee,
|
| int length) {
|
| - bool strict_mode_callee = callee->shared()->strict_mode() == STRICT;
|
| - Handle<Map> map = strict_mode_callee ? isolate()->strict_arguments_map()
|
| - : isolate()->sloppy_arguments_map();
|
| -
|
| - AllocationSiteUsageContext context(isolate(), Handle<AllocationSite>(),
|
| - false);
|
| - ASSERT(!isolate()->has_pending_exception());
|
| - Handle<JSObject> result = NewJSObjectFromMap(map);
|
| - Handle<Smi> value(Smi::FromInt(length), isolate());
|
| - JSReceiver::SetProperty(result, length_string(), value, NONE, STRICT)
|
| - .Assert();
|
| - if (!strict_mode_callee) {
|
| - JSReceiver::SetProperty(result, callee_string(), callee, NONE, STRICT)
|
| - .Assert();
|
| - }
|
| - return result;
|
| + CALL_HEAP_FUNCTION(
|
| + isolate(),
|
| + isolate()->heap()->AllocateArgumentsObject(*callee, length), JSObject);
|
| }
|
|
|
|
|
|
|