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