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

Side by Side Diff: src/assembler.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: 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 | « src/assembler.h ('k') | src/ia32/codegen-ia32.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 (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 namespace v8 { 98 namespace v8 {
99 namespace internal { 99 namespace internal {
100 100
101 // ----------------------------------------------------------------------------- 101 // -----------------------------------------------------------------------------
102 // Common double constants. 102 // Common double constants.
103 103
104 struct DoubleConstant BASE_EMBEDDED { 104 struct DoubleConstant BASE_EMBEDDED {
105 double min_int; 105 double min_int;
106 double one_half; 106 double one_half;
107 double minus_one_half; 107 double minus_one_half;
108 double minus_zero;
109 double zero;
110 double uint8_max_value;
111 double negative_infinity; 108 double negative_infinity;
112 double canonical_non_hole_nan; 109 double canonical_non_hole_nan;
113 double the_hole_nan; 110 double the_hole_nan;
114 double uint32_bias; 111 double uint32_bias;
115 }; 112 };
116 113
117 static DoubleConstant double_constants; 114 static DoubleConstant double_constants;
118 115
119 const char* const RelocInfo::kFillerCommentString = "DEOPTIMIZATION PADDING"; 116 const char* const RelocInfo::kFillerCommentString = "DEOPTIMIZATION PADDING";
120 117
(...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after
898 #endif // VERIFY_HEAP 895 #endif // VERIFY_HEAP
899 896
900 897
901 // ----------------------------------------------------------------------------- 898 // -----------------------------------------------------------------------------
902 // Implementation of ExternalReference 899 // Implementation of ExternalReference
903 900
904 void ExternalReference::SetUp() { 901 void ExternalReference::SetUp() {
905 double_constants.min_int = kMinInt; 902 double_constants.min_int = kMinInt;
906 double_constants.one_half = 0.5; 903 double_constants.one_half = 0.5;
907 double_constants.minus_one_half = -0.5; 904 double_constants.minus_one_half = -0.5;
908 double_constants.minus_zero = -0.0;
909 double_constants.uint8_max_value = 255;
910 double_constants.zero = 0.0;
911 double_constants.canonical_non_hole_nan = base::OS::nan_value(); 905 double_constants.canonical_non_hole_nan = base::OS::nan_value();
912 double_constants.the_hole_nan = BitCast<double>(kHoleNanInt64); 906 double_constants.the_hole_nan = BitCast<double>(kHoleNanInt64);
913 double_constants.negative_infinity = -V8_INFINITY; 907 double_constants.negative_infinity = -V8_INFINITY;
914 double_constants.uint32_bias = 908 double_constants.uint32_bias =
915 static_cast<double>(static_cast<uint32_t>(0xFFFFFFFF)) + 1; 909 static_cast<double>(static_cast<uint32_t>(0xFFFFFFFF)) + 1;
916 910
917 math_exp_data_mutex = new base::Mutex(); 911 math_exp_data_mutex = new base::Mutex();
918 } 912 }
919 913
920 914
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
1158 isolate->heap()->NewSpaceMask())); 1152 isolate->heap()->NewSpaceMask()));
1159 } 1153 }
1160 1154
1161 1155
1162 ExternalReference ExternalReference::new_space_allocation_top_address( 1156 ExternalReference ExternalReference::new_space_allocation_top_address(
1163 Isolate* isolate) { 1157 Isolate* isolate) {
1164 return ExternalReference(isolate->heap()->NewSpaceAllocationTopAddress()); 1158 return ExternalReference(isolate->heap()->NewSpaceAllocationTopAddress());
1165 } 1159 }
1166 1160
1167 1161
1168 ExternalReference ExternalReference::heap_always_allocate_scope_depth(
1169 Isolate* isolate) {
1170 Heap* heap = isolate->heap();
1171 return ExternalReference(heap->always_allocate_scope_depth_address());
1172 }
1173
1174
1175 ExternalReference ExternalReference::new_space_allocation_limit_address( 1162 ExternalReference ExternalReference::new_space_allocation_limit_address(
1176 Isolate* isolate) { 1163 Isolate* isolate) {
1177 return ExternalReference(isolate->heap()->NewSpaceAllocationLimitAddress()); 1164 return ExternalReference(isolate->heap()->NewSpaceAllocationLimitAddress());
1178 } 1165 }
1179 1166
1180 1167
1181 ExternalReference ExternalReference::old_pointer_space_allocation_top_address( 1168 ExternalReference ExternalReference::old_pointer_space_allocation_top_address(
1182 Isolate* isolate) { 1169 Isolate* isolate) {
1183 return ExternalReference( 1170 return ExternalReference(
1184 isolate->heap()->OldPointerSpaceAllocationTopAddress()); 1171 isolate->heap()->OldPointerSpaceAllocationTopAddress());
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
1257 return ExternalReference(reinterpret_cast<void*>(&double_constants.one_half)); 1244 return ExternalReference(reinterpret_cast<void*>(&double_constants.one_half));
1258 } 1245 }
1259 1246
1260 1247
1261 ExternalReference ExternalReference::address_of_minus_one_half() { 1248 ExternalReference ExternalReference::address_of_minus_one_half() {
1262 return ExternalReference( 1249 return ExternalReference(
1263 reinterpret_cast<void*>(&double_constants.minus_one_half)); 1250 reinterpret_cast<void*>(&double_constants.minus_one_half));
1264 } 1251 }
1265 1252
1266 1253
1267 ExternalReference ExternalReference::address_of_minus_zero() {
1268 return ExternalReference(
1269 reinterpret_cast<void*>(&double_constants.minus_zero));
1270 }
1271
1272
1273 ExternalReference ExternalReference::address_of_zero() {
1274 return ExternalReference(reinterpret_cast<void*>(&double_constants.zero));
1275 }
1276
1277
1278 ExternalReference ExternalReference::address_of_uint8_max_value() {
1279 return ExternalReference(
1280 reinterpret_cast<void*>(&double_constants.uint8_max_value));
1281 }
1282
1283
1284 ExternalReference ExternalReference::address_of_negative_infinity() { 1254 ExternalReference ExternalReference::address_of_negative_infinity() {
1285 return ExternalReference( 1255 return ExternalReference(
1286 reinterpret_cast<void*>(&double_constants.negative_infinity)); 1256 reinterpret_cast<void*>(&double_constants.negative_infinity));
1287 } 1257 }
1288 1258
1289 1259
1290 ExternalReference ExternalReference::address_of_canonical_non_hole_nan() { 1260 ExternalReference ExternalReference::address_of_canonical_non_hole_nan() {
1291 return ExternalReference( 1261 return ExternalReference(
1292 reinterpret_cast<void*>(&double_constants.canonical_non_hole_nan)); 1262 reinterpret_cast<void*>(&double_constants.canonical_non_hole_nan));
1293 } 1263 }
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
1646 r2 = r2 - ad; 1616 r2 = r2 - ad;
1647 } 1617 }
1648 delta = ad - r2; 1618 delta = ad - r2;
1649 } while (q1 < delta || (q1 == delta && r1 == 0)); 1619 } while (q1 < delta || (q1 == delta && r1 == 0));
1650 int32_t mul = static_cast<int32_t>(q2 + 1); 1620 int32_t mul = static_cast<int32_t>(q2 + 1);
1651 multiplier_ = (d < 0) ? -mul : mul; 1621 multiplier_ = (d < 0) ? -mul : mul;
1652 shift_ = p - 32; 1622 shift_ = p - 32;
1653 } 1623 }
1654 1624
1655 } } // namespace v8::internal 1625 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/assembler.h ('k') | src/ia32/codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698