| OLD | NEW | 
|---|
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "src/runtime/runtime-utils.h" | 5 #include "src/runtime/runtime-utils.h" | 
| 6 | 6 | 
| 7 #include "src/arguments.h" | 7 #include "src/arguments.h" | 
| 8 #include "src/char-predicates-inl.h" | 8 #include "src/char-predicates-inl.h" | 
| 9 #include "src/isolate-inl.h" | 9 #include "src/isolate-inl.h" | 
| 10 #include "src/json-parser.h" | 10 #include "src/json-parser.h" | 
| 11 #include "src/json-stringifier.h" | 11 #include "src/json-stringifier.h" | 
| 12 #include "src/objects-inl.h" | 12 #include "src/objects-inl.h" | 
| 13 | 13 | 
| 14 namespace v8 { | 14 namespace v8 { | 
| 15 namespace internal { | 15 namespace internal { | 
| 16 | 16 | 
| 17 RUNTIME_FUNCTION(Runtime_QuoteJSONString) { | 17 RUNTIME_FUNCTION(Runtime_QuoteJSONString) { | 
| 18   HandleScope scope(isolate); | 18   HandleScope scope(isolate); | 
| 19   CONVERT_ARG_HANDLE_CHECKED(String, string, 0); | 19   CONVERT_ARG_HANDLE_CHECKED(String, string, 0); | 
| 20   DCHECK(args.length() == 1); | 20   DCHECK(args.length() == 1); | 
| 21   RETURN_RESULT_OR_FAILURE( | 21   RETURN_RESULT_OR_FAILURE( | 
| 22       isolate, BasicJsonStringifier::StringifyString(isolate, string)); | 22       isolate, BasicJsonStringifier::StringifyString(isolate, string)); | 
| 23 } | 23 } | 
| 24 | 24 | 
| 25 RUNTIME_FUNCTION(Runtime_BasicJSONStringify) { | 25 RUNTIME_FUNCTION(Runtime_BasicJSONStringify) { | 
| 26   HandleScope scope(isolate); | 26   HandleScope scope(isolate); | 
| 27   DCHECK(args.length() == 2); | 27   DCHECK(args.length() == 3); | 
| 28   CONVERT_ARG_HANDLE_CHECKED(Object, object, 0); | 28   CONVERT_ARG_HANDLE_CHECKED(Object, object, 0); | 
| 29   CONVERT_ARG_HANDLE_CHECKED(Object, gap, 1); | 29   CONVERT_ARG_HANDLE_CHECKED(Object, replacer, 1); | 
|  | 30   CONVERT_ARG_HANDLE_CHECKED(Object, gap, 2); | 
| 30   RETURN_RESULT_OR_FAILURE( | 31   RETURN_RESULT_OR_FAILURE( | 
| 31       isolate, BasicJsonStringifier(isolate).Stringify(object, gap)); | 32       isolate, BasicJsonStringifier(isolate).Stringify(object, replacer, gap)); | 
| 32 } | 33 } | 
| 33 | 34 | 
| 34 RUNTIME_FUNCTION(Runtime_ParseJson) { | 35 RUNTIME_FUNCTION(Runtime_ParseJson) { | 
| 35   HandleScope scope(isolate); | 36   HandleScope scope(isolate); | 
| 36   DCHECK_EQ(1, args.length()); | 37   DCHECK_EQ(1, args.length()); | 
| 37   CONVERT_ARG_HANDLE_CHECKED(Object, object, 0); | 38   CONVERT_ARG_HANDLE_CHECKED(Object, object, 0); | 
| 38   Handle<String> source; | 39   Handle<String> source; | 
| 39   ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, source, | 40   ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, source, | 
| 40                                      Object::ToString(isolate, object)); | 41                                      Object::ToString(isolate, object)); | 
| 41   source = String::Flatten(source); | 42   source = String::Flatten(source); | 
| 42   // Optimized fast case where we only have Latin1 characters. | 43   // Optimized fast case where we only have Latin1 characters. | 
| 43   RETURN_RESULT_OR_FAILURE(isolate, source->IsSeqOneByteString() | 44   RETURN_RESULT_OR_FAILURE(isolate, source->IsSeqOneByteString() | 
| 44                                         ? JsonParser<true>::Parse(source) | 45                                         ? JsonParser<true>::Parse(source) | 
| 45                                         : JsonParser<false>::Parse(source)); | 46                                         : JsonParser<false>::Parse(source)); | 
| 46 } | 47 } | 
| 47 | 48 | 
| 48 }  // namespace internal | 49 }  // namespace internal | 
| 49 }  // namespace v8 | 50 }  // namespace v8 | 
| OLD | NEW | 
|---|