Commit 7de5aaea authored by andersca@apple.com's avatar andersca@apple.com

GCAssertions.h should use STL type traits and static_assert

https://bugs.webkit.org/show_bug.cgi?id=120785

Reviewed by Andreas Kling.

Source/JavaScriptCore:

There's no need to rely on compiler specific support to figure out if a class is trivially destructable,
we can just use type traits from STL. Do this, fix the assert macro to use static_assert directly and
rename it from ASSERT_HAS_TRIVIAL_DESTRUCTOR to STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE to clarify that
it's a static assert and to match the STL nomenclature.

* API/JSCallbackFunction.cpp:
* debugger/DebuggerActivation.cpp:
* heap/GCAssertions.h:
* runtime/ArrayConstructor.cpp:
* runtime/BooleanConstructor.cpp:
* runtime/BooleanObject.cpp:
* runtime/BooleanPrototype.cpp:
* runtime/DateConstructor.cpp:
* runtime/ErrorConstructor.cpp:
* runtime/ErrorInstance.cpp:
* runtime/ErrorPrototype.cpp:
* runtime/ExceptionHelpers.cpp:
* runtime/FunctionConstructor.cpp:
* runtime/FunctionPrototype.cpp:
* runtime/GetterSetter.cpp:
* runtime/InternalFunction.cpp:
* runtime/JSAPIValueWrapper.cpp:
* runtime/JSArray.cpp:
* runtime/JSCell.cpp:
* runtime/JSNotAnObject.cpp:
* runtime/JSONObject.cpp:
* runtime/JSObject.cpp:
* runtime/JSPromiseConstructor.cpp:
* runtime/JSPromisePrototype.cpp:
* runtime/JSPromiseResolverConstructor.cpp:
* runtime/JSPromiseResolverPrototype.cpp:
* runtime/JSProxy.cpp:
* runtime/JSScope.cpp:
* runtime/JSWrapperObject.cpp:
* runtime/MathObject.cpp:
* runtime/NameConstructor.cpp:
* runtime/NativeErrorConstructor.cpp:
* runtime/NumberConstructor.cpp:
* runtime/NumberObject.cpp:
* runtime/NumberPrototype.cpp:
* runtime/ObjectConstructor.cpp:
* runtime/ObjectPrototype.cpp:
* runtime/RegExpObject.cpp:
* runtime/StrictEvalActivation.cpp:
* runtime/StringConstructor.cpp:
* runtime/StringObject.cpp:
* runtime/StringPrototype.cpp:

Source/WebCore:

Update for JavaScriptCore changes.

* bindings/js/JSDOMBinding.cpp:
* bindings/js/JSImageConstructor.cpp:

Source/WebKit2:

Update for JavaScriptCore changes.

* WebProcess/Plugins/Netscape/JSNPMethod.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent bda1e5b0
......@@ -41,7 +41,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSCallbackFunction);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSCallbackFunction);
const ClassInfo JSCallbackFunction::s_info = { "CallbackFunction", &InternalFunction::s_info, 0, 0, CREATE_METHOD_TABLE(JSCallbackFunction) };
......
2013-09-05 Anders Carlsson <andersca@apple.com>
GCAssertions.h should use STL type traits and static_assert
https://bugs.webkit.org/show_bug.cgi?id=120785
Reviewed by Andreas Kling.
There's no need to rely on compiler specific support to figure out if a class is trivially destructable,
we can just use type traits from STL. Do this, fix the assert macro to use static_assert directly and
rename it from ASSERT_HAS_TRIVIAL_DESTRUCTOR to STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE to clarify that
it's a static assert and to match the STL nomenclature.
* API/JSCallbackFunction.cpp:
* debugger/DebuggerActivation.cpp:
* heap/GCAssertions.h:
* runtime/ArrayConstructor.cpp:
* runtime/BooleanConstructor.cpp:
* runtime/BooleanObject.cpp:
* runtime/BooleanPrototype.cpp:
* runtime/DateConstructor.cpp:
* runtime/ErrorConstructor.cpp:
* runtime/ErrorInstance.cpp:
* runtime/ErrorPrototype.cpp:
* runtime/ExceptionHelpers.cpp:
* runtime/FunctionConstructor.cpp:
* runtime/FunctionPrototype.cpp:
* runtime/GetterSetter.cpp:
* runtime/InternalFunction.cpp:
* runtime/JSAPIValueWrapper.cpp:
* runtime/JSArray.cpp:
* runtime/JSCell.cpp:
* runtime/JSNotAnObject.cpp:
* runtime/JSONObject.cpp:
* runtime/JSObject.cpp:
* runtime/JSPromiseConstructor.cpp:
* runtime/JSPromisePrototype.cpp:
* runtime/JSPromiseResolverConstructor.cpp:
* runtime/JSPromiseResolverPrototype.cpp:
* runtime/JSProxy.cpp:
* runtime/JSScope.cpp:
* runtime/JSWrapperObject.cpp:
* runtime/MathObject.cpp:
* runtime/NameConstructor.cpp:
* runtime/NativeErrorConstructor.cpp:
* runtime/NumberConstructor.cpp:
* runtime/NumberObject.cpp:
* runtime/NumberPrototype.cpp:
* runtime/ObjectConstructor.cpp:
* runtime/ObjectPrototype.cpp:
* runtime/RegExpObject.cpp:
* runtime/StrictEvalActivation.cpp:
* runtime/StringConstructor.cpp:
* runtime/StringObject.cpp:
* runtime/StringPrototype.cpp:
2013-09-05 Brent Fulgham <bfulgham@apple.com>
[Windows] Unreviewed build fix for DebugSuffix target.
......
......@@ -31,7 +31,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(DebuggerActivation);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(DebuggerActivation);
const ClassInfo DebuggerActivation::s_info = { "DebuggerActivation", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(DebuggerActivation) };
......
......@@ -26,6 +26,7 @@
#ifndef GCAssertions_h
#define GCAssertions_h
#include <type_traits>
#include <wtf/Assertions.h>
#if ENABLE(GC_VALIDATION)
......@@ -44,10 +45,14 @@
#define ASSERT_GC_OBJECT_INHERITS(object, classInfo) do { (void)object; (void)classInfo; } while (0)
#endif
#if COMPILER_SUPPORTS(HAS_TRIVIAL_DESTRUCTOR)
#define ASSERT_HAS_TRIVIAL_DESTRUCTOR(klass) COMPILE_ASSERT(__has_trivial_destructor(klass), klass##_has_trivial_destructor_check)
#if COMPILER(CLANG)
#define STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(klass) static_assert(std::is_trivially_destructible<klass>::value, #klass " must have a trivial destructor")
#elif COMPILER(MSVC)
// An earlier verison of the C++11 spec used to call this type trait std::has_trivial_destructor, and that's what MSVC uses.
#define STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(klass) static_assert(std::has_trivial_destructor<klass>::value, #klass " must have a trivial destructor")
#else
#define ASSERT_HAS_TRIVIAL_DESTRUCTOR(klass)
// This is not enabled on GCC due to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52702
#define STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(klass)
#endif
#endif // GCAssertions_h
......@@ -44,7 +44,7 @@ static EncodedJSValue JSC_HOST_CALL arrayConstructorIsArray(ExecState*);
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(ArrayConstructor);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ArrayConstructor);
const ClassInfo ArrayConstructor::s_info = { "Function", &InternalFunction::s_info, 0, ExecState::arrayConstructorTable, CREATE_METHOD_TABLE(ArrayConstructor) };
......
......@@ -27,7 +27,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(BooleanConstructor);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(BooleanConstructor);
const ClassInfo BooleanConstructor::s_info = { "Function", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(BooleanConstructor) };
......
......@@ -26,7 +26,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(BooleanObject);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(BooleanObject);
const ClassInfo BooleanObject::s_info = { "Boolean", &JSWrapperObject::s_info, 0, 0, CREATE_METHOD_TABLE(BooleanObject) };
......
......@@ -48,7 +48,7 @@ const ClassInfo BooleanPrototype::s_info = { "Boolean", &BooleanObject::s_info,
@end
*/
ASSERT_HAS_TRIVIAL_DESTRUCTOR(BooleanPrototype);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(BooleanPrototype);
BooleanPrototype::BooleanPrototype(ExecState* exec, Structure* structure)
: BooleanObject(exec->vm(), structure)
......
......@@ -72,7 +72,7 @@ const ClassInfo DateConstructor::s_info = { "Function", &InternalFunction::s_inf
@end
*/
ASSERT_HAS_TRIVIAL_DESTRUCTOR(DateConstructor);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(DateConstructor);
DateConstructor::DateConstructor(JSGlobalObject* globalObject, Structure* structure)
: InternalFunction(globalObject, structure)
......
......@@ -29,7 +29,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(ErrorConstructor);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ErrorConstructor);
const ClassInfo ErrorConstructor::s_info = { "Function", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(ErrorConstructor) };
......
......@@ -26,7 +26,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(ErrorInstance);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ErrorInstance);
const ClassInfo ErrorInstance::s_info = { "Error", &JSNonFinalObject::s_info, 0, 0, CREATE_METHOD_TABLE(ErrorInstance) };
......
......@@ -31,7 +31,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(ErrorPrototype);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ErrorPrototype);
static EncodedJSValue JSC_HOST_CALL errorProtoFuncToString(ExecState*);
......
......@@ -41,7 +41,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(TerminatedExecutionError);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(TerminatedExecutionError);
const ClassInfo TerminatedExecutionError::s_info = { "TerminatedExecutionError", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(TerminatedExecutionError) };
......
......@@ -35,7 +35,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(FunctionConstructor);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(FunctionConstructor);
const ClassInfo FunctionConstructor::s_info = { "Function", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(FunctionConstructor) };
......
......@@ -33,7 +33,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(FunctionPrototype);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(FunctionPrototype);
const ClassInfo FunctionPrototype::s_info = { "Function", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(FunctionPrototype) };
......
......@@ -30,7 +30,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(GetterSetter);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(GetterSetter);
const ClassInfo GetterSetter::s_info = { "GetterSetter", 0, 0, 0, CREATE_METHOD_TABLE(GetterSetter) };
......
......@@ -30,7 +30,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(InternalFunction);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(InternalFunction);
const ClassInfo InternalFunction::s_info = { "Function", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(InternalFunction) };
......
......@@ -27,7 +27,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSAPIValueWrapper);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSAPIValueWrapper);
const ClassInfo JSAPIValueWrapper::s_info = { "API Wrapper", 0, 0, 0, CREATE_METHOD_TABLE(JSAPIValueWrapper) };
......
......@@ -44,7 +44,7 @@ using namespace WTF;
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSArray);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSArray);
const ClassInfo JSArray::s_info = {"Array", &JSNonFinalObject::s_info, 0, 0, CREATE_METHOD_TABLE(JSArray)};
......
......@@ -33,7 +33,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSCell);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSCell);
void JSCell::destroy(JSCell* cell)
{
......
......@@ -34,7 +34,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSNotAnObject);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSNotAnObject);
const ClassInfo JSNotAnObject::s_info = { "Object", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSNotAnObject) };
......
......@@ -43,7 +43,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSONObject);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSONObject);
static EncodedJSValue JSC_HOST_CALL JSONProtoFuncParse(ExecState*);
static EncodedJSValue JSC_HOST_CALL JSONProtoFuncStringify(ExecState*);
......
......@@ -65,8 +65,8 @@ JSCell* getCallableObjectSlow(JSCell* cell)
return 0;
}
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSObject);
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSFinalObject);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSObject);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSFinalObject);
const char* StrictModeReadonlyPropertyWriteError = "Attempted to assign to readonly property.";
......
......@@ -40,7 +40,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSPromiseConstructor);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSPromiseConstructor);
// static Promise fulfill(any value);
static EncodedJSValue JSC_HOST_CALL JSPromiseConstructorFuncFulfill(ExecState*);
......
......@@ -39,7 +39,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSPromisePrototype);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSPromisePrototype);
// Promise then([TreatUndefinedAs=Missing] optional AnyCallback fulfillCallback, [TreatUndefinedAs=Missing] optional AnyCallback rejectCallback);
static EncodedJSValue JSC_HOST_CALL JSPromisePrototypeFuncThen(ExecState*);
......
......@@ -36,7 +36,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSPromiseResolverConstructor);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSPromiseResolverConstructor);
const ClassInfo JSPromiseResolverConstructor::s_info = { "Function", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSPromiseResolverConstructor) };
......
......@@ -36,7 +36,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSPromiseResolverPrototype);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSPromiseResolverPrototype);
// void fulfill(optional any value);
static EncodedJSValue JSC_HOST_CALL JSPromiseResolverPrototypeFuncFulfill(ExecState*);
......
......@@ -31,7 +31,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSProxy);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSProxy);
const ClassInfo JSProxy::s_info = { "JSProxy", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSProxy) };
......
......@@ -34,7 +34,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSScope);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSScope);
void JSScope::visitChildren(JSCell* cell, SlotVisitor& visitor)
{
......
......@@ -26,7 +26,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSWrapperObject);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSWrapperObject);
void JSWrapperObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
{
......
......@@ -32,7 +32,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(MathObject);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(MathObject);
static EncodedJSValue JSC_HOST_CALL mathProtoFuncAbs(ExecState*);
static EncodedJSValue JSC_HOST_CALL mathProtoFuncACos(ExecState*);
......
......@@ -32,7 +32,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(NameConstructor);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NameConstructor);
const ClassInfo NameConstructor::s_info = { "Function", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(NameConstructor) };
......
......@@ -29,7 +29,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(NativeErrorConstructor);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NativeErrorConstructor);
const ClassInfo NativeErrorConstructor::s_info = { "Function", &InternalFunction::s_info, 0, 0, CREATE_METHOD_TABLE(NativeErrorConstructor) };
......
......@@ -41,7 +41,7 @@ static JSValue numberConstructorMinValue(ExecState*, JSValue, PropertyName);
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(NumberConstructor);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NumberConstructor);
const ClassInfo NumberConstructor::s_info = { "Function", &InternalFunction::s_info, 0, ExecState::numberConstructorTable, CREATE_METHOD_TABLE(NumberConstructor) };
......
......@@ -28,7 +28,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(NumberObject);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NumberObject);
const ClassInfo NumberObject::s_info = { "Number", &JSWrapperObject::s_info, 0, 0, CREATE_METHOD_TABLE(NumberObject) };
......
......@@ -68,7 +68,7 @@ const ClassInfo NumberPrototype::s_info = { "Number", &NumberObject::s_info, 0,
@end
*/
ASSERT_HAS_TRIVIAL_DESTRUCTOR(NumberPrototype);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NumberPrototype);
NumberPrototype::NumberPrototype(ExecState* exec, Structure* structure)
: NumberObject(exec->vm(), structure)
......
......@@ -58,7 +58,7 @@ static EncodedJSValue JSC_HOST_CALL objectConstructorIsExtensible(ExecState*);
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(ObjectConstructor);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ObjectConstructor);
const ClassInfo ObjectConstructor::s_info = { "Function", &InternalFunction::s_info, 0, ExecState::objectConstructorTable, CREATE_METHOD_TABLE(ObjectConstructor) };
......
......@@ -41,7 +41,7 @@ static EncodedJSValue JSC_HOST_CALL objectProtoFuncLookupSetter(ExecState*);
static EncodedJSValue JSC_HOST_CALL objectProtoFuncPropertyIsEnumerable(ExecState*);
static EncodedJSValue JSC_HOST_CALL objectProtoFuncToLocaleString(ExecState*);
ASSERT_HAS_TRIVIAL_DESTRUCTOR(ObjectPrototype);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ObjectPrototype);
const ClassInfo ObjectPrototype::s_info = { "Object", &JSNonFinalObject::s_info, 0, 0, CREATE_METHOD_TABLE(ObjectPrototype) };
......
......@@ -50,7 +50,7 @@ static JSValue regExpObjectSource(ExecState*, JSValue, PropertyName);
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(RegExpObject);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(RegExpObject);
const ClassInfo RegExpObject::s_info = { "RegExp", &Base::s_info, 0, ExecState::regExpTable, CREATE_METHOD_TABLE(RegExpObject) };
......
......@@ -31,7 +31,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(StrictEvalActivation);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(StrictEvalActivation);
const ClassInfo StrictEvalActivation::s_info = { "Object", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(StrictEvalActivation) };
......
......@@ -46,7 +46,7 @@ const ClassInfo StringConstructor::s_info = { "Function", &InternalFunction::s_i
@end
*/
ASSERT_HAS_TRIVIAL_DESTRUCTOR(StringConstructor);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(StringConstructor);
StringConstructor::StringConstructor(JSGlobalObject* globalObject, Structure* structure)
: InternalFunction(globalObject, structure)
......
......@@ -28,7 +28,7 @@
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(StringObject);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(StringObject);
const ClassInfo StringObject::s_info = { "String", &JSWrapperObject::s_info, 0, 0, CREATE_METHOD_TABLE(StringObject) };
......
......@@ -47,7 +47,7 @@ using namespace WTF;
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(StringPrototype);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(StringPrototype);
static EncodedJSValue JSC_HOST_CALL stringProtoFuncToString(ExecState*);
static EncodedJSValue JSC_HOST_CALL stringProtoFuncCharAt(ExecState*);
......
2013-09-05 Anders Carlsson <andersca@apple.com>
GCAssertions.h should use STL type traits and static_assert
https://bugs.webkit.org/show_bug.cgi?id=120785
Reviewed by Andreas Kling.
Update for JavaScriptCore changes.
* bindings/js/JSDOMBinding.cpp:
* bindings/js/JSImageConstructor.cpp:
2013-09-05 David Hyatt <hyatt@apple.com>
Make RenderListItem inherit from RenderBlockFlow.
......@@ -45,8 +45,8 @@ using namespace JSC;
namespace WebCore {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(DOMConstructorObject);
ASSERT_HAS_TRIVIAL_DESTRUCTOR(DOMConstructorWithDocument);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(DOMConstructorObject);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(DOMConstructorWithDocument);
const JSC::HashTable* getHashTableForGlobalData(VM& vm, const JSC::HashTable* staticTable)
{
......
......@@ -32,6 +32,6 @@ using namespace JSC;
namespace WebCore {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSDOMWrapper);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSDOMWrapper);
} // namespace WebCore
......@@ -30,7 +30,7 @@ using namespace JSC;
namespace WebCore {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSImageConstructor);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSImageConstructor);
const ClassInfo JSImageConstructor::s_info = { "ImageConstructor", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSImageConstructor) };
......
2013-09-05 Anders Carlsson <andersca@apple.com>
GCAssertions.h should use STL type traits and static_assert
https://bugs.webkit.org/show_bug.cgi?id=120785
Reviewed by Andreas Kling.
Update for JavaScriptCore changes.
* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
2013-09-05 Alberto Garcia <berto@igalia.com>
[WK2] [GTK] Remove the test to disable AC under Wayland from WebKitWebViewGroup
......
......@@ -41,7 +41,7 @@ using namespace WebCore;
namespace WebKit {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(JSNPMethod);
STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSNPMethod);
const ClassInfo JSNPMethod::s_info = { "NPMethod", &InternalFunction::s_info, 0, 0, CREATE_METHOD_TABLE(JSNPMethod) };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment