| 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());
|
| }
|
|
|
|
|
|
|