Index: src/factory.cc |
diff --git a/src/factory.cc b/src/factory.cc |
index 08e859b340ccae71e390260322b1007c0c87145b..d3a69744d2d7250a2666af9312c9104cbb9b7b32 100644 |
--- a/src/factory.cc |
+++ b/src/factory.cc |
@@ -156,8 +156,11 @@ Handle<DeoptimizationInputData> Factory::NewDeoptimizationInputData( |
int deopt_entry_count, |
PretenureFlag pretenure) { |
ASSERT(deopt_entry_count > 0); |
- int len = DeoptimizationInputData::LengthFor(deopt_entry_count); |
- return Handle<DeoptimizationInputData>::cast(NewFixedArray(len, pretenure)); |
+ CALL_HEAP_FUNCTION(isolate(), |
+ DeoptimizationInputData::Allocate(isolate(), |
+ deopt_entry_count, |
+ pretenure), |
+ DeoptimizationInputData); |
} |
@@ -165,8 +168,11 @@ Handle<DeoptimizationOutputData> Factory::NewDeoptimizationOutputData( |
int deopt_entry_count, |
PretenureFlag pretenure) { |
ASSERT(deopt_entry_count > 0); |
- int len = DeoptimizationOutputData::LengthOfFixedArray(deopt_entry_count); |
- return Handle<DeoptimizationOutputData>::cast(NewFixedArray(len, pretenure)); |
+ CALL_HEAP_FUNCTION(isolate(), |
+ DeoptimizationOutputData::Allocate(isolate(), |
+ deopt_entry_count, |
+ pretenure), |
+ DeoptimizationOutputData); |
} |
@@ -976,7 +982,11 @@ Handle<HeapNumber> Factory::NewHeapNumber(double value, |
Handle<JSObject> Factory::NewNeanderObject() { |
- return NewJSObjectFromMap(neander_map()); |
+ CALL_HEAP_FUNCTION( |
+ isolate(), |
+ isolate()->heap()->AllocateJSObjectFromMap( |
+ isolate()->heap()->neander_map()), |
+ JSObject); |
} |
@@ -1439,21 +1449,30 @@ Handle<JSGeneratorObject> Factory::NewJSGeneratorObject( |
JSFunction::EnsureHasInitialMap(function); |
Handle<Map> map(function->initial_map()); |
ASSERT(map->instance_type() == JS_GENERATOR_OBJECT_TYPE); |
- return Handle<JSGeneratorObject>::cast(NewJSObjectFromMap(map)); |
+ CALL_HEAP_FUNCTION( |
+ isolate(), |
+ isolate()->heap()->AllocateJSObjectFromMap(*map), |
+ JSGeneratorObject); |
} |
Handle<JSArrayBuffer> Factory::NewJSArrayBuffer() { |
Handle<JSFunction> array_buffer_fun( |
isolate()->context()->native_context()->array_buffer_fun()); |
- return Handle<JSArrayBuffer>::cast(NewJSObject(array_buffer_fun)); |
+ CALL_HEAP_FUNCTION( |
+ isolate(), |
+ isolate()->heap()->AllocateJSObject(*array_buffer_fun), |
+ JSArrayBuffer); |
} |
Handle<JSDataView> Factory::NewJSDataView() { |
Handle<JSFunction> data_view_fun( |
isolate()->context()->native_context()->data_view_fun()); |
- return Handle<JSDataView>::cast(NewJSObject(data_view_fun)); |
+ CALL_HEAP_FUNCTION( |
+ isolate(), |
+ isolate()->heap()->AllocateJSObject(*data_view_fun), |
+ JSDataView); |
} |
@@ -1477,7 +1496,11 @@ static JSFunction* GetTypedArrayFun(ExternalArrayType type, |
Handle<JSTypedArray> Factory::NewJSTypedArray(ExternalArrayType type) { |
Handle<JSFunction> typed_array_fun_handle(GetTypedArrayFun(type, isolate())); |
- return Handle<JSTypedArray>::cast(NewJSObject(typed_array_fun_handle)); |
+ |
+ CALL_HEAP_FUNCTION( |
+ isolate(), |
+ isolate()->heap()->AllocateJSObject(*typed_array_fun_handle), |
+ JSTypedArray); |
} |