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

Side by Side Diff: src/isolate.h

Issue 804603006: Regularly check hash set addresses to verify memory integrity. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 11 months 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/heap/store-buffer.cc ('k') | src/isolate.cc » ('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 #ifndef V8_ISOLATE_H_ 5 #ifndef V8_ISOLATE_H_
6 #define V8_ISOLATE_H_ 6 #define V8_ISOLATE_H_
7 7
8 #include <queue> 8 #include <queue>
9 #include "include/v8-debug.h" 9 #include "include/v8-debug.h"
10 #include "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 1100 matching lines...) Expand 10 before | Expand all | Expand 10 after
1111 BasicBlockProfiler* basic_block_profiler() { return basic_block_profiler_; } 1111 BasicBlockProfiler* basic_block_profiler() { return basic_block_profiler_; }
1112 1112
1113 static Isolate* NewForTesting() { return new Isolate(false); } 1113 static Isolate* NewForTesting() { return new Isolate(false); }
1114 1114
1115 std::string GetTurboCfgFileName(); 1115 std::string GetTurboCfgFileName();
1116 1116
1117 #if TRACE_MAPS 1117 #if TRACE_MAPS
1118 int GetNextUniqueSharedFunctionInfoId() { return next_unique_sfi_id_++; } 1118 int GetNextUniqueSharedFunctionInfoId() { return next_unique_sfi_id_++; }
1119 #endif 1119 #endif
1120 1120
1121 void set_store_buffer_hash_set_1_address(
1122 uintptr_t* store_buffer_hash_set_1_address) {
1123 store_buffer_hash_set_1_address_ = store_buffer_hash_set_1_address;
1124 }
1125
1126 uintptr_t* store_buffer_hash_set_1_address() {
1127 return store_buffer_hash_set_1_address_;
1128 }
1129
1130 void set_store_buffer_hash_set_2_address(
1131 uintptr_t* store_buffer_hash_set_2_address) {
1132 store_buffer_hash_set_2_address_ = store_buffer_hash_set_2_address;
1133 }
1134
1135 uintptr_t* store_buffer_hash_set_2_address() {
1136 return store_buffer_hash_set_2_address_;
1137 }
1138
1121 private: 1139 private:
1122 explicit Isolate(bool enable_serializer); 1140 explicit Isolate(bool enable_serializer);
1123 1141
1124 friend struct GlobalState; 1142 friend struct GlobalState;
1125 friend struct InitializeGlobalState; 1143 friend struct InitializeGlobalState;
1126 1144
1127 // These fields are accessed through the API, offsets must be kept in sync 1145 // These fields are accessed through the API, offsets must be kept in sync
1128 // with v8::internal::Internals (in include/v8.h) constants. This is also 1146 // with v8::internal::Internals (in include/v8.h) constants. This is also
1129 // verified in Isolate::Init() using runtime checks. 1147 // verified in Isolate::Init() using runtime checks.
1130 void* embedder_data_[Internals::kNumIsolateDataSlots]; 1148 void* embedder_data_[Internals::kNumIsolateDataSlots];
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
1263 StringTracker* string_tracker_; 1281 StringTracker* string_tracker_;
1264 unibrow::Mapping<unibrow::Ecma262UnCanonicalize> jsregexp_uncanonicalize_; 1282 unibrow::Mapping<unibrow::Ecma262UnCanonicalize> jsregexp_uncanonicalize_;
1265 unibrow::Mapping<unibrow::CanonicalizationRange> jsregexp_canonrange_; 1283 unibrow::Mapping<unibrow::CanonicalizationRange> jsregexp_canonrange_;
1266 unibrow::Mapping<unibrow::Ecma262Canonicalize> 1284 unibrow::Mapping<unibrow::Ecma262Canonicalize>
1267 regexp_macro_assembler_canonicalize_; 1285 regexp_macro_assembler_canonicalize_;
1268 RegExpStack* regexp_stack_; 1286 RegExpStack* regexp_stack_;
1269 DateCache* date_cache_; 1287 DateCache* date_cache_;
1270 unibrow::Mapping<unibrow::Ecma262Canonicalize> interp_canonicalize_mapping_; 1288 unibrow::Mapping<unibrow::Ecma262Canonicalize> interp_canonicalize_mapping_;
1271 CallInterfaceDescriptorData* call_descriptor_data_; 1289 CallInterfaceDescriptorData* call_descriptor_data_;
1272 base::RandomNumberGenerator* random_number_generator_; 1290 base::RandomNumberGenerator* random_number_generator_;
1291 // TODO(hpayer): Remove the following store buffer addresses.
1292 uintptr_t* store_buffer_hash_set_1_address_;
1293 uintptr_t* store_buffer_hash_set_2_address_;
1273 1294
1274 // Whether the isolate has been created for snapshotting. 1295 // Whether the isolate has been created for snapshotting.
1275 bool serializer_enabled_; 1296 bool serializer_enabled_;
1276 1297
1277 // True if fatal error has been signaled for this isolate. 1298 // True if fatal error has been signaled for this isolate.
1278 bool has_fatal_error_; 1299 bool has_fatal_error_;
1279 1300
1280 // True if this isolate was initialized from a snapshot. 1301 // True if this isolate was initialized from a snapshot.
1281 bool initialized_from_snapshot_; 1302 bool initialized_from_snapshot_;
1282 1303
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
1557 } 1578 }
1558 1579
1559 EmbeddedVector<char, 128> filename_; 1580 EmbeddedVector<char, 128> filename_;
1560 FILE* file_; 1581 FILE* file_;
1561 int scope_depth_; 1582 int scope_depth_;
1562 }; 1583 };
1563 1584
1564 } } // namespace v8::internal 1585 } } // namespace v8::internal
1565 1586
1566 #endif // V8_ISOLATE_H_ 1587 #endif // V8_ISOLATE_H_
OLDNEW
« no previous file with comments | « src/heap/store-buffer.cc ('k') | src/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698