| Index: src/api.cc
|
| diff --git a/src/api.cc b/src/api.cc
|
| index 9aed956a4214e0238b3235a4635c4d6e04179f52..61cc5203e65531949270fbba813e1e819276a65a 100644
|
| --- a/src/api.cc
|
| +++ b/src/api.cc
|
| @@ -399,6 +399,9 @@ enum CompressedStartupDataItems {
|
| kSnapshotContext,
|
| kLibraries,
|
| kExperimentalLibraries,
|
| +#if defined(V8_I18N_SUPPORT)
|
| + kI18NExtension,
|
| +#endif
|
| kCompressedStartupDataCount
|
| };
|
|
|
| @@ -439,6 +442,17 @@ void V8::GetCompressedStartupData(StartupData* compressed_data) {
|
| exp_libraries_source.length();
|
| compressed_data[kExperimentalLibraries].raw_size =
|
| i::ExperimentalNatives::GetRawScriptsSize();
|
| +
|
| +#if defined(V8_I18N_SUPPORT)
|
| + i::Vector<const ii:byte> i18n_extension_source =
|
| + i::I18NNatives::GetScriptsSource();
|
| + compressed_data[kI18NExtension].data =
|
| + reinterpret_cast<const char*>(i18n_extension_source.start());
|
| + compressed_data[kI18NExtension].compressed_size =
|
| + i18n_extension_source.length();
|
| + compressed_data[kI18NExtension].raw_size =
|
| + i::I18NNatives::GetRawScriptsSize();
|
| +#endif
|
| #endif
|
| }
|
|
|
| @@ -468,6 +482,15 @@ void V8::SetDecompressedStartupData(StartupData* decompressed_data) {
|
| decompressed_data[kExperimentalLibraries].data,
|
| decompressed_data[kExperimentalLibraries].raw_size);
|
| i::ExperimentalNatives::SetRawScriptsSource(exp_libraries_source);
|
| +
|
| +#if defined(V8_I18N_SUPPORT)
|
| + ASSERT_EQ(i::I18NNatives::GetRawScriptsSize(),
|
| + decompressed_data[kI18NExtension].raw_size);
|
| + i::Vector<const char> i18n_extension_source(
|
| + decompressed_data[kI18NExtension].data,
|
| + decompressed_data[kI18NExtension].raw_size);
|
| + i::I18NNatives::SetRawScriptsSource(i18n_extension_source);
|
| +#endif
|
| #endif
|
| }
|
|
|
|
|