Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (106275 => 106276)
--- trunk/Source/_javascript_Core/ChangeLog 2012-01-30 20:25:15 UTC (rev 106275)
+++ trunk/Source/_javascript_Core/ChangeLog 2012-01-30 20:38:32 UTC (rev 106276)
@@ -1,5 +1,18 @@
2012-01-30 Gavin Barraclough <[email protected]>
+ Unreviewed build fix for interpreter builds.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::CodeBlock):
+ * bytecode/CodeBlock.h:
+ (CodeBlock):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * tools/CodeProfile.cpp:
+ (JSC::CodeProfile::sample):
+
+2012-01-30 Gavin Barraclough <[email protected]>
+
Unreviewed build fix following bug#76855
* _javascript_Core.exp:
Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp (106275 => 106276)
--- trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2012-01-30 20:25:15 UTC (rev 106275)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2012-01-30 20:38:32 UTC (rev 106276)
@@ -1450,7 +1450,9 @@
, m_speculativeFailCounter(0)
, m_optimizationDelayCounter(0)
, m_reoptimizationRetryCounter(0)
+#if ENABLE(JIT)
, m_canCompileWithDFGState(CompileWithDFGUnset)
+#endif
{
setNumParameters(other.numParameters());
optimizeAfterWarmUp();
Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.h (106275 => 106276)
--- trunk/Source/_javascript_Core/bytecode/CodeBlock.h 2012-01-30 20:25:15 UTC (rev 106275)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.h 2012-01-30 20:38:32 UTC (rev 106276)
@@ -1202,7 +1202,9 @@
friend void WTF::deleteOwnedPtr<RareData>(RareData*);
#endif
OwnPtr<RareData> m_rareData;
+#if ENABLE(JIT)
CompileWithDFGState m_canCompileWithDFGState;
+#endif
};
// Program code is not marked by any function, so we make the global object
Modified: trunk/Source/_javascript_Core/interpreter/Interpreter.cpp (106275 => 106276)
--- trunk/Source/_javascript_Core/interpreter/Interpreter.cpp 2012-01-30 20:25:15 UTC (rev 106275)
+++ trunk/Source/_javascript_Core/interpreter/Interpreter.cpp 2012-01-30 20:38:32 UTC (rev 106276)
@@ -3308,13 +3308,12 @@
int direct = vPC[8].u.operand;
JSValue baseValue = callFrame->r(base).jsValue();
- ASSERT(baseValue.isObject());
- JSObject* baseObject = asObject(baseValue);
Identifier& ident = codeBlock->identifier(property);
PutPropertySlot slot(codeBlock->isStrictMode());
- if (direct)
- baseObject->putDirect(*globalData, ident, callFrame->r(value).jsValue(), slot);
- else
+ if (direct) {
+ ASSERT(baseValue.isObject());
+ asObject(baseValue)->putDirect(*globalData, ident, callFrame->r(value).jsValue(), slot);
+ } else
baseValue.put(callFrame, ident, callFrame->r(value).jsValue(), slot);
CHECK_FOR_EXCEPTION();
@@ -3428,13 +3427,12 @@
int direct = vPC[8].u.operand;
JSValue baseValue = callFrame->r(base).jsValue();
- ASSERT(baseValue.isObject());
- JSObject* baseObject = asObject(baseValue);
Identifier& ident = codeBlock->identifier(property);
PutPropertySlot slot(codeBlock->isStrictMode());
- if (direct)
- baseObject->putDirect(*globalData, ident, callFrame->r(value).jsValue(), slot);
- else
+ if (direct) {
+ ASSERT(baseValue.isObject());
+ asObject(baseValue)->putDirect(*globalData, ident, callFrame->r(value).jsValue(), slot);
+ } else
baseValue.put(callFrame, ident, callFrame->r(value).jsValue(), slot);
CHECK_FOR_EXCEPTION();
Modified: trunk/Source/_javascript_Core/tools/CodeProfile.cpp (106275 => 106276)
--- trunk/Source/_javascript_Core/tools/CodeProfile.cpp 2012-01-30 20:25:15 UTC (rev 106275)
+++ trunk/Source/_javascript_Core/tools/CodeProfile.cpp 2012-01-30 20:38:32 UTC (rev 106276)
@@ -92,9 +92,11 @@
while (framePointer) {
CodeType type;
+
+#if ENABLE(JIT)
+ // Determine if this sample fell in JIT code, and if so, from which JIT & why.
void* ownerUID = CodeProfiling::getOwnerUIDForPC(pc);
- // Determine if this sample fell in JIT code, and if so, from which JIT & why.
if (!ownerUID)
type = EngineFrame;
else if (ownerUID == GLOBAL_THUNK_ID)
@@ -112,6 +114,9 @@
else
type = BaselineProfile;
}
+#else
+ type = EngineFrame;
+#endif
// A sample in JIT code terminates the trace.
m_samples.append(CodeRecord(pc, type));