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

Unified Diff: runtime/vm/raw_object.h

Issue 765743003: Support use of external strings as inputs to LoadCodeUnitsInstr. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: runtime/vm/raw_object.h
diff --git a/runtime/vm/raw_object.h b/runtime/vm/raw_object.h
index e83e01e13cd5cd1e01de2fd418e60a3691efdc20..f4a375c799dcd83459a6c1abf2253164add377c3 100644
--- a/runtime/vm/raw_object.h
+++ b/runtime/vm/raw_object.h
@@ -1589,6 +1589,10 @@ class ExternalStringData {
return peer_;
}
+ static intptr_t data_offset() {
+ return OFFSET_OF(ExternalStringData<T>, data_);
+ }
+
private:
const T* data_;
void* peer_;
@@ -1598,16 +1602,28 @@ class ExternalStringData {
class RawExternalOneByteString : public RawString {
RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalOneByteString);
+ public:
+ typedef ExternalStringData<uint8_t> ExternalData;
+ static intptr_t data_offset() {
Vyacheslav Egorov (Google) 2014/11/27 14:27:43 rename it to external_data_offset() and move the t
zerny-google 2014/12/01 15:33:30 Done.
+ return OFFSET_OF(RawExternalOneByteString, external_data_);
+ }
- ExternalStringData<uint8_t>* external_data_;
+ private:
+ ExternalData* external_data_;
friend class Api;
};
class RawExternalTwoByteString : public RawString {
RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalTwoByteString);
+ public:
+ typedef ExternalStringData<uint16_t> ExternalData;
+ static intptr_t data_offset() {
+ return OFFSET_OF(RawExternalTwoByteString, external_data_);
+ }
- ExternalStringData<uint16_t>* external_data_;
+ private:
+ ExternalData* external_data_;
friend class Api;
};

Powered by Google App Engine
This is Rietveld 408576698