Changeset 128898 in webkit


Ignore:
Timestamp:
Sep 18, 2012 8:22:29 AM (12 years ago)
Author:
fpizlo@apple.com
Message:

DFGOperations doesn't use NativeCallFrameTracer in enough places
https://bugs.webkit.org/show_bug.cgi?id=96987

Reviewed by Mark Hahnenberg.

Anything that can GC should use it.

  • dfg/DFGOperations.cpp:
Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r128867 r128898  
     12012-09-18  Filip Pizlo  <fpizlo@apple.com>
     2
     3        DFGOperations doesn't use NativeCallFrameTracer in enough places
     4        https://bugs.webkit.org/show_bug.cgi?id=96987
     5
     6        Reviewed by Mark Hahnenberg.
     7
     8        Anything that can GC should use it.
     9
     10        * dfg/DFGOperations.cpp:
     11
    1122012-09-18  Mark Lam  <mark.lam@apple.com>
    213
  • trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp

    r128832 r128898  
    11941194EncodedJSValue DFG_OPERATION operationGetArgumentsLength(ExecState* exec, int32_t argumentsRegister)
    11951195{
     1196    JSGlobalData& globalData = exec->globalData();
     1197    NativeCallFrameTracer tracer(&globalData, exec);
    11961198    // Here we can assume that the argumernts were created. Because otherwise the JIT code would
    11971199    // have not made this call.
    1198     Identifier ident(&exec->globalData(), "length");
     1200    Identifier ident(&globalData, "length");
    11991201    JSValue baseValue = exec->uncheckedR(argumentsRegister).jsValue();
    12001202    PropertySlot slot(baseValue);
     
    12041206EncodedJSValue DFG_OPERATION operationGetArgumentByVal(ExecState* exec, int32_t argumentsRegister, int32_t index)
    12051207{
     1208    JSGlobalData& globalData = exec->globalData();
     1209    NativeCallFrameTracer tracer(&globalData, exec);
     1210
    12061211    JSValue argumentsValue = exec->uncheckedR(argumentsRegister).jsValue();
    12071212   
     
    12171222    ExecState* exec, int32_t argumentsRegister, InlineCallFrame* inlineCallFrame, int32_t index)
    12181223{
     1224    JSGlobalData& globalData = exec->globalData();
     1225    NativeCallFrameTracer tracer(&globalData, exec);
     1226
    12191227    JSValue argumentsValue = exec->uncheckedR(argumentsRegister).jsValue();
    12201228   
     
    12401248{
    12411249    ASSERT(functionExecutableAsCell->inherits(&FunctionExecutable::s_info));
     1250
     1251    JSGlobalData& globalData = exec->globalData();
     1252    NativeCallFrameTracer tracer(&globalData, exec);
     1253
    12421254    FunctionExecutable* functionExecutable =
    12431255        static_cast<FunctionExecutable*>(functionExecutableAsCell);
     
    12581270{
    12591271    JSGlobalData& globalData = exec->globalData();
     1272    NativeCallFrameTracer tracer(&globalData, exec);
     1273
    12601274    ASSERT(structure->outOfLineCapacity() > base->structure()->outOfLineCapacity());
    12611275    ASSERT(!globalData.heap.storageAllocator().fastPathShouldSucceed(structure->outOfLineCapacity() * sizeof(JSValue)));
     
    12661280char* DFG_OPERATION operationAllocatePropertyStorageWithInitialCapacity(ExecState* exec)
    12671281{
     1282    JSGlobalData& globalData = exec->globalData();
     1283    NativeCallFrameTracer tracer(&globalData, exec);
     1284
    12681285    return reinterpret_cast<char*>(
    1269         Butterfly::createUninitialized(exec->globalData(), 0, initialOutOfLineCapacity, false, 0));
     1286        Butterfly::createUninitialized(globalData, 0, initialOutOfLineCapacity, false, 0));
    12701287}
    12711288
    12721289char* DFG_OPERATION operationAllocatePropertyStorage(ExecState* exec, size_t newSize)
    12731290{
     1291    JSGlobalData& globalData = exec->globalData();
     1292    NativeCallFrameTracer tracer(&globalData, exec);
     1293
    12741294    return reinterpret_cast<char*>(
    1275         Butterfly::createUninitialized(exec->globalData(), 0, newSize, false, 0));
     1295        Butterfly::createUninitialized(globalData, 0, newSize, false, 0));
    12761296}
    12771297
    12781298char* DFG_OPERATION operationReallocateButterflyToHavePropertyStorageWithInitialCapacity(ExecState* exec, JSObject* object)
    12791299{
     1300    JSGlobalData& globalData = exec->globalData();
     1301    NativeCallFrameTracer tracer(&globalData, exec);
     1302
    12801303    ASSERT(!object->structure()->outOfLineCapacity());
    1281     Butterfly* result = object->growOutOfLineStorage(exec->globalData(), 0, initialOutOfLineCapacity);
     1304    Butterfly* result = object->growOutOfLineStorage(globalData, 0, initialOutOfLineCapacity);
    12821305    object->setButterflyWithoutChangingStructure(result);
    12831306    return reinterpret_cast<char*>(result);
     
    12861309char* DFG_OPERATION operationReallocateButterflyToGrowPropertyStorage(ExecState* exec, JSObject* object, size_t newSize)
    12871310{
    1288     Butterfly* result = object->growOutOfLineStorage(exec->globalData(), object->structure()->outOfLineCapacity(), newSize);
     1311    JSGlobalData& globalData = exec->globalData();
     1312    NativeCallFrameTracer tracer(&globalData, exec);
     1313
     1314    Butterfly* result = object->growOutOfLineStorage(globalData, object->structure()->outOfLineCapacity(), newSize);
    12891315    object->setButterflyWithoutChangingStructure(result);
    12901316    return reinterpret_cast<char*>(result);
Note: See TracChangeset for help on using the changeset viewer.