| Index: samples/shell.cc
|
| diff --git a/samples/shell.cc b/samples/shell.cc
|
| index 51053aa0e56233553dc0da8571da67f03a23615d..3640fa013982b96fb2dae1b1d6a6b09cff7e735c 100644
|
| --- a/samples/shell.cc
|
| +++ b/samples/shell.cc
|
| @@ -28,6 +28,9 @@
|
| #include <v8.h>
|
| #include <v8-testing.h>
|
| #include <assert.h>
|
| +#ifdef COMPRESS_STARTUP_DATA_BZ2
|
| +#include <bzlib.h>
|
| +#endif
|
| #include <fcntl.h>
|
| #include <string.h>
|
| #include <stdio.h>
|
| @@ -299,6 +302,31 @@ int main(int argc, char* argv[]) {
|
| }
|
| }
|
|
|
| +#ifdef COMPRESS_STARTUP_DATA_BZ2
|
| + ASSERT_EQ(v8::StartupData::kBZip2,
|
| + v8::V8::GetCompressedStartupDataAlgorithm());
|
| + int compressed_data_count = v8::V8::GetCompressedStartupDataCount();
|
| + v8::StartupData* compressed_data = new v8::StartupData[compressed_data_count];
|
| + v8::V8::GetCompressedStartupData(compressed_data);
|
| + for (int i = 0; i < compressed_data_count; ++i) {
|
| + char* decompressed = new char[compressed_data[i].raw_size];
|
| + unsigned int decompressed_size = compressed_data[i].raw_size;
|
| + int result =
|
| + BZ2_bzBuffToBuffDecompress(decompressed,
|
| + &decompressed_size,
|
| + const_cast<char*>(compressed_data[i].data),
|
| + compressed_data[i].compressed_size,
|
| + 0, 1);
|
| + if (result != BZ_OK) {
|
| + fprintf(stderr, "bzip error code: %d\n", result);
|
| + exit(1);
|
| + }
|
| + compressed_data[i].data = decompressed;
|
| + compressed_data[i].raw_size = decompressed_size;
|
| + }
|
| + v8::V8::SetDecompressedStartupData(compressed_data);
|
| +#endif // COMPRESS_STARTUP_DATA_BZ2
|
| +
|
| v8::V8::SetFlagsFromCommandLine(&argc, argv, true);
|
| int result = 0;
|
| if (FLAG_stress_opt || FLAG_stress_deopt) {
|
| @@ -319,6 +347,14 @@ int main(int argc, char* argv[]) {
|
| result = RunMain(argc, argv);
|
| }
|
| v8::V8::Dispose();
|
| +
|
| +#ifdef COMPRESS_STARTUP_DATA_BZ2
|
| + for (int i = 0; i < compressed_data_count; ++i) {
|
| + delete[] compressed_data[i].data;
|
| + }
|
| + delete[] compressed_data;
|
| +#endif // COMPRESS_STARTUP_DATA_BZ2
|
| +
|
| return result;
|
| }
|
|
|
|
|