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

Side by Side Diff: src/serialize.cc

Issue 430213004: Register all ExternalReferences in serializer code. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | 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 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/accessors.h" 7 #include "src/accessors.h"
8 #include "src/api.h" 8 #include "src/api.h"
9 #include "src/base/platform/platform.h" 9 #include "src/base/platform/platform.h"
10 #include "src/bootstrapper.h" 10 #include "src/bootstrapper.h"
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 UNCLASSIFIED, 520 UNCLASSIFIED,
521 66, 521 66,
522 "Debug::after_break_target_address()"); 522 "Debug::after_break_target_address()");
523 523
524 Add(ExternalReference::debug_restarter_frame_function_pointer_address( 524 Add(ExternalReference::debug_restarter_frame_function_pointer_address(
525 isolate).address(), 525 isolate).address(),
526 UNCLASSIFIED, 526 UNCLASSIFIED,
527 67, 527 67,
528 "Debug::restarter_frame_function_pointer_address()"); 528 "Debug::restarter_frame_function_pointer_address()");
529 529
530 Add(ExternalReference::flush_icache_function(isolate).address(),
Slava Chigrin 2014/07/31 16:28:44 Comment in the start of this function says that "T
Yang 2014/08/05 11:02:43 Acknowledged.
531 UNCLASSIFIED,
532 68,
533 "Isolate::flush_icache_function");
534 Add(ExternalReference::log_enter_external_function(isolate).address(),
535 UNCLASSIFIED,
536 69,
537 "Isolate::log_enter_external_function");
538 Add(ExternalReference::log_leave_external_function(isolate).address(),
539 UNCLASSIFIED,
540 70,
541 "Isolate::log_leave_external_function");
542 Add(ExternalReference::address_of_minus_one_half().address(),
543 UNCLASSIFIED,
544 71,
545 "Isolate::address_of_minus_one_half");
546 Add(ExternalReference::address_of_zero().address(),
Slava Chigrin 2014/07/31 16:28:44 Seems address_of_zero(), address_of_uint8_max_valu
Yang 2014/08/05 11:02:43 Removing them entirely makes more sense. This also
547 UNCLASSIFIED,
548 72,
549 "Isolate::address_of_zero");
550 Add(ExternalReference::address_of_uint8_max_value().address(),
551 UNCLASSIFIED,
552 73,
553 "Isolate::address_of_uint8_max_value");
554 Add(ExternalReference::math_log_double_function(isolate).address(),
555 UNCLASSIFIED,
556 74,
557 "Isolate::math_log_double_function");
558 Add(ExternalReference::math_exp_log_table().address(),
559 UNCLASSIFIED,
560 75,
561 "Isolate::math_exp_log_table");
562 Add(ExternalReference::stress_deopt_count(isolate).address(),
563 UNCLASSIFIED,
564 76,
565 "Isolate::stress_deopt_count");
566 Add(ExternalReference::debug_is_active_address(isolate).address(),
567 UNCLASSIFIED,
568 77,
569 "Isolate::debug_is_active_address");
570 Add(ExternalReference::heap_always_allocate_scope_depth(isolate).address(),
571 UNCLASSIFIED,
572 78,
573 "Isolate::heap_always_allocate_scope_depth");
574
Slava Chigrin 2014/07/31 16:28:44 There are also few external references generated i
Yang 2014/08/05 11:02:43 There is no need to include the math_exp_* referen
530 // Add a small set of deopt entry addresses to encoder without generating the 575 // Add a small set of deopt entry addresses to encoder without generating the
531 // deopt table code, which isn't possible at deserialization time. 576 // deopt table code, which isn't possible at deserialization time.
532 HandleScope scope(isolate); 577 HandleScope scope(isolate);
533 for (int entry = 0; entry < kDeoptTableSerializeEntryCount; ++entry) { 578 for (int entry = 0; entry < kDeoptTableSerializeEntryCount; ++entry) {
534 Address address = Deoptimizer::GetDeoptimizationEntry( 579 Address address = Deoptimizer::GetDeoptimizationEntry(
535 isolate, 580 isolate,
536 entry, 581 entry,
537 Deoptimizer::LAZY, 582 Deoptimizer::LAZY,
538 Deoptimizer::CALCULATE_ENTRY_ADDRESS); 583 Deoptimizer::CALCULATE_ENTRY_ADDRESS);
539 Add(address, LAZY_DEOPTIMIZATION, entry, "lazy_deopt"); 584 Add(address, LAZY_DEOPTIMIZATION, entry, "lazy_deopt");
(...skipping 1530 matching lines...) Expand 10 before | Expand all | Expand 10 after
2070 2115
2071 int SerializedCodeData::CheckSum(String* string) { 2116 int SerializedCodeData::CheckSum(String* string) {
2072 int checksum = Version::Hash(); 2117 int checksum = Version::Hash();
2073 #ifdef DEBUG 2118 #ifdef DEBUG
2074 uint32_t seed = static_cast<uint32_t>(checksum); 2119 uint32_t seed = static_cast<uint32_t>(checksum);
2075 checksum = static_cast<int>(IteratingStringHasher::Hash(string, seed)); 2120 checksum = static_cast<int>(IteratingStringHasher::Hash(string, seed));
2076 #endif // DEBUG 2121 #endif // DEBUG
2077 return checksum; 2122 return checksum;
2078 } 2123 }
2079 } } // namespace v8::internal 2124 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698