| Index: src/assembler.cc
|
| diff --git a/src/assembler.cc b/src/assembler.cc
|
| index 50c12203ca54021041390dab117ba88e4d72207c..9b1753e31ee0104cd8527a165be049263a770eee 100644
|
| --- a/src/assembler.cc
|
| +++ b/src/assembler.cc
|
| @@ -126,6 +126,32 @@ double uint32_bias;
|
|
|
| static DoubleConstant double_constants;
|
|
|
| +static struct V8_ALIGNED(16) {
|
| + uint32_t a;
|
| + uint32_t b;
|
| + uint32_t c;
|
| + uint32_t d;
|
| +} float_absolute_constant = {0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF};
|
| +
|
| +static struct V8_ALIGNED(16) {
|
| + uint32_t a;
|
| + uint32_t b;
|
| + uint32_t c;
|
| + uint32_t d;
|
| +} float_negate_constant = {0x80000000, 0x80000000, 0x80000000, 0x80000000};
|
| +
|
| +static struct V8_ALIGNED(16) {
|
| + uint64_t a;
|
| + uint64_t b;
|
| +} double_absolute_constant = {V8_UINT64_C(0x7FFFFFFFFFFFFFFF),
|
| + V8_UINT64_C(0x7FFFFFFFFFFFFFFF)};
|
| +
|
| +static struct V8_ALIGNED(16) {
|
| + uint64_t a;
|
| + uint64_t b;
|
| +} double_negate_constant = {V8_UINT64_C(0x8000000000000000),
|
| + V8_UINT64_C(0x8000000000000000)};
|
| +
|
| const char* const RelocInfo::kFillerCommentString = "DEOPTIMIZATION PADDING";
|
|
|
| // -----------------------------------------------------------------------------
|
| @@ -1312,6 +1338,26 @@ ExternalReference ExternalReference::address_of_uint32_bias() {
|
| }
|
|
|
|
|
| +ExternalReference ExternalReference::address_of_float_abs_constant() {
|
| + return ExternalReference(reinterpret_cast<void*>(&float_absolute_constant));
|
| +}
|
| +
|
| +
|
| +ExternalReference ExternalReference::address_of_float_neg_constant() {
|
| + return ExternalReference(reinterpret_cast<void*>(&float_negate_constant));
|
| +}
|
| +
|
| +
|
| +ExternalReference ExternalReference::address_of_double_abs_constant() {
|
| + return ExternalReference(reinterpret_cast<void*>(&double_absolute_constant));
|
| +}
|
| +
|
| +
|
| +ExternalReference ExternalReference::address_of_double_neg_constant() {
|
| + return ExternalReference(reinterpret_cast<void*>(&double_negate_constant));
|
| +}
|
| +
|
| +
|
| ExternalReference ExternalReference::is_profiling_address(Isolate* isolate) {
|
| return ExternalReference(isolate->is_profiling_address());
|
| }
|
|
|