Index: src/runtime/runtime-symbol.cc |
diff --git a/src/runtime/runtime-symbol.cc b/src/runtime/runtime-symbol.cc |
index 2eaef63bbf2bedb4e06df8b9ccae892505f13b00..35870fd5ac1d80d959beca229fa0222cf63c710b 100644 |
--- a/src/runtime/runtime-symbol.cc |
+++ b/src/runtime/runtime-symbol.cc |
@@ -7,7 +7,6 @@ |
#include "src/arguments.h" |
#include "src/isolate-inl.h" |
#include "src/objects-inl.h" |
-#include "src/string-builder.h" |
namespace v8 { |
namespace internal { |
@@ -16,24 +15,16 @@ RUNTIME_FUNCTION(Runtime_CreateSymbol) { |
HandleScope scope(isolate); |
DCHECK_EQ(1, args.length()); |
CONVERT_ARG_HANDLE_CHECKED(Object, name, 0); |
- CHECK(name->IsString() || name->IsUndefined(isolate)); |
- Handle<Symbol> symbol = isolate->factory()->NewSymbol(); |
- if (name->IsString()) symbol->set_name(*name); |
- return *symbol; |
+ RETURN_RESULT_OR_FAILURE(isolate, isolate->factory()->NewSymbol(name)); |
} |
- |
RUNTIME_FUNCTION(Runtime_CreatePrivateSymbol) { |
HandleScope scope(isolate); |
DCHECK_EQ(1, args.length()); |
CONVERT_ARG_HANDLE_CHECKED(Object, name, 0); |
- CHECK(name->IsString() || name->IsUndefined(isolate)); |
- Handle<Symbol> symbol = isolate->factory()->NewPrivateSymbol(); |
- if (name->IsString()) symbol->set_name(*name); |
- return *symbol; |
+ RETURN_RESULT_OR_FAILURE(isolate, isolate->factory()->NewPrivateSymbol(name)); |
} |
- |
RUNTIME_FUNCTION(Runtime_SymbolDescription) { |
SealHandleScope shs(isolate); |
DCHECK_EQ(1, args.length()); |
@@ -41,26 +32,19 @@ RUNTIME_FUNCTION(Runtime_SymbolDescription) { |
return symbol->name(); |
} |
- |
RUNTIME_FUNCTION(Runtime_SymbolDescriptiveString) { |
HandleScope scope(isolate); |
DCHECK_EQ(1, args.length()); |
CONVERT_ARG_HANDLE_CHECKED(Symbol, symbol, 0); |
- IncrementalStringBuilder builder(isolate); |
- builder.AppendCString("Symbol("); |
- if (symbol->name()->IsString()) { |
- builder.AppendString(handle(String::cast(symbol->name()), isolate)); |
- } |
- builder.AppendCharacter(')'); |
- RETURN_RESULT_OR_FAILURE(isolate, builder.Finish()); |
+ return symbol->descriptive_string(); |
} |
- |
RUNTIME_FUNCTION(Runtime_SymbolIsPrivate) { |
SealHandleScope shs(isolate); |
DCHECK_EQ(1, args.length()); |
CONVERT_ARG_CHECKED(Symbol, symbol, 0); |
return isolate->heap()->ToBoolean(symbol->is_private()); |
} |
+ |
} // namespace internal |
} // namespace v8 |