[webkit-dev] SerializedScriptValue: signed vs unsigned char

Glenn Adams glenn at skynav.com
Mon Feb 4 16:50:11 PST 2013

On Mon, Feb 4, 2013 at 4:51 PM, Alec Flett <alecflett at chromium.org> wrote:

> At the moment, SerializedScriptValue uses Vector<uint8_t> (aka
> Vector<unsigned char>) for both it's API (createFromWireBytes, toWireBytes)
> as well as its internal representation. (for both v8 and jsc
> implementations)
> The two largest consumers of this aspect of SerializedScriptValue seems to
> be IndexedDB and postMessage().
> I'm jumping through some small hoops (i.e. reinterpret_cast and whatnot)
> in IndexedDB to convert between Vector<uint8_t> and Vector<char> and a
> 'const char*' buffer in order to write out to LevelDB, who likes 'char' as
> opposed to unsigned char.
> postMessage() seems to be pretty agnostic to char vs unsigned char, since
> it uses SerializedScriptValue to both produce and consume the buffers it
> sends between windows.
> Before I did a code cleanup and just fixed up all the implementations to
> use Vector<char> I wanted to see if anyone had any objections here, on both
> the V8 and the JSC sides. The ultimate compiled code is going to be
> identical, but I'll be able to avoid all sorts of reinterpret_cast's at
> various points in the code.

If you are suggesting to change IndexedDB to use Vector<char> in order to
accommodate the LevelDB interfaces, then I would suggest you not do that.
Vector<uint8_t> is more clear than Vector<char> (or Vector<unsigned char>)
at expressing the intended usage (binary versus character data).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20130204/f5bdb3e4/attachment.html>

More information about the webkit-dev mailing list