Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/object.h" | 5 #include "vm/object.h" |
| 6 | 6 |
| 7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
| 10 #include "vm/cpu.h" | 10 #include "vm/cpu.h" |
| (...skipping 12675 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 12686 space); | 12686 space); |
| 12687 NoGCScope no_gc; | 12687 NoGCScope no_gc; |
| 12688 result ^= raw; | 12688 result ^= raw; |
| 12689 } | 12689 } |
| 12690 result.set_exception(exception); | 12690 result.set_exception(exception); |
| 12691 result.set_stacktrace(stacktrace); | 12691 result.set_stacktrace(stacktrace); |
| 12692 return result.raw(); | 12692 return result.raw(); |
| 12693 } | 12693 } |
| 12694 | 12694 |
| 12695 | 12695 |
| 12696 RawUnhandledException* UnhandledException::New(Heap::Space space) { | |
| 12697 ASSERT(Object::unhandled_exception_class() != Class::null()); | |
| 12698 UnhandledException& result = UnhandledException::Handle(); | |
| 12699 { | |
| 12700 RawObject* raw = Object::Allocate(UnhandledException::kClassId, | |
| 12701 UnhandledException::InstanceSize(), | |
| 12702 space); | |
| 12703 NoGCScope no_gc; | |
| 12704 result ^= raw; | |
| 12705 } | |
| 12706 const Instance& null_object = Instance::Handle(); | |
| 12707 result.set_exception(null_object); | |
| 12708 result.set_stacktrace(null_object); | |
|
siva
2014/07/16 01:00:13
Can we use Object::null_instance() here instead of
Florian Schneider
2014/07/16 11:15:42
Done.
| |
| 12709 return result.raw(); | |
| 12710 } | |
| 12711 | |
| 12712 | |
| 12696 void UnhandledException::set_exception(const Instance& exception) const { | 12713 void UnhandledException::set_exception(const Instance& exception) const { |
| 12697 StorePointer(&raw_ptr()->exception_, exception.raw()); | 12714 StorePointer(&raw_ptr()->exception_, exception.raw()); |
| 12698 } | 12715 } |
| 12699 | 12716 |
| 12700 | 12717 |
| 12701 void UnhandledException::set_stacktrace(const Instance& stacktrace) const { | 12718 void UnhandledException::set_stacktrace(const Instance& stacktrace) const { |
| 12702 StorePointer(&raw_ptr()->stacktrace_, stacktrace.raw()); | 12719 StorePointer(&raw_ptr()->stacktrace_, stacktrace.raw()); |
| 12703 } | 12720 } |
| 12704 | 12721 |
| 12705 | 12722 |
| (...skipping 6375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 19081 return tag_label.ToCString(); | 19098 return tag_label.ToCString(); |
| 19082 } | 19099 } |
| 19083 | 19100 |
| 19084 | 19101 |
| 19085 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { | 19102 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { |
| 19086 Instance::PrintJSONImpl(stream, ref); | 19103 Instance::PrintJSONImpl(stream, ref); |
| 19087 } | 19104 } |
| 19088 | 19105 |
| 19089 | 19106 |
| 19090 } // namespace dart | 19107 } // namespace dart |
| OLD | NEW |