Commit 3bb01743 authored by mstarzinger's avatar mstarzinger Committed by Commit bot

[heap] Cleanup string factory methods a bit.

This is mostly removing dead code and also dropping MUST_USE_RESULT
annotations from methods that cannot throw an exception anyways.

R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/1370153002

Cr-Commit-Position: refs/heads/master@{#30995}
parent 0a844bc0
......@@ -578,30 +578,10 @@ MaybeHandle<String> Factory::NewConsString(Handle<String> left,
NewRawTwoByteString(length).ToHandleChecked(), left, right);
}
return (is_one_byte || is_one_byte_data_in_two_byte_string)
? NewOneByteConsString(length, left, right)
: NewTwoByteConsString(length, left, right);
}
MaybeHandle<String> Factory::NewOneByteConsString(int length,
Handle<String> left,
Handle<String> right) {
return NewRawConsString(cons_one_byte_string_map(), length, left, right);
}
MaybeHandle<String> Factory::NewTwoByteConsString(int length,
Handle<String> left,
Handle<String> right) {
return NewRawConsString(cons_string_map(), length, left, right);
}
MaybeHandle<String> Factory::NewRawConsString(Handle<Map> map, int length,
Handle<String> left,
Handle<String> right) {
Handle<ConsString> result = New<ConsString>(map, NEW_SPACE);
Handle<ConsString> result =
(is_one_byte || is_one_byte_data_in_two_byte_string)
? New<ConsString>(cons_one_byte_string_map(), NEW_SPACE)
: New<ConsString>(cons_string_map(), NEW_SPACE);
DisallowHeapAllocation no_gc;
WriteBarrierMode mode = result->GetWriteBarrierMode(no_gc);
......
......@@ -156,24 +156,21 @@ class Factory final {
// Allocates an internalized string in old space based on the character
// stream.
MUST_USE_RESULT Handle<String> NewInternalizedStringFromUtf8(
Vector<const char> str,
int chars,
uint32_t hash_field);
Handle<String> NewInternalizedStringFromUtf8(Vector<const char> str,
int chars, uint32_t hash_field);
MUST_USE_RESULT Handle<String> NewOneByteInternalizedString(
Vector<const uint8_t> str, uint32_t hash_field);
Handle<String> NewOneByteInternalizedString(Vector<const uint8_t> str,
uint32_t hash_field);
MUST_USE_RESULT Handle<String> NewOneByteInternalizedSubString(
Handle<String> NewOneByteInternalizedSubString(
Handle<SeqOneByteString> string, int offset, int length,
uint32_t hash_field);
MUST_USE_RESULT Handle<String> NewTwoByteInternalizedString(
Vector<const uc16> str,
uint32_t hash_field);
Handle<String> NewTwoByteInternalizedString(Vector<const uc16> str,
uint32_t hash_field);
MUST_USE_RESULT Handle<String> NewInternalizedStringImpl(
Handle<String> string, int chars, uint32_t hash_field);
Handle<String> NewInternalizedStringImpl(Handle<String> string, int chars,
uint32_t hash_field);
// Compute the matching internalized string map for a string if possible.
// Empty handle is returned if string is in new space or not flattened.
......@@ -197,14 +194,6 @@ class Factory final {
// Create a new cons string object which consists of a pair of strings.
MUST_USE_RESULT MaybeHandle<String> NewConsString(Handle<String> left,
Handle<String> right);
MUST_USE_RESULT MaybeHandle<String> NewOneByteConsString(
int length, Handle<String> left, Handle<String> right);
MUST_USE_RESULT MaybeHandle<String> NewTwoByteConsString(
int length, Handle<String> left, Handle<String> right);
MUST_USE_RESULT MaybeHandle<String> NewRawConsString(Handle<Map> map,
int length,
Handle<String> left,
Handle<String> right);
// Create a new string object which holds a proper substring of a string.
Handle<String> NewProperSubString(Handle<String> str,
......
......@@ -1158,28 +1158,6 @@ RUNTIME_FUNCTION(Runtime_NewString) {
}
RUNTIME_FUNCTION(Runtime_NewConsString) {
HandleScope scope(isolate);
DCHECK(args.length() == 4);
CONVERT_INT32_ARG_CHECKED(length, 0);
CONVERT_BOOLEAN_ARG_CHECKED(is_one_byte, 1);
CONVERT_ARG_HANDLE_CHECKED(String, left, 2);
CONVERT_ARG_HANDLE_CHECKED(String, right, 3);
Handle<String> result;
if (is_one_byte) {
ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
isolate, result,
isolate->factory()->NewOneByteConsString(length, left, right));
} else {
ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
isolate, result,
isolate->factory()->NewTwoByteConsString(length, left, right));
}
return *result;
}
RUNTIME_FUNCTION(Runtime_StringEquals) {
HandleScope handle_scope(isolate);
DCHECK(args.length() == 2);
......
......@@ -915,7 +915,6 @@ namespace internal {
F(StringTrim, 3, 1) \
F(TruncateString, 2, 1) \
F(NewString, 2, 1) \
F(NewConsString, 4, 1) \
F(StringEquals, 2, 1) \
F(FlattenString, 1, 1) \
F(StringCharFromCode, 1, 1) \
......
......@@ -217,17 +217,6 @@ TEST(OneByteSeqStringSetChar) {
}
TEST(NewConsString) {
FunctionTester T(
"(function() { "
" return %_NewConsString(14, true, 'abcdefghi', 'jklmn');"
" })",
flags);
T.CheckCall(T.Val("abcdefghijklmn"));
}
TEST(SetValueOf) {
FunctionTester T("(function(a,b) { return %_SetValueOf(a,b); })", flags);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment