HeapNumber::cast(this)->HeapNumberPrint(os);
os << ">";
break;
- case FLOAT32x4_TYPE:
- os << "<Float32x4: ";
- Float32x4::cast(this)->Float32x4Print(os);
- os << '>';
- break;
- case FLOAT64x2_TYPE:
- os << "<Float64x2: ";
- Float64x2::cast(this)->Float64x2Print(os);
- os << '>';
- break;
- case INT32x4_TYPE:
- os << "<Int32x4: ";
- Int32x4::cast(this)->Int32x4Print(os);
- os << '>';
- break;
case FIXED_DOUBLE_ARRAY_TYPE:
FixedDoubleArray::cast(this)->FixedDoubleArrayPrint(os);
break;
os << Brief(descs->GetCallbacksObject(i)) << " (callback)\n";
break;
case NORMAL: // only in slow mode
- case HANDLER: // only in lookup results, not in descriptors
- case INTERCEPTOR: // only in lookup results, not in descriptors
- // There are no transitions in the descriptor array.
- case NONEXISTENT:
UNREACHABLE();
break;
}
}
-template<class T>
-static void DoPrintFloat32x4Elements(OStream& os, Object* object) {
- T* p = T::cast(object);
- for (int i = 0; i < p->length(); i++) {
- float32x4_value_t value = p->get_scalar(i);
- os << " " << i << ": (" << value.storage[0] << ", "
- << value.storage[1] << ", " << value.storage[2] << ", "
- << value.storage[3] << ")\n";
- }
-}
-
-
-template<class T>
-static void DoPrintFloat64x2Elements(OStream& os, Object* object) {
- T* p = T::cast(object);
- for (int i = 0; i < p->length(); i++) {
- float64x2_value_t value = p->get_scalar(i);
- os << " " << i << ": (" << value.storage[0] << ", "
- << value.storage[1] << ")\n";
- }
-}
-
-
-template<class T>
-static void DoPrintInt32x4Elements(OStream& os, Object* object) {
- T* p = T::cast(object);
- for (int i = 0; i < p->length(); i++) {
- int32x4_value_t value = p->get_scalar(i);
- os << " " << i << ": (" << value.storage[0] << ", "
- << value.storage[1] << ", " << value.storage[2] << ", "
- << value.storage[3] << ")\n";
- }
-}
-
-
void JSObject::PrintElements(OStream& os) { // NOLINT
// Don't call GetElementsKind, its validation code can cause the printer to
// fail when debugging.
break; \
}
-#define PRINT_FLOAT32x4_ELEMENTS(Kind, Type) \
- case Kind: { \
- DoPrintFloat32x4Elements<Type>(os, elements()); \
- break; \
- }
-
-#define PRINT_FLOAT64x2_ELEMENTS(Kind, Type) \
- case Kind: { \
- DoPrintFloat64x2Elements<Type>(os, elements()); \
- break; \
- }
-
-#define PRINT_INT32x4_ELEMENTS(Kind, Type) \
- case Kind: { \
- DoPrintInt32x4Elements<Type>(os, elements()); \
- break; \
- }
-
PRINT_ELEMENTS(EXTERNAL_UINT8_CLAMPED_ELEMENTS, ExternalUint8ClampedArray)
PRINT_ELEMENTS(EXTERNAL_INT8_ELEMENTS, ExternalInt8Array)
PRINT_ELEMENTS(EXTERNAL_UINT8_ELEMENTS,
ExternalUint32Array)
PRINT_ELEMENTS(EXTERNAL_FLOAT32_ELEMENTS, ExternalFloat32Array)
PRINT_ELEMENTS(EXTERNAL_FLOAT64_ELEMENTS, ExternalFloat64Array)
- PRINT_FLOAT32x4_ELEMENTS(EXTERNAL_FLOAT32x4_ELEMENTS,
- ExternalFloat32x4Array)
- PRINT_FLOAT64x2_ELEMENTS(EXTERNAL_FLOAT64x2_ELEMENTS,
- ExternalFloat64x2Array)
- PRINT_INT32x4_ELEMENTS(EXTERNAL_INT32x4_ELEMENTS, ExternalInt32x4Array)
PRINT_ELEMENTS(UINT8_ELEMENTS, FixedUint8Array)
PRINT_ELEMENTS(UINT8_CLAMPED_ELEMENTS, FixedUint8ClampedArray)
PRINT_ELEMENTS(INT32_ELEMENTS, FixedInt32Array)
PRINT_ELEMENTS(FLOAT32_ELEMENTS, FixedFloat32Array)
PRINT_ELEMENTS(FLOAT64_ELEMENTS, FixedFloat64Array)
- PRINT_FLOAT32x4_ELEMENTS(FLOAT32x4_ELEMENTS, FixedFloat32x4Array)
- PRINT_FLOAT64x2_ELEMENTS(FLOAT64x2_ELEMENTS, FixedFloat64x2Array)
- PRINT_INT32x4_ELEMENTS(INT32x4_ELEMENTS, FixedInt32x4Array)
#undef PRINT_ELEMENTS
break;
// Values below are never in the target descriptor array.
case NORMAL:
- case HANDLER:
- case INTERCEPTOR:
- case NONEXISTENT:
UNREACHABLE();
break;
}
HeapObject::PrintHeader(os, "Symbol");
os << " - hash: " << Hash();
os << "\n - name: " << Brief(name());
- os << " - private: " << is_private();
+ os << "\n - private: " << is_private();
+ os << "\n - own: " << is_own();
os << "\n";
}
// This method is only meant to be called from gdb for debugging purposes.
-// Since the string can also be in two-byte encoding, non-ASCII characters
+// Since the string can also be in two-byte encoding, non-Latin1 characters
// will be ignored in the output.
char* String::ToAsciiArray() {
// Static so that subsequent calls frees previously allocated space.
void JSTypedArray::JSTypedArrayPrint(OStream& os) { // NOLINT
HeapObject::PrintHeader(os, "JSTypedArray");
os << " - map = " << reinterpret_cast<void*>(map()) << "\n";
- os << " - buffer =" << Brief(buffer());
+ os << " - buffer = " << Brief(buffer());
os << "\n - byte_offset = " << Brief(byte_offset());
os << "\n - byte_length = " << Brief(byte_length());
os << "\n - length = " << Brief(length());
break;
// Values below are never in the target descriptor array.
case NORMAL:
- case HANDLER:
- case INTERCEPTOR:
- case NONEXISTENT:
UNREACHABLE();
break;
}