Ensure CheckInitialized is present independent of define.

This makes sure that the same symbols are present, independent of which
defines have been used while building V8. Otherwise only embedders with
compatible defines would be able to link against that binary.

R=danno@chromium.org
BUG=chromium:255779

Review URL: https://codereview.chromium.org/18305004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
mstarzinger@chromium.org 2013-07-01 12:57:15 +00:00
parent f997bacb16
commit de07db147f
2 changed files with 5 additions and 6 deletions

View File

@ -5401,11 +5401,12 @@ class Internals {
static const int kUndefinedOddballKind = 5;
static const int kNullOddballKind = 3;
static void CheckInitializedImpl(v8::Isolate* isolate);
V8_INLINE(static void CheckInitialized(v8::Isolate* isolate)) {
#ifdef V8_ENABLE_CHECKS
static void CheckInitialized(v8::Isolate* isolate);
#else
static void CheckInitialized(v8::Isolate* isolate) { }
CheckInitializedImpl(isolate);
#endif
}
V8_INLINE(static bool HasHeapObjectTag(internal::Object* value)) {
return ((reinterpret_cast<intptr_t>(value) & kHeapObjectTagMask) ==

View File

@ -2934,14 +2934,12 @@ Local<Integer> Value::ToInteger() const {
}
#ifdef V8_ENABLE_CHECKS
void i::Internals::CheckInitialized(v8::Isolate* external_isolate) {
void i::Internals::CheckInitializedImpl(v8::Isolate* external_isolate) {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(external_isolate);
ApiCheck(isolate != NULL && isolate->IsInitialized() && !i::V8::IsDead(),
"v8::internal::Internals::CheckInitialized()",
"Isolate is not initialized or V8 has died");
}
#endif
void External::CheckCast(v8::Value* that) {