Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Side by Side Diff: runtime/vm/object.h

Issue 834233003: Fix for issue 21398 (only send "literal like" objects across isolates spawned using spawnURI (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/json_stream.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef VM_OBJECT_H_ 5 #ifndef VM_OBJECT_H_
6 #define VM_OBJECT_H_ 6 #define VM_OBJECT_H_
7 7
8 #include "include/dart_api.h" 8 #include "include/dart_api.h"
9 #include "platform/assert.h" 9 #include "platform/assert.h"
10 #include "platform/utils.h" 10 #include "platform/utils.h"
(...skipping 7229 matching lines...) Expand 10 before | Expand all | Expand 10 after
7240 private: 7240 private:
7241 FINAL_HEAP_OBJECT_IMPLEMENTATION(ReceivePort, Instance); 7241 FINAL_HEAP_OBJECT_IMPLEMENTATION(ReceivePort, Instance);
7242 friend class Class; 7242 friend class Class;
7243 }; 7243 };
7244 7244
7245 7245
7246 class SendPort : public Instance { 7246 class SendPort : public Instance {
7247 public: 7247 public:
7248 Dart_Port Id() const { return raw_ptr()->id_; } 7248 Dart_Port Id() const { return raw_ptr()->id_; }
7249 7249
7250 Dart_Port origin_id() const { return raw_ptr()->origin_id_; }
7251 void set_origin_id(Dart_Port id) const {
7252 ASSERT(origin_id() == 0);
7253 StoreNonPointer(&(raw_ptr()->origin_id_), id);
7254 }
7255
7250 static intptr_t InstanceSize() { 7256 static intptr_t InstanceSize() {
7251 return RoundedAllocationSize(sizeof(RawSendPort)); 7257 return RoundedAllocationSize(sizeof(RawSendPort));
7252 } 7258 }
7253 static RawSendPort* New(Dart_Port id, Heap::Space space = Heap::kNew); 7259 static RawSendPort* New(Dart_Port id,
7260 Heap::Space space = Heap::kNew);
7261 static RawSendPort* New(Dart_Port id,
7262 Dart_Port origin_id,
7263 Heap::Space space = Heap::kNew);
7254 7264
7255 private: 7265 private:
7256 FINAL_HEAP_OBJECT_IMPLEMENTATION(SendPort, Instance); 7266 FINAL_HEAP_OBJECT_IMPLEMENTATION(SendPort, Instance);
7257 friend class Class; 7267 friend class Class;
7258 }; 7268 };
7259 7269
7260 7270
7261 // Internal stacktrace object used in exceptions for printing stack traces. 7271 // Internal stacktrace object used in exceptions for printing stack traces.
7262 class Stacktrace : public Instance { 7272 class Stacktrace : public Instance {
7263 public: 7273 public:
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
7690 7700
7691 7701
7692 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, 7702 RawObject* MegamorphicCache::GetTargetFunction(const Array& array,
7693 intptr_t index) { 7703 intptr_t index) {
7694 return array.At((index * kEntryLength) + kTargetFunctionIndex); 7704 return array.At((index * kEntryLength) + kTargetFunctionIndex);
7695 } 7705 }
7696 7706
7697 } // namespace dart 7707 } // namespace dart
7698 7708
7699 #endif // VM_OBJECT_H_ 7709 #endif // VM_OBJECT_H_
OLDNEW
« no previous file with comments | « runtime/vm/json_stream.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698