Index: src/factory.cc |
diff --git a/src/factory.cc b/src/factory.cc |
index a085bbab799722e11d193118c0bdf779b342539d..22b6489e56d07dd76eb26355752833ff7b72330c 100644 |
--- a/src/factory.cc |
+++ b/src/factory.cc |
@@ -418,13 +418,6 @@ Handle<String> ConcatStringContent(Handle<StringType> result, |
} |
-Handle<ConsString> Factory::NewRawConsString(String::Encoding encoding) { |
- Handle<Map> map = (encoding == String::ONE_BYTE_ENCODING) |
- ? cons_ascii_string_map() : cons_string_map(); |
- return New<ConsString>(map, NEW_SPACE); |
-} |
- |
- |
MaybeHandle<String> Factory::NewConsString(Handle<String> left, |
Handle<String> right) { |
int left_length = left->length(); |
@@ -494,10 +487,9 @@ MaybeHandle<String> Factory::NewConsString(Handle<String> left, |
NewRawTwoByteString(length).ToHandleChecked(), left, right); |
} |
- Handle<ConsString> result = NewRawConsString( |
- (is_one_byte || is_one_byte_data_in_two_byte_string) |
- ? String::ONE_BYTE_ENCODING |
- : String::TWO_BYTE_ENCODING); |
+ Handle<Map> map = (is_one_byte || is_one_byte_data_in_two_byte_string) |
+ ? cons_ascii_string_map() : cons_string_map(); |
+ Handle<ConsString> result = New<ConsString>(map, NEW_SPACE); |
DisallowHeapAllocation no_gc; |
WriteBarrierMode mode = result->GetWriteBarrierMode(no_gc); |
@@ -523,13 +515,6 @@ Handle<String> Factory::NewFlatConcatString(Handle<String> first, |
} |
-Handle<SlicedString> Factory::NewRawSlicedString(String::Encoding encoding) { |
- Handle<Map> map = (encoding == String::ONE_BYTE_ENCODING) |
- ? sliced_ascii_string_map() : sliced_string_map(); |
- return New<SlicedString>(map, NEW_SPACE); |
-} |
- |
- |
Handle<String> Factory::NewProperSubString(Handle<String> str, |
int begin, |
int end) { |
@@ -581,9 +566,9 @@ Handle<String> Factory::NewProperSubString(Handle<String> str, |
} |
ASSERT(str->IsSeqString() || str->IsExternalString()); |
- Handle<SlicedString> slice = NewRawSlicedString( |
- str->IsOneByteRepresentation() ? String::ONE_BYTE_ENCODING |
- : String::TWO_BYTE_ENCODING); |
+ Handle<Map> map = str->IsOneByteRepresentation() ? sliced_ascii_string_map() |
+ : sliced_string_map(); |
+ Handle<SlicedString> slice = New<SlicedString>(map, NEW_SPACE); |
slice->set_hash_field(String::kEmptyHashField); |
slice->set_length(length); |
@@ -953,6 +938,24 @@ Handle<JSObject> Factory::NewFunctionPrototype(Handle<JSFunction> function) { |
} |
+Handle<JSObject> Factory::CopyJSObject(Handle<JSObject> object) { |
+ CALL_HEAP_FUNCTION(isolate(), |
+ isolate()->heap()->CopyJSObject(*object, NULL), |
+ JSObject); |
+} |
+ |
+ |
+Handle<JSObject> Factory::CopyJSObjectWithAllocationSite( |
+ Handle<JSObject> object, |
+ Handle<AllocationSite> site) { |
+ CALL_HEAP_FUNCTION(isolate(), |
+ isolate()->heap()->CopyJSObject( |
+ *object, |
+ site.is_null() ? NULL : *site), |
+ JSObject); |
+} |
+ |
+ |
Handle<FixedArray> Factory::CopyFixedArrayWithMap(Handle<FixedArray> array, |
Handle<Map> map) { |
CALL_HEAP_FUNCTION(isolate(), |