| Index: tools/parser-shell.cc
|
| diff --git a/tools/parser-shell.cc b/tools/parser-shell.cc
|
| index c2291857f0ccb30f836a8cf1fa40cae000b5e4dd..f14c0008b42b1fa5794803f534b9acd4c920d8db 100644
|
| --- a/tools/parser-shell.cc
|
| +++ b/tools/parser-shell.cc
|
| @@ -44,6 +44,18 @@
|
|
|
| using namespace v8::internal;
|
|
|
| +class StringResource8 : public v8::String::ExternalAsciiStringResource {
|
| + public:
|
| + StringResource8(const char* data, int length)
|
| + : data_(data), length_(length) { }
|
| + virtual size_t length() const { return length_; }
|
| + virtual const char* data() const { return data_; }
|
| +
|
| + private:
|
| + const char* data_;
|
| + int length_;
|
| +};
|
| +
|
| std::pair<TimeDelta, TimeDelta> RunBaselineParser(
|
| const char* fname, Encoding encoding, int repeat, v8::Isolate* isolate,
|
| v8::Handle<v8::Context> context) {
|
| @@ -63,7 +75,9 @@ std::pair<TimeDelta, TimeDelta> RunBaselineParser(
|
| break;
|
| }
|
| case LATIN1: {
|
| - source_handle = v8::String::NewFromOneByte(isolate, source);
|
| + StringResource8* string_resource =
|
| + new StringResource8(reinterpret_cast<const char*>(source), length);
|
| + source_handle = v8::String::NewExternal(isolate, string_resource);
|
| break;
|
| }
|
| }
|
|
|