| Index: src/objects-printer.cc
 | 
| diff --git a/src/objects-printer.cc b/src/objects-printer.cc
 | 
| index 3a5bb806a21894b60e3c0d7a01ceff2505af2223..799561eb8b38b1d26756302fc2b95f560685cced 100644
 | 
| --- a/src/objects-printer.cc
 | 
| +++ b/src/objects-printer.cc
 | 
| @@ -210,62 +210,34 @@ void Float32x4::Float32x4Print(std::ostream& os) {  // NOLINT
 | 
|  }
 | 
|  
 | 
|  
 | 
| -void Int32x4::Int32x4Print(std::ostream& os) {  // NOLINT
 | 
| -  char arr[100];
 | 
| -  Vector<char> buffer(arr, arraysize(arr));
 | 
| -  os << std::string(IntToCString(get_lane(0), buffer)) << ", "
 | 
| -     << std::string(IntToCString(get_lane(1), buffer)) << ", "
 | 
| -     << std::string(IntToCString(get_lane(2), buffer)) << ", "
 | 
| -     << std::string(IntToCString(get_lane(3), buffer));
 | 
| -}
 | 
| -
 | 
| -
 | 
| -void Bool32x4::Bool32x4Print(std::ostream& os) {  // NOLINT
 | 
| -  os << std::string(get_lane(0) ? "true" : "false") << ", "
 | 
| -     << std::string(get_lane(1) ? "true" : "false") << ", "
 | 
| -     << std::string(get_lane(2) ? "true" : "false") << ", "
 | 
| -     << std::string(get_lane(3) ? "true" : "false");
 | 
| -}
 | 
| -
 | 
| -
 | 
| -void Int16x8::Int16x8Print(std::ostream& os) {  // NOLINT
 | 
| -  char arr[100];
 | 
| -  Vector<char> buffer(arr, arraysize(arr));
 | 
| -  os << std::string(IntToCString(get_lane(0), buffer));
 | 
| -  for (int i = 1; i < 8; i++) {
 | 
| -    os << ", " << std::string(IntToCString(get_lane(i), buffer));
 | 
| -  }
 | 
| -}
 | 
| -
 | 
| -
 | 
| -void Bool16x8::Bool16x8Print(std::ostream& os) {  // NOLINT
 | 
| -  char arr[100];
 | 
| -  Vector<char> buffer(arr, arraysize(arr));
 | 
| -  os << std::string(get_lane(0) ? "true" : "false");
 | 
| -  for (int i = 1; i < 8; i++) {
 | 
| -    os << ", " << std::string(get_lane(i) ? "true" : "false");
 | 
| -  }
 | 
| -}
 | 
| -
 | 
| -
 | 
| -void Int8x16::Int8x16Print(std::ostream& os) {  // NOLINT
 | 
| -  char arr[100];
 | 
| -  Vector<char> buffer(arr, arraysize(arr));
 | 
| -  os << std::string(IntToCString(get_lane(0), buffer));
 | 
| -  for (int i = 1; i < 16; i++) {
 | 
| -    os << ", " << std::string(IntToCString(get_lane(i), buffer));
 | 
| +#define SIMD128_INT_PRINT_FUNCTION(type, lane_count)                \
 | 
| +  void type::type##Print(std::ostream& os) {                        \
 | 
| +    char arr[100];                                                  \
 | 
| +    Vector<char> buffer(arr, arraysize(arr));                       \
 | 
| +    os << std::string(IntToCString(get_lane(0), buffer));           \
 | 
| +    for (int i = 1; i < lane_count; i++) {                          \
 | 
| +      os << ", " << std::string(IntToCString(get_lane(i), buffer)); \
 | 
| +    }                                                               \
 | 
|    }
 | 
| -}
 | 
| -
 | 
| -
 | 
| -void Bool8x16::Bool8x16Print(std::ostream& os) {  // NOLINT
 | 
| -  char arr[100];
 | 
| -  Vector<char> buffer(arr, arraysize(arr));
 | 
| -  os << std::string(get_lane(0) ? "true" : "false");
 | 
| -  for (int i = 1; i < 16; i++) {
 | 
| -    os << ", " << std::string(get_lane(i) ? "true" : "false");
 | 
| +SIMD128_INT_PRINT_FUNCTION(Int32x4, 4)
 | 
| +SIMD128_INT_PRINT_FUNCTION(Int16x8, 8)
 | 
| +SIMD128_INT_PRINT_FUNCTION(Int8x16, 16)
 | 
| +#undef SIMD128_INT_PRINT_FUNCTION
 | 
| +
 | 
| +
 | 
| +#define SIMD128_BOOL_PRINT_FUNCTION(type, lane_count)            \
 | 
| +  void type::type##Print(std::ostream& os) {                     \
 | 
| +    char arr[100];                                               \
 | 
| +    Vector<char> buffer(arr, arraysize(arr));                    \
 | 
| +    os << std::string(get_lane(0) ? "true" : "false");           \
 | 
| +    for (int i = 1; i < lane_count; i++) {                       \
 | 
| +      os << ", " << std::string(get_lane(i) ? "true" : "false"); \
 | 
| +    }                                                            \
 | 
|    }
 | 
| -}
 | 
| +SIMD128_BOOL_PRINT_FUNCTION(Bool32x4, 4)
 | 
| +SIMD128_BOOL_PRINT_FUNCTION(Bool16x8, 8)
 | 
| +SIMD128_BOOL_PRINT_FUNCTION(Bool8x16, 16)
 | 
| +#undef SIMD128_BOOL_PRINT_FUNCTION
 | 
|  
 | 
|  
 | 
|  void ByteArray::ByteArrayPrint(std::ostream& os) {  // NOLINT
 | 
| 
 |