From aded201670d1176c3f7cc2b2a1298984c2ad7296 Mon Sep 17 00:00:00 2001 From: "mstarzinger@chromium.org" Date: Fri, 26 Jul 2013 10:40:00 +0000 Subject: [PATCH] Revert "Check that ExternalString objects get aligned resources" (r15894). R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/20703002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/api.cc | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/src/api.cc b/src/api.cc index 91174d6..5978ed2 100644 --- a/src/api.cc +++ b/src/api.cc @@ -779,8 +779,8 @@ static void* DecodeSmiToAligned(i::Object* value, const char* location) { } -static i::Smi* EncodeAlignedAsSmi(const void* value, const char* location) { - i::Smi* smi = const_cast(reinterpret_cast(value)); +static i::Smi* EncodeAlignedAsSmi(void* value, const char* location) { + i::Smi* smi = reinterpret_cast(value); ApiCheck(smi->IsSmi(), location, "Pointer is not aligned"); return smi; } @@ -5937,10 +5937,6 @@ Local v8::String::NewExternal( LOG_API(isolate, "String::NewExternal"); ENTER_V8(isolate); CHECK(resource && resource->data()); - // Resource pointers need to look like Smis since ExternalString objects - // are sometimes put into old pointer space (see i::String::MakeExternal). - CHECK(EncodeAlignedAsSmi(resource, "v8::String::NewExternal()")); - CHECK(EncodeAlignedAsSmi(resource->data(), "v8::String::NewExternal()")); i::Handle result = NewExternalStringHandle(isolate, resource); isolate->heap()->external_string_table()->AddString(*result); return Utils::ToLocal(result); @@ -5962,10 +5958,6 @@ bool v8::String::MakeExternal(v8::String::ExternalStringResource* resource) { return false; } CHECK(resource && resource->data()); - // Resource pointers need to look like Smis since ExternalString objects - // are sometimes put into old pointer space (see i::String::MakeExternal). - CHECK(EncodeAlignedAsSmi(resource, "v8::String::MakeExternal()")); - CHECK(EncodeAlignedAsSmi(resource->data(), "v8::String::MakeExternal()")); bool result = obj->MakeExternal(resource); if (result && !obj->IsInternalizedString()) { isolate->heap()->external_string_table()->AddString(*obj); @@ -5981,10 +5973,6 @@ Local v8::String::NewExternal( LOG_API(isolate, "String::NewExternal"); ENTER_V8(isolate); CHECK(resource && resource->data()); - // Resource pointers need to look like Smis since ExternalString objects - // are sometimes put into old pointer space (see i::String::MakeExternal). - CHECK(EncodeAlignedAsSmi(resource, "v8::String::NewExternal()")); - CHECK(EncodeAlignedAsSmi(resource->data(), "v8::String::NewExternal()")); i::Handle result = NewExternalAsciiStringHandle(isolate, resource); isolate->heap()->external_string_table()->AddString(*result); return Utils::ToLocal(result); @@ -6007,10 +5995,6 @@ bool v8::String::MakeExternal( return false; } CHECK(resource && resource->data()); - // Resource pointers need to look like Smis since ExternalString objects - // are sometimes put into old pointer space (see i::String::MakeExternal). - CHECK(EncodeAlignedAsSmi(resource, "v8::String::MakeExternal()")); - CHECK(EncodeAlignedAsSmi(resource->data(), "v8::String::MakeExternal()")); bool result = obj->MakeExternal(resource); if (result && !obj->IsInternalizedString()) { isolate->heap()->external_string_table()->AddString(*obj); -- 2.7.4