| OLD | NEW | 
|---|
|  | (Empty) | 
| 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 |  | 
| 3 // found in the LICENSE file. |  | 
| 4 |  | 
| 5 #include "src/runtime/runtime-utils.h" |  | 
| 6 |  | 
| 7 #include "src/arguments.h" |  | 
| 8 #include "src/char-predicates-inl.h" |  | 
| 9 #include "src/isolate-inl.h" |  | 
| 10 #include "src/json-parser.h" |  | 
| 11 #include "src/json-stringifier.h" |  | 
| 12 #include "src/objects-inl.h" |  | 
| 13 |  | 
| 14 namespace v8 { |  | 
| 15 namespace internal { |  | 
| 16 |  | 
| 17 RUNTIME_FUNCTION(Runtime_ParseJson) { |  | 
| 18   HandleScope scope(isolate); |  | 
| 19   DCHECK_EQ(2, args.length()); |  | 
| 20   CONVERT_ARG_HANDLE_CHECKED(Object, object, 0); |  | 
| 21   CONVERT_ARG_HANDLE_CHECKED(Object, reviver, 1); |  | 
| 22   Handle<String> source; |  | 
| 23   ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, source, |  | 
| 24                                      Object::ToString(isolate, object)); |  | 
| 25   source = String::Flatten(source); |  | 
| 26   // Optimized fast case where we only have Latin1 characters. |  | 
| 27   RETURN_RESULT_OR_FAILURE( |  | 
| 28       isolate, source->IsSeqOneByteString() |  | 
| 29                    ? JsonParser<true>::Parse(isolate, source, reviver) |  | 
| 30                    : JsonParser<false>::Parse(isolate, source, reviver)); |  | 
| 31 } |  | 
| 32 |  | 
| 33 }  // namespace internal |  | 
| 34 }  // namespace v8 |  | 
| OLD | NEW | 
|---|