Index: test/cctest/test-api.cc |
diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc |
index a8f340db2e4e89627fa1718cea71b7bf5ca73e88..7771422631b99872290d06be12f16fc19d5d8339 100644 |
--- a/test/cctest/test-api.cc |
+++ b/test/cctest/test-api.cc |
@@ -969,22 +969,33 @@ THREADED_TEST(FindInstanceInPrototypeChain) { |
THREADED_TEST(TinyInteger) { |
v8::HandleScope scope; |
LocalContext env; |
+ v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
+ |
int32_t value = 239; |
Local<v8::Integer> value_obj = v8::Integer::New(value); |
CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
+ |
+ value_obj = v8::Integer::New(value, isolate); |
+ CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
} |
THREADED_TEST(BigSmiInteger) { |
v8::HandleScope scope; |
LocalContext env; |
+ v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
+ |
int32_t value = i::Smi::kMaxValue; |
// We cannot add one to a Smi::kMaxValue without wrapping. |
if (i::kSmiValueSize < 32) { |
CHECK(i::Smi::IsValid(value)); |
CHECK(!i::Smi::IsValid(value + 1)); |
+ |
Local<v8::Integer> value_obj = v8::Integer::New(value); |
CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
+ |
+ value_obj = v8::Integer::New(value, isolate); |
+ CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
} |
} |
@@ -992,6 +1003,8 @@ THREADED_TEST(BigSmiInteger) { |
THREADED_TEST(BigInteger) { |
v8::HandleScope scope; |
LocalContext env; |
+ v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
+ |
// We cannot add one to a Smi::kMaxValue without wrapping. |
if (i::kSmiValueSize < 32) { |
// The casts allow this to compile, even if Smi::kMaxValue is 2^31-1. |
@@ -1000,8 +1013,12 @@ THREADED_TEST(BigInteger) { |
static_cast<int32_t>(static_cast<uint32_t>(i::Smi::kMaxValue) + 1); |
CHECK(value > i::Smi::kMaxValue); |
CHECK(!i::Smi::IsValid(value)); |
+ |
Local<v8::Integer> value_obj = v8::Integer::New(value); |
CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
+ |
+ value_obj = v8::Integer::New(value, isolate); |
+ CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
} |
} |
@@ -1009,42 +1026,66 @@ THREADED_TEST(BigInteger) { |
THREADED_TEST(TinyUnsignedInteger) { |
v8::HandleScope scope; |
LocalContext env; |
+ v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
+ |
uint32_t value = 239; |
+ |
Local<v8::Integer> value_obj = v8::Integer::NewFromUnsigned(value); |
CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
+ |
+ value_obj = v8::Integer::NewFromUnsigned(value, isolate); |
+ CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
} |
THREADED_TEST(BigUnsignedSmiInteger) { |
v8::HandleScope scope; |
LocalContext env; |
+ v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
+ |
uint32_t value = static_cast<uint32_t>(i::Smi::kMaxValue); |
CHECK(i::Smi::IsValid(value)); |
CHECK(!i::Smi::IsValid(value + 1)); |
+ |
Local<v8::Integer> value_obj = v8::Integer::NewFromUnsigned(value); |
CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
+ |
+ value_obj = v8::Integer::NewFromUnsigned(value, isolate); |
+ CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
} |
THREADED_TEST(BigUnsignedInteger) { |
v8::HandleScope scope; |
LocalContext env; |
+ v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
+ |
uint32_t value = static_cast<uint32_t>(i::Smi::kMaxValue) + 1; |
CHECK(value > static_cast<uint32_t>(i::Smi::kMaxValue)); |
CHECK(!i::Smi::IsValid(value)); |
+ |
Local<v8::Integer> value_obj = v8::Integer::NewFromUnsigned(value); |
CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
+ |
+ value_obj = v8::Integer::NewFromUnsigned(value, isolate); |
+ CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
} |
THREADED_TEST(OutOfSignedRangeUnsignedInteger) { |
v8::HandleScope scope; |
LocalContext env; |
+ v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
+ |
uint32_t INT32_MAX_AS_UINT = (1U << 31) - 1; |
uint32_t value = INT32_MAX_AS_UINT + 1; |
CHECK(value > INT32_MAX_AS_UINT); // No overflow. |
+ |
Local<v8::Integer> value_obj = v8::Integer::NewFromUnsigned(value); |
CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
+ |
+ value_obj = v8::Integer::NewFromUnsigned(value, isolate); |
+ CHECK_EQ(static_cast<int64_t>(value), value_obj->Value()); |
} |