Explain better the constraints for external string resources.
authorerik.corry@gmail.com <erik.corry@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 8 Sep 2008 19:46:49 +0000 (19:46 +0000)
committererik.corry@gmail.com <erik.corry@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 8 Sep 2008 19:46:49 +0000 (19:46 +0000)
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

include/v8.h

index 3ca8ec6..ebbc6ef 100644 (file)
@@ -740,7 +740,7 @@ class EXPORT String : public Primitive {
    * An ExternalStringResource is a wrapper around a two-byte string
    * buffer that resides outside V8's heap. Implement an
    * ExternalStringResource to manage the life cycle of the underlying
-   * buffer.
+   * buffer.  Note that the string data must be immutable.
    */
   class EXPORT ExternalStringResource {  // NOLINT
    public:
@@ -764,7 +764,11 @@ class EXPORT String : public Primitive {
    * An ExternalAsciiStringResource is a wrapper around an ascii
    * string buffer that resides outside V8's heap. Implement an
    * ExternalAsciiStringResource to manage the life cycle of the
-   * underlying buffer.
+   * underlying buffer.  Note that the string data must be immutable
+   * and that the data must be strict 7-bit ASCII, not Latin1 or
+   * UTF-8, which would require special treatment internally in the
+   * engine and, in the case of UTF-8, do not allow efficient indexing.
+   * Use String::New or convert to 16 bit data for non-ASCII.
    */
 
   class EXPORT ExternalAsciiStringResource {  // NOLINT