| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index d9bb5b1f1c3dcd8adc558a426151ee2bb6482cc6..d6cd4bcfe136d53b94536dbe1e35806b606cb129 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -97,6 +97,7 @@ bool Object::BooleanValue() {
|
| if (IsUndetectableObject()) return false; // Undetectable object is false.
|
| if (IsString()) return String::cast(this)->length() != 0;
|
| if (IsHeapNumber()) return HeapNumber::cast(this)->HeapNumberBooleanValue();
|
| + if (IsFloat32x4()) return true; // Simd value types always evaluate to true.
|
| return true;
|
| }
|
|
|
| @@ -1400,6 +1401,12 @@ void HeapObject::HeapObjectShortPrint(std::ostream& os) { // NOLINT
|
| os << '>';
|
| break;
|
| }
|
| + case FLOAT32X4_TYPE: {
|
| + os << "<Float32x4: ";
|
| + Float32x4::cast(this)->Float32x4Print(os);
|
| + os << ">";
|
| + break;
|
| + }
|
| case JS_PROXY_TYPE:
|
| os << "<JSProxy>";
|
| break;
|
| @@ -1543,6 +1550,7 @@ void HeapObject::IterateBody(InstanceType type, int object_size,
|
|
|
| case HEAP_NUMBER_TYPE:
|
| case MUTABLE_HEAP_NUMBER_TYPE:
|
| + case FLOAT32X4_TYPE:
|
| case FILLER_TYPE:
|
| case BYTE_ARRAY_TYPE:
|
| case FREE_SPACE_TYPE:
|
| @@ -1588,6 +1596,12 @@ void HeapNumber::HeapNumberPrint(std::ostream& os) { // NOLINT
|
| }
|
|
|
|
|
| +void Float32x4::Float32x4Print(std::ostream& os) { // NOLINT
|
| + os << get_lane(0) << ", " << get_lane(1) << ", " << get_lane(2) << ", "
|
| + << get_lane(3);
|
| +}
|
| +
|
| +
|
| String* JSReceiver::class_name() {
|
| if (IsJSFunction() || IsJSFunctionProxy()) {
|
| return GetHeap()->Function_string();
|
|
|