OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 3136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3147 // specification. As of this writing the first public draft is not yet | 3147 // specification. As of this writing the first public draft is not yet |
3148 // available, but Khronos members can access the draft at: | 3148 // available, but Khronos members can access the draft at: |
3149 // https://cvs.khronos.org/svn/repos/3dweb/trunk/doc/spec/WebGL-spec.html | 3149 // https://cvs.khronos.org/svn/repos/3dweb/trunk/doc/spec/WebGL-spec.html |
3150 // | 3150 // |
3151 // The semantics of these arrays differ from CanvasPixelArray. | 3151 // The semantics of these arrays differ from CanvasPixelArray. |
3152 // Out-of-range values passed to the setter are converted via a C | 3152 // Out-of-range values passed to the setter are converted via a C |
3153 // cast, not clamping. Out-of-range indices cause exceptions to be | 3153 // cast, not clamping. Out-of-range indices cause exceptions to be |
3154 // raised rather than being silently ignored. | 3154 // raised rather than being silently ignored. |
3155 class ExternalArray: public FixedArrayBase { | 3155 class ExternalArray: public FixedArrayBase { |
3156 public: | 3156 public: |
3157 | |
3158 inline bool is_the_hole(int index) { return false; } | 3157 inline bool is_the_hole(int index) { return false; } |
3159 | 3158 |
3160 // [external_pointer]: The pointer to the external memory area backing this | 3159 // [external_pointer]: The pointer to the external memory area backing this |
3161 // external array. | 3160 // external array. |
3162 DECL_ACCESSORS(external_pointer, void) // Pointer to the data store. | 3161 DECL_ACCESSORS(external_pointer, void) // Pointer to the data store. |
3163 | 3162 |
3164 // Casting. | 3163 // Casting. |
3165 static inline ExternalArray* cast(Object* obj); | 3164 static inline ExternalArray* cast(Object* obj); |
3166 | 3165 |
3167 // Maximal acceptable length for an external array. | 3166 // Maximal acceptable length for an external array. |
(...skipping 3234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6402 // a Sliced String therefore requires unpacking of the parent string and | 6401 // a Sliced String therefore requires unpacking of the parent string and |
6403 // adding the offset to the start address. A substring of a Sliced String | 6402 // adding the offset to the start address. A substring of a Sliced String |
6404 // are not nested since the double indirection is simplified when creating | 6403 // are not nested since the double indirection is simplified when creating |
6405 // such a substring. | 6404 // such a substring. |
6406 // Currently missing features are: | 6405 // Currently missing features are: |
6407 // - handling externalized parent strings | 6406 // - handling externalized parent strings |
6408 // - external strings as parent | 6407 // - external strings as parent |
6409 // - truncating sliced string to enable otherwise unneeded parent to be GC'ed. | 6408 // - truncating sliced string to enable otherwise unneeded parent to be GC'ed. |
6410 class SlicedString: public String { | 6409 class SlicedString: public String { |
6411 public: | 6410 public: |
6412 | |
6413 inline String* parent(); | 6411 inline String* parent(); |
6414 inline void set_parent(String* parent); | 6412 inline void set_parent(String* parent); |
6415 inline int offset(); | 6413 inline int offset(); |
6416 inline void set_offset(int offset); | 6414 inline void set_offset(int offset); |
6417 | 6415 |
6418 // Dispatched behavior. | 6416 // Dispatched behavior. |
6419 uint16_t SlicedStringGet(int index); | 6417 uint16_t SlicedStringGet(int index); |
6420 | 6418 |
6421 // Casting. | 6419 // Casting. |
6422 static inline SlicedString* cast(Object* obj); | 6420 static inline SlicedString* cast(Object* obj); |
(...skipping 1035 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7458 } else { | 7456 } else { |
7459 value &= ~(1 << bit_position); | 7457 value &= ~(1 << bit_position); |
7460 } | 7458 } |
7461 return value; | 7459 return value; |
7462 } | 7460 } |
7463 }; | 7461 }; |
7464 | 7462 |
7465 } } // namespace v8::internal | 7463 } } // namespace v8::internal |
7466 | 7464 |
7467 #endif // V8_OBJECTS_H_ | 7465 #endif // V8_OBJECTS_H_ |
OLD | NEW |