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

Unified Diff: src/serialize.cc

Issue 441983002: Check that external references are registered in the serializer. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: remove bogus assertions Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: src/serialize.cc
diff --git a/src/serialize.cc b/src/serialize.cc
index 5a54543910883b3aee59865838fb4d3fe2b1e0e5..e3c0294cd22922bab234a731b4f0c1c631918cc5 100644
--- a/src/serialize.cc
+++ b/src/serialize.cc
@@ -398,10 +398,6 @@ void ExternalReferenceTable::PopulateTable(Isolate* isolate) {
UNCLASSIFIED,
38,
"isolate");
- Add(ExternalReference::address_of_minus_zero().address(),
- UNCLASSIFIED,
- 39,
- "LDoubleConstant::minus_zero");
Add(ExternalReference::address_of_negative_infinity().address(),
UNCLASSIFIED,
40,
@@ -527,6 +523,31 @@ void ExternalReferenceTable::PopulateTable(Isolate* isolate) {
67,
"Debug::restarter_frame_function_pointer_address()");
+ Add(ExternalReference::flush_icache_function(isolate).address(), UNCLASSIFIED,
+ 68, "CpuFeatures::FlushICache");
+
+ Add(ExternalReference::log_enter_external_function(isolate).address(),
+ UNCLASSIFIED, 69, "Logger::EnterExternal");
+
+ Add(ExternalReference::log_leave_external_function(isolate).address(),
+ UNCLASSIFIED, 70, "Logger::LeaveExternal");
+
+ Add(ExternalReference::address_of_minus_one_half().address(), UNCLASSIFIED,
+ 71, "double_constants.minus_one_half");
+
+ Add(ExternalReference::stress_deopt_count(isolate).address(), UNCLASSIFIED,
+ 72, "Isolate::stress_deopt_count_address()");
+
+ Add(ExternalReference::debug_is_active_address(isolate).address(),
+ UNCLASSIFIED, 73, "Debug::is_active_address()");
+
+ Add(ExternalReference::incremental_marking_record_write_function(isolate)
+ .address(),
+ UNCLASSIFIED, 74, "IncrementalMarking::RecordWriteFromCode");
+
+ Add(ExternalReference::math_log_double_function(isolate).address(),
+ UNCLASSIFIED, 75, "std::log");
+
// Add a small set of deopt entry addresses to encoder without generating the
// deopt table code, which isn't possible at deserialization time.
HandleScope scope(isolate);
@@ -538,6 +559,12 @@ void ExternalReferenceTable::PopulateTable(Isolate* isolate) {
Deoptimizer::CALCULATE_ENTRY_ADDRESS);
Add(address, LAZY_DEOPTIMIZATION, entry, "lazy_deopt");
}
+
+#ifdef DEBUG
+ // Make sure that we do not have duplicate codes.
+ refs_.Sort(&Compare);
+ for (int i = 0; i < refs_.length() - 1; i++) CHECK(code(i) != code(i + 1));
Jakob Kummerow 2014/08/05 13:12:07 With a little reordering of the TypeCode enum, you
+#endif // DEBUG
}
« no previous file with comments | « src/serialize.h ('k') | src/x64/codegen-x64.cc » ('j') | tools/external-reference-check.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698