| 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 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 289 } else if (value == '\\') { | 289 } else if (value == '\\') { |
| 290 return '\\'; | 290 return '\\'; |
| 291 } else if (value == '$') { | 291 } else if (value == '$') { |
| 292 return '$'; | 292 return '$'; |
| 293 } | 293 } |
| 294 UNREACHABLE(); | 294 UNREACHABLE(); |
| 295 return '\0'; | 295 return '\0'; |
| 296 } | 296 } |
| 297 | 297 |
| 298 | 298 |
| 299 static void DeleteWeakPersistentHandle(Dart_Handle handle) { | 299 static void DeleteWeakPersistentHandle(Dart_WeakPersistentHandle handle) { |
| 300 ApiState* state = Isolate::Current()->api_state(); | 300 ApiState* state = Isolate::Current()->api_state(); |
| 301 ASSERT(state != NULL); | 301 ASSERT(state != NULL); |
| 302 FinalizablePersistentHandle* weak_ref = | 302 FinalizablePersistentHandle* weak_ref = |
| 303 reinterpret_cast<FinalizablePersistentHandle*>(handle); | 303 reinterpret_cast<FinalizablePersistentHandle*>(handle); |
| 304 ASSERT(state->IsValidWeakPersistentHandle(handle)); | 304 ASSERT(state->IsValidWeakPersistentHandle(handle)); |
| 305 state->weak_persistent_handles().FreeHandle(weak_ref); | 305 state->weak_persistent_handles().FreeHandle(weak_ref); |
| 306 } | 306 } |
| 307 | 307 |
| 308 | 308 |
| 309 void Object::InitOnce() { | 309 void Object::InitOnce() { |
| (...skipping 4791 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5101 RawExternalTypedData* TokenStream::GetStream() const { | 5101 RawExternalTypedData* TokenStream::GetStream() const { |
| 5102 return raw_ptr()->stream_; | 5102 return raw_ptr()->stream_; |
| 5103 } | 5103 } |
| 5104 | 5104 |
| 5105 | 5105 |
| 5106 void TokenStream::SetStream(const ExternalTypedData& value) const { | 5106 void TokenStream::SetStream(const ExternalTypedData& value) const { |
| 5107 StorePointer(&raw_ptr()->stream_, value.raw()); | 5107 StorePointer(&raw_ptr()->stream_, value.raw()); |
| 5108 } | 5108 } |
| 5109 | 5109 |
| 5110 | 5110 |
| 5111 void TokenStream::DataFinalizer(Dart_Handle handle, void *peer) { | 5111 void TokenStream::DataFinalizer(Dart_WeakPersistentHandle handle, void *peer) { |
| 5112 ASSERT(peer != NULL); | 5112 ASSERT(peer != NULL); |
| 5113 ::free(peer); | 5113 ::free(peer); |
| 5114 DeleteWeakPersistentHandle(handle); | 5114 DeleteWeakPersistentHandle(handle); |
| 5115 } | 5115 } |
| 5116 | 5116 |
| 5117 | 5117 |
| 5118 RawString* TokenStream::PrivateKey() const { | 5118 RawString* TokenStream::PrivateKey() const { |
| 5119 return raw_ptr()->private_key_; | 5119 return raw_ptr()->private_key_; |
| 5120 } | 5120 } |
| 5121 | 5121 |
| (...skipping 7208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 12330 result ^= raw; | 12330 result ^= raw; |
| 12331 result.SetLength(len); | 12331 result.SetLength(len); |
| 12332 result.SetHash(0); | 12332 result.SetHash(0); |
| 12333 SetExternalData(result, external_data); | 12333 SetExternalData(result, external_data); |
| 12334 } | 12334 } |
| 12335 AddFinalizer(result, external_data, ExternalOneByteString::Finalize); | 12335 AddFinalizer(result, external_data, ExternalOneByteString::Finalize); |
| 12336 return ExternalOneByteString::raw(result); | 12336 return ExternalOneByteString::raw(result); |
| 12337 } | 12337 } |
| 12338 | 12338 |
| 12339 | 12339 |
| 12340 void ExternalOneByteString::Finalize(Dart_Handle handle, void* peer) { | 12340 void ExternalOneByteString::Finalize(Dart_WeakPersistentHandle handle, void* pee
r) { |
| 12341 delete reinterpret_cast<ExternalStringData<uint8_t>*>(peer); | 12341 delete reinterpret_cast<ExternalStringData<uint8_t>*>(peer); |
| 12342 DeleteWeakPersistentHandle(handle); | 12342 DeleteWeakPersistentHandle(handle); |
| 12343 } | 12343 } |
| 12344 | 12344 |
| 12345 | 12345 |
| 12346 RawExternalTwoByteString* ExternalTwoByteString::New( | 12346 RawExternalTwoByteString* ExternalTwoByteString::New( |
| 12347 const uint16_t* data, | 12347 const uint16_t* data, |
| 12348 intptr_t len, | 12348 intptr_t len, |
| 12349 void* peer, | 12349 void* peer, |
| 12350 Dart_PeerFinalizer callback, | 12350 Dart_PeerFinalizer callback, |
| (...skipping 16 matching lines...) Expand all Loading... |
| 12367 result ^= raw; | 12367 result ^= raw; |
| 12368 result.SetLength(len); | 12368 result.SetLength(len); |
| 12369 result.SetHash(0); | 12369 result.SetHash(0); |
| 12370 SetExternalData(result, external_data); | 12370 SetExternalData(result, external_data); |
| 12371 } | 12371 } |
| 12372 AddFinalizer(result, external_data, ExternalTwoByteString::Finalize); | 12372 AddFinalizer(result, external_data, ExternalTwoByteString::Finalize); |
| 12373 return ExternalTwoByteString::raw(result); | 12373 return ExternalTwoByteString::raw(result); |
| 12374 } | 12374 } |
| 12375 | 12375 |
| 12376 | 12376 |
| 12377 void ExternalTwoByteString::Finalize(Dart_Handle handle, void* peer) { | 12377 void ExternalTwoByteString::Finalize(Dart_WeakPersistentHandle handle, void* pee
r) { |
| 12378 delete reinterpret_cast<ExternalStringData<uint16_t>*>(peer); | 12378 delete reinterpret_cast<ExternalStringData<uint16_t>*>(peer); |
| 12379 DeleteWeakPersistentHandle(handle); | 12379 DeleteWeakPersistentHandle(handle); |
| 12380 } | 12380 } |
| 12381 | 12381 |
| 12382 | 12382 |
| 12383 RawBool* Bool::New(bool value) { | 12383 RawBool* Bool::New(bool value) { |
| 12384 ASSERT(Isolate::Current()->object_store()->bool_class() != Class::null()); | 12384 ASSERT(Isolate::Current()->object_store()->bool_class() != Class::null()); |
| 12385 Bool& result = Bool::Handle(); | 12385 Bool& result = Bool::Handle(); |
| 12386 { | 12386 { |
| 12387 // Since the two boolean instances are singletons we allocate them straight | 12387 // Since the two boolean instances are singletons we allocate them straight |
| (...skipping 942 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13330 } | 13330 } |
| 13331 return result.raw(); | 13331 return result.raw(); |
| 13332 } | 13332 } |
| 13333 | 13333 |
| 13334 | 13334 |
| 13335 const char* WeakProperty::ToCString() const { | 13335 const char* WeakProperty::ToCString() const { |
| 13336 return "_WeakProperty"; | 13336 return "_WeakProperty"; |
| 13337 } | 13337 } |
| 13338 | 13338 |
| 13339 } // namespace dart | 13339 } // namespace dart |
| OLD | NEW |