Revision f230a1cf deps/v8/src/assembler.cc
deps/v8/src/assembler.cc | ||
---|---|---|
98 | 98 |
double negative_infinity; |
99 | 99 |
double canonical_non_hole_nan; |
100 | 100 |
double the_hole_nan; |
101 |
double uint32_bias; |
|
101 | 102 |
}; |
102 | 103 |
|
103 | 104 |
static DoubleConstant double_constants; |
... | ... | |
207 | 208 |
|
208 | 209 |
|
209 | 210 |
// ----------------------------------------------------------------------------- |
211 |
// Implementation of PlatformFeatureScope |
|
212 |
|
|
213 |
PlatformFeatureScope::PlatformFeatureScope(CpuFeature f) |
|
214 |
: old_cross_compile_(CpuFeatures::cross_compile_) { |
|
215 |
// CpuFeatures is a global singleton, therefore this is only safe in |
|
216 |
// single threaded code. |
|
217 |
ASSERT(Serializer::enabled()); |
|
218 |
uint64_t mask = static_cast<uint64_t>(1) << f; |
|
219 |
CpuFeatures::cross_compile_ |= mask; |
|
220 |
} |
|
221 |
|
|
222 |
|
|
223 |
PlatformFeatureScope::~PlatformFeatureScope() { |
|
224 |
CpuFeatures::cross_compile_ = old_cross_compile_; |
|
225 |
} |
|
226 |
|
|
227 |
|
|
228 |
// ----------------------------------------------------------------------------- |
|
210 | 229 |
// Implementation of Label |
211 | 230 |
|
212 | 231 |
int Label::pos() const { |
... | ... | |
890 | 909 |
double_constants.canonical_non_hole_nan = OS::nan_value(); |
891 | 910 |
double_constants.the_hole_nan = BitCast<double>(kHoleNanInt64); |
892 | 911 |
double_constants.negative_infinity = -V8_INFINITY; |
912 |
double_constants.uint32_bias = |
|
913 |
static_cast<double>(static_cast<uint32_t>(0xFFFFFFFF)) + 1; |
|
893 | 914 |
|
894 | 915 |
math_exp_data_mutex = new Mutex(); |
895 | 916 |
} |
... | ... | |
1067 | 1088 |
} |
1068 | 1089 |
|
1069 | 1090 |
|
1091 |
ExternalReference ExternalReference::get_mark_code_as_executed_function( |
|
1092 |
Isolate* isolate) { |
|
1093 |
return ExternalReference(Redirect( |
|
1094 |
isolate, FUNCTION_ADDR(Code::MarkCodeAsExecuted))); |
|
1095 |
} |
|
1096 |
|
|
1097 |
|
|
1070 | 1098 |
ExternalReference ExternalReference::date_cache_stamp(Isolate* isolate) { |
1071 | 1099 |
return ExternalReference(isolate->date_cache()->stamp_address()); |
1072 | 1100 |
} |
... | ... | |
1315 | 1343 |
} |
1316 | 1344 |
|
1317 | 1345 |
|
1346 |
ExternalReference ExternalReference::record_object_allocation_function( |
|
1347 |
Isolate* isolate) { |
|
1348 |
return ExternalReference( |
|
1349 |
Redirect(isolate, |
|
1350 |
FUNCTION_ADDR(HeapProfiler::RecordObjectAllocationFromMasm))); |
|
1351 |
} |
|
1352 |
|
|
1353 |
|
|
1354 |
ExternalReference ExternalReference::address_of_uint32_bias() { |
|
1355 |
return ExternalReference( |
|
1356 |
reinterpret_cast<void*>(&double_constants.uint32_bias)); |
|
1357 |
} |
|
1358 |
|
|
1359 |
|
|
1318 | 1360 |
#ifndef V8_INTERPRETED_REGEXP |
1319 | 1361 |
|
1320 | 1362 |
ExternalReference ExternalReference::re_check_stack_guard_state( |
Also available in: Unified diff