Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(672)

Side by Side Diff: src/d8.cc

Issue 750543002: Rip out bzip compression for native sources. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: compressed_size Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/api.cc ('k') | src/d8.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 5
6 // Defined when linking against shared lib on Windows. 6 // Defined when linking against shared lib on Windows.
7 #if defined(USING_V8_SHARED) && !defined(V8_SHARED) 7 #if defined(USING_V8_SHARED) && !defined(V8_SHARED)
8 #define V8_SHARED 8 #define V8_SHARED
9 #endif 9 #endif
10 10
11 #ifdef COMPRESS_STARTUP_DATA_BZ2
12 #include <bzlib.h>
13 #endif
14
15 #include <errno.h> 11 #include <errno.h>
16 #include <stdlib.h> 12 #include <stdlib.h>
17 #include <string.h> 13 #include <string.h>
18 #include <sys/stat.h> 14 #include <sys/stat.h>
19 15
20 #ifdef V8_SHARED 16 #ifdef V8_SHARED
21 #include <assert.h> 17 #include <assert.h>
22 #endif // V8_SHARED 18 #endif // V8_SHARED
23 19
24 #ifndef V8_SHARED 20 #ifndef V8_SHARED
(...skipping 851 matching lines...) Expand 10 before | Expand all | Expand 10 after
876 : i::Handle<i::Script>(i::Script::cast( 872 : i::Handle<i::Script>(i::Script::cast(
877 i::SharedFunctionInfo::cast(*compiled_script)->script())); 873 i::SharedFunctionInfo::cast(*compiled_script)->script()));
878 script_object->set_type(i::Smi::FromInt(i::Script::TYPE_NATIVE)); 874 script_object->set_type(i::Smi::FromInt(i::Script::TYPE_NATIVE));
879 875
880 // Start the in-process debugger if requested. 876 // Start the in-process debugger if requested.
881 if (i::FLAG_debugger) v8::Debug::SetDebugEventListener(HandleDebugEvent); 877 if (i::FLAG_debugger) v8::Debug::SetDebugEventListener(HandleDebugEvent);
882 } 878 }
883 #endif // !V8_SHARED 879 #endif // !V8_SHARED
884 880
885 881
886 #ifdef COMPRESS_STARTUP_DATA_BZ2
887 class BZip2Decompressor : public v8::StartupDataDecompressor {
888 public:
889 virtual ~BZip2Decompressor() { }
890
891 protected:
892 virtual int DecompressData(char* raw_data,
893 int* raw_data_size,
894 const char* compressed_data,
895 int compressed_data_size) {
896 DCHECK_EQ(v8::StartupData::kBZip2,
897 v8::V8::GetCompressedStartupDataAlgorithm());
898 unsigned int decompressed_size = *raw_data_size;
899 int result =
900 BZ2_bzBuffToBuffDecompress(raw_data,
901 &decompressed_size,
902 const_cast<char*>(compressed_data),
903 compressed_data_size,
904 0, 1);
905 if (result == BZ_OK) {
906 *raw_data_size = decompressed_size;
907 }
908 return result;
909 }
910 };
911 #endif
912
913
914 Handle<ObjectTemplate> Shell::CreateGlobalTemplate(Isolate* isolate) { 882 Handle<ObjectTemplate> Shell::CreateGlobalTemplate(Isolate* isolate) {
915 Handle<ObjectTemplate> global_template = ObjectTemplate::New(isolate); 883 Handle<ObjectTemplate> global_template = ObjectTemplate::New(isolate);
916 global_template->Set(String::NewFromUtf8(isolate, "print"), 884 global_template->Set(String::NewFromUtf8(isolate, "print"),
917 FunctionTemplate::New(isolate, Print)); 885 FunctionTemplate::New(isolate, Print));
918 global_template->Set(String::NewFromUtf8(isolate, "write"), 886 global_template->Set(String::NewFromUtf8(isolate, "write"),
919 FunctionTemplate::New(isolate, Write)); 887 FunctionTemplate::New(isolate, Write));
920 global_template->Set(String::NewFromUtf8(isolate, "read"), 888 global_template->Set(String::NewFromUtf8(isolate, "read"),
921 FunctionTemplate::New(isolate, Read)); 889 FunctionTemplate::New(isolate, Read));
922 global_template->Set(String::NewFromUtf8(isolate, "readbuffer"), 890 global_template->Set(String::NewFromUtf8(isolate, "readbuffer"),
923 FunctionTemplate::New(isolate, ReadBuffer)); 891 FunctionTemplate::New(isolate, ReadBuffer));
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
960 928
961 Handle<ObjectTemplate> os_templ = ObjectTemplate::New(isolate); 929 Handle<ObjectTemplate> os_templ = ObjectTemplate::New(isolate);
962 AddOSMethods(isolate, os_templ); 930 AddOSMethods(isolate, os_templ);
963 global_template->Set(String::NewFromUtf8(isolate, "os"), os_templ); 931 global_template->Set(String::NewFromUtf8(isolate, "os"), os_templ);
964 932
965 return global_template; 933 return global_template;
966 } 934 }
967 935
968 936
969 void Shell::Initialize(Isolate* isolate) { 937 void Shell::Initialize(Isolate* isolate) {
970 #ifdef COMPRESS_STARTUP_DATA_BZ2
971 BZip2Decompressor startup_data_decompressor;
972 int bz2_result = startup_data_decompressor.Decompress();
973 if (bz2_result != BZ_OK) {
974 fprintf(stderr, "bzip error code: %d\n", bz2_result);
975 Exit(1);
976 }
977 #endif
978
979 #ifndef V8_SHARED 938 #ifndef V8_SHARED
980 Shell::counter_map_ = new CounterMap(); 939 Shell::counter_map_ = new CounterMap();
981 // Set up counters 940 // Set up counters
982 if (i::StrLength(i::FLAG_map_counters) != 0) 941 if (i::StrLength(i::FLAG_map_counters) != 0)
983 MapCounters(isolate, i::FLAG_map_counters); 942 MapCounters(isolate, i::FLAG_map_counters);
984 if (i::FLAG_dump_counters || i::FLAG_track_gc_object_stats) { 943 if (i::FLAG_dump_counters || i::FLAG_track_gc_object_stats) {
985 isolate->SetCounterFunction(LookupCounter); 944 isolate->SetCounterFunction(LookupCounter);
986 isolate->SetCreateHistogramFunction(CreateHistogram); 945 isolate->SetCreateHistogramFunction(CreateHistogram);
987 isolate->SetAddHistogramSampleFunction(AddHistogramSample); 946 isolate->SetAddHistogramSampleFunction(AddHistogramSample);
988 } 947 }
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after
1765 } 1724 }
1766 1725
1767 } // namespace v8 1726 } // namespace v8
1768 1727
1769 1728
1770 #ifndef GOOGLE3 1729 #ifndef GOOGLE3
1771 int main(int argc, char* argv[]) { 1730 int main(int argc, char* argv[]) {
1772 return v8::Shell::Main(argc, argv); 1731 return v8::Shell::Main(argc, argv);
1773 } 1732 }
1774 #endif 1733 #endif
OLDNEW
« no previous file with comments | « src/api.cc ('k') | src/d8.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698