Changeset 151250 in webkit


Ignore:
Timestamp:
Jun 5, 2013 7:13:34 PM (11 years ago)
Author:
mark.lam@apple.com
Message:

Disambiguate between CallFrame bytecodeOffset and codeOriginIndex.
https://bugs.webkit.org/show_bug.cgi?id=117262.

Reviewed by Geoffrey Garen.

When writing to the ArgumentCount tag in CallFrame, we will set the high
bit if the written value is a codeOriginIndex.

(CodeOrigin):
(JSC::CodeOrigin::isHandle):
(JSC::CodeOrigin::encodeHandle):
(JSC::CodeOrigin::decodeHandle):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::beginCall):

  • dfg/DFGRepatch.cpp:

(JSC::DFG::tryBuildGetByIDList):

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::locationAsBytecodeOffset):
(JSC::CallFrame::setLocationAsBytecodeOffset):
(JSC::CallFrame::currentVPC):
(JSC::CallFrame::setCurrentVPC):
(JSC::CallFrame::trueCallFrame):

  • interpreter/CallFrame.h:

(ExecState):
(JSC::ExecState::inlineCallFrame):

  • interpreter/CallFrameInlines.h: Added.

(JSC::CallFrame::hasLocationAsBytecodeOffset):
(JSC::CallFrame::hasLocationAsCodeOriginIndex):
(JSC::CallFrame::locationAsRawBits):
(JSC::CallFrame::setLocationAsRawBits):
(JSC::CallFrame::locationAsBytecodeOffset):
(JSC::CallFrame::setLocationAsBytecodeOffset):
(JSC::CallFrame::locationAsCodeOriginIndex):

  • interpreter/Interpreter.cpp:

(JSC::getBytecodeOffsetForCallFrame):
(JSC::getCallerInfo):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

Location:
branches/dfgFourthTier/Source/JavaScriptCore
Files:
1 added
13 edited

Legend:

Unmodified
Added
Removed
  • branches/dfgFourthTier/Source/JavaScriptCore/ChangeLog

    r151229 r151250  
     12013-06-05  Mark Lam  <mark.lam@apple.com>
     2
     3        Disambiguate between CallFrame bytecodeOffset and codeOriginIndex.
     4        https://bugs.webkit.org/show_bug.cgi?id=117262.
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        When writing to the ArgumentCount tag in CallFrame, we will set the high
     9        bit if the written value is a codeOriginIndex.
     10
     11        * GNUmakefile.list.am:
     12        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
     13        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
     14        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
     15        * JavaScriptCore.xcodeproj/project.pbxproj:
     16        * bytecode/CodeOrigin.h:
     17        (CodeOrigin):
     18        (JSC::CodeOrigin::isHandle):
     19        (JSC::CodeOrigin::encodeHandle):
     20        (JSC::CodeOrigin::decodeHandle):
     21        * dfg/DFGJITCompiler.h:
     22        (JSC::DFG::JITCompiler::beginCall):
     23        * dfg/DFGRepatch.cpp:
     24        (JSC::DFG::tryBuildGetByIDList):
     25        * interpreter/CallFrame.cpp:
     26        (JSC::CallFrame::locationAsBytecodeOffset):
     27        (JSC::CallFrame::setLocationAsBytecodeOffset):
     28        (JSC::CallFrame::currentVPC):
     29        (JSC::CallFrame::setCurrentVPC):
     30        (JSC::CallFrame::trueCallFrame):
     31        * interpreter/CallFrame.h:
     32        (ExecState):
     33        (JSC::ExecState::inlineCallFrame):
     34        * interpreter/CallFrameInlines.h: Added.
     35        (JSC::CallFrame::hasLocationAsBytecodeOffset):
     36        (JSC::CallFrame::hasLocationAsCodeOriginIndex):
     37        (JSC::CallFrame::locationAsRawBits):
     38        (JSC::CallFrame::setLocationAsRawBits):
     39        (JSC::CallFrame::locationAsBytecodeOffset):
     40        (JSC::CallFrame::setLocationAsBytecodeOffset):
     41        (JSC::CallFrame::locationAsCodeOriginIndex):
     42        * interpreter/Interpreter.cpp:
     43        (JSC::getBytecodeOffsetForCallFrame):
     44        (JSC::getCallerInfo):
     45        * jit/JITStubs.cpp:
     46        (JSC::DEFINE_STUB_FUNCTION):
     47
    1482013-06-04  Filip Pizlo  <fpizlo@apple.com>
    249
  • branches/dfgFourthTier/Source/JavaScriptCore/GNUmakefile.list.am

    r151155 r151250  
    430430        Source/JavaScriptCore/interpreter/CallFrame.cpp \
    431431        Source/JavaScriptCore/interpreter/CallFrame.h \
     432        Source/JavaScriptCore/interpreter/CallFrameInlines.h \
    432433        Source/JavaScriptCore/interpreter/Interpreter.cpp \
    433434        Source/JavaScriptCore/interpreter/Interpreter.h \
  • branches/dfgFourthTier/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj

    r151155 r151250  
    23992399                        </File>
    24002400                        <File
     2401                                RelativePath="..\..\interpreter\CallFrameInlines.h"
     2402                                >
     2403                        </File>
     2404                        <File
    24012405                                RelativePath="..\..\interpreter\CallFrameClosure.h"
    24022406                                >
  • branches/dfgFourthTier/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj

    r151155 r151250  
    550550    <ClInclude Include="..\interpreter\CachedCall.h" />
    551551    <ClInclude Include="..\interpreter\CallFrame.h" />
     552    <ClInclude Include="..\interpreter\CallFrameInlines.h" />
    552553    <ClInclude Include="..\interpreter\CallFrameClosure.h" />
    553554    <ClInclude Include="..\interpreter\Interpreter.h" />
  • branches/dfgFourthTier/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters

    r151155 r151250  
    11971197      <Filter>interpreter</Filter>
    11981198    </ClInclude>
     1199    <ClInclude Include="..\interpreter\CallFrameInlines.h">
     1200      <Filter>interpreter</Filter>
     1201    </ClInclude>
    11991202    <ClInclude Include="..\interpreter\CallFrameClosure.h">
    12001203      <Filter>interpreter</Filter>
  • branches/dfgFourthTier/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r151155 r151250  
    952952                FE20CE9D15F04A9500DF3430 /* LLIntCLoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FE20CE9B15F04A9500DF3430 /* LLIntCLoop.cpp */; };
    953953                FE20CE9E15F04A9500DF3430 /* LLIntCLoop.h in Headers */ = {isa = PBXBuildFile; fileRef = FE20CE9C15F04A9500DF3430 /* LLIntCLoop.h */; settings = {ATTRIBUTES = (Private, ); }; };
     954                FE24596217601D580074FCE0 /* CallFrameInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = FE24596117601D580074FCE0 /* CallFrameInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
    954955                FE4A331F15BD2E07006F54F3 /* VMInspector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FE4A331D15BD2E07006F54F3 /* VMInspector.cpp */; };
    955956                FE4A332015BD2E07006F54F3 /* VMInspector.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4A331E15BD2E07006F54F3 /* VMInspector.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    957958                FECE74571745456500FF9300 /* MacroAssemblerX86Common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FECE74561745456500FF9300 /* MacroAssemblerX86Common.cpp */; };
    958959                FED287B215EC9A5700DA8161 /* LLIntOpcode.h in Headers */ = {isa = PBXBuildFile; fileRef = FED287B115EC9A5700DA8161 /* LLIntOpcode.h */; settings = {ATTRIBUTES = (Private, ); }; };
     960                FED94F2E171E3E2300BE77A4 /* Watchdog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FED94F2B171E3E2300BE77A4 /* Watchdog.cpp */; };
     961                FED94F2F171E3E2300BE77A4 /* Watchdog.h in Headers */ = {isa = PBXBuildFile; fileRef = FED94F2C171E3E2300BE77A4 /* Watchdog.h */; settings = {ATTRIBUTES = (Private, ); }; };
     962                FED94F30171E3E2300BE77A4 /* WatchdogMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FED94F2D171E3E2300BE77A4 /* WatchdogMac.cpp */; };
    959963                FEE3147D174AACAF0013BCAC /* MacroAssemblerARMv7.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FEE3147C174AACAF0013BCAC /* MacroAssemblerARMv7.cpp */; };
    960964                FEF6835E174343CC00A32E25 /* JITStubsARM.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF6835A174343CC00A32E25 /* JITStubsARM.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    962966                FEF68360174343CC00A32E25 /* JITStubsX86_64.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF6835C174343CC00A32E25 /* JITStubsX86_64.h */; settings = {ATTRIBUTES = (Private, ); }; };
    963967                FEF68361174343CC00A32E25 /* JITStubsX86.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF6835D174343CC00A32E25 /* JITStubsX86.h */; settings = {ATTRIBUTES = (Private, ); }; };
    964                 FED94F2E171E3E2300BE77A4 /* Watchdog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FED94F2B171E3E2300BE77A4 /* Watchdog.cpp */; };
    965                 FED94F2F171E3E2300BE77A4 /* Watchdog.h in Headers */ = {isa = PBXBuildFile; fileRef = FED94F2C171E3E2300BE77A4 /* Watchdog.h */; settings = {ATTRIBUTES = (Private, ); };};
    966                 FED94F30171E3E2300BE77A4 /* WatchdogMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FED94F2D171E3E2300BE77A4 /* WatchdogMac.cpp */; };
    967968/* End PBXBuildFile section */
    968969
     
    19871988                FE20CE9B15F04A9500DF3430 /* LLIntCLoop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LLIntCLoop.cpp; path = llint/LLIntCLoop.cpp; sourceTree = "<group>"; };
    19881989                FE20CE9C15F04A9500DF3430 /* LLIntCLoop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LLIntCLoop.h; path = llint/LLIntCLoop.h; sourceTree = "<group>"; };
     1990                FE24596117601D580074FCE0 /* CallFrameInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CallFrameInlines.h; sourceTree = "<group>"; };
    19891991                FE4A331D15BD2E07006F54F3 /* VMInspector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VMInspector.cpp; sourceTree = "<group>"; };
    19901992                FE4A331E15BD2E07006F54F3 /* VMInspector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VMInspector.h; sourceTree = "<group>"; };
     
    19921994                FECE74561745456500FF9300 /* MacroAssemblerX86Common.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MacroAssemblerX86Common.cpp; sourceTree = "<group>"; };
    19931995                FED287B115EC9A5700DA8161 /* LLIntOpcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LLIntOpcode.h; path = llint/LLIntOpcode.h; sourceTree = "<group>"; };
     1996                FED94F2B171E3E2300BE77A4 /* Watchdog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Watchdog.cpp; sourceTree = "<group>"; };
     1997                FED94F2C171E3E2300BE77A4 /* Watchdog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Watchdog.h; sourceTree = "<group>"; };
     1998                FED94F2D171E3E2300BE77A4 /* WatchdogMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WatchdogMac.cpp; sourceTree = "<group>"; };
    19941999                FEE3147C174AACAF0013BCAC /* MacroAssemblerARMv7.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MacroAssemblerARMv7.cpp; sourceTree = "<group>"; };
    19952000                FEF6835A174343CC00A32E25 /* JITStubsARM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JITStubsARM.h; sourceTree = "<group>"; };
     
    19972002                FEF6835C174343CC00A32E25 /* JITStubsX86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JITStubsX86_64.h; sourceTree = "<group>"; };
    19982003                FEF6835D174343CC00A32E25 /* JITStubsX86.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JITStubsX86.h; sourceTree = "<group>"; };
    1999                 FED94F2B171E3E2300BE77A4 /* Watchdog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Watchdog.cpp; sourceTree = "<group>"; };
    2000                 FED94F2C171E3E2300BE77A4 /* Watchdog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Watchdog.h; sourceTree = "<group>"; };
    2001                 FED94F2D171E3E2300BE77A4 /* WatchdogMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WatchdogMac.cpp; sourceTree = "<group>"; };
    20022004/* End PBXFileReference section */
    20032005
     
    22742276                                1429D8DC0ED2205B00B89619 /* CallFrame.h */,
    22752277                                A7F869EC0F95C2EC00558697 /* CallFrameClosure.h */,
     2278                                FE24596117601D580074FCE0 /* CallFrameInlines.h */,
    22762279                                1429D7D30ED2128200B89619 /* Interpreter.cpp */,
    22772280                                1429D77B0ED20D7300B89619 /* Interpreter.h */,
     
    32603263                                BC18C3E70E16F5CD00B34460 /* ArrayPrototype.h in Headers */,
    32613264                                FEF6835F174343CC00A32E25 /* JITStubsARMv7.h in Headers */,
     3265                                FE24596217601D580074FCE0 /* CallFrameInlines.h in Headers */,
    32623266                                FEF68360174343CC00A32E25 /* JITStubsX86_64.h in Headers */,
    32633267                                FEF6835E174343CC00A32E25 /* JITStubsARM.h in Headers */,
  • branches/dfgFourthTier/Source/JavaScriptCore/bytecode/CodeOrigin.h

    r151041 r151250  
    8989   
    9090    void dump(PrintStream&) const;
     91
     92    static inline bool isHandle(uint32_t bits) { return !!(bits & handleFlag); }
     93    static inline uint32_t encodeHandle(uint32_t bits)
     94    {
     95        ASSERT(!isHandle(bits));
     96        return bits | handleFlag;
     97    }
     98    static inline uint32_t decodeHandle(uint32_t bits)
     99    {
     100        ASSERT(isHandle(bits));
     101        return bits & ~handleFlag;
     102    }
     103
     104private:
     105    static const uint32_t handleFlag = (1 << 31);
    91106};
    92107
  • branches/dfgFourthTier/Source/JavaScriptCore/dfg/DFGJITCompiler.h

    r150139 r151250  
    314314    {
    315315        unsigned index = m_exceptionChecks.size();
    316         store32(TrustedImm32(index), tagFor(static_cast<VirtualRegister>(JSStack::ArgumentCount)));
     316        unsigned handle = CodeOrigin::encodeHandle(index);
     317        store32(TrustedImm32(handle), tagFor(static_cast<VirtualRegister>(JSStack::ArgumentCount)));
    317318        token.set(codeOrigin, index);
    318319    }
  • branches/dfgFourthTier/Source/JavaScriptCore/dfg/DFGRepatch.cpp

    r150657 r151250  
    11/*
    2  * Copyright (C) 2011, 2012 Apple Inc. All rights reserved.
     2 * Copyright (C) 2011, 2012, 2013 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929#if ENABLE(DFG_JIT)
    3030
     31#include "CallFrameInlines.h"
    3132#include "DFGCCallHelpers.h"
    3233#include "DFGScratchRegisterAllocator.h"
     
    467468            // right now!
    468469            stubJit.store32(
    469                 MacroAssembler::TrustedImm32(exec->codeOriginIndexForDFG()),
     470                MacroAssembler::TrustedImm32(exec->locationAsRawBits()),
    470471                CCallHelpers::tagFor(static_cast<VirtualRegister>(JSStack::ArgumentCount)));
    471472           
  • branches/dfgFourthTier/Source/JavaScriptCore/interpreter/CallFrame.cpp

    r151167 r151250  
    2727#include "CallFrame.h"
    2828
     29#include "CallFrameInlines.h"
    2930#include "CodeBlock.h"
    3031#include "Interpreter.h"
     
    4243
    4344#if USE(JSVALUE32_64)
    44 unsigned CallFrame::bytecodeOffsetForNonDFGCode() const
     45unsigned CallFrame::locationAsBytecodeOffset() const
    4546{
    4647    ASSERT(codeBlock());
     48    ASSERT(hasLocationAsBytecodeOffset());
    4749    return currentVPC() - codeBlock()->instructions().begin();
    4850}
    4951
    50 void CallFrame::setBytecodeOffsetForNonDFGCode(unsigned offset)
     52void CallFrame::setLocationAsBytecodeOffset(unsigned offset)
    5153{
    5254    ASSERT(codeBlock());
     55    ASSERT(!CodeOrigin::isHandle(offset));
    5356    setCurrentVPC(codeBlock()->instructions().begin() + offset);
     57    ASSERT(hasLocationAsBytecodeOffset());
    5458}
    5559#else
    5660Instruction* CallFrame::currentVPC() const
    5761{
    58     return codeBlock()->instructions().begin() + bytecodeOffsetForNonDFGCode();
     62    return codeBlock()->instructions().begin() + locationAsBytecodeOffset();
    5963}
    6064void CallFrame::setCurrentVPC(Instruction* vpc)
    6165{
    62     setBytecodeOffsetForNonDFGCode(vpc - codeBlock()->instructions().begin());
     66    setLocationAsBytecodeOffset(vpc - codeBlock()->instructions().begin());
    6367}
    6468#endif
     
    120124        }
    121125    } else {
    122         unsigned index = codeOriginIndexForDFG();
     126        unsigned index = locationAsCodeOriginIndex();
    123127        ASSERT(machineCodeBlock->canGetCodeOrigin(index));
    124128        if (!machineCodeBlock->canGetCodeOrigin(index)) {
  • branches/dfgFourthTier/Source/JavaScriptCore/interpreter/CallFrame.h

    r151167 r151250  
    22 *  Copyright (C) 1999-2001 Harri Porten (porten@kde.org)
    33 *  Copyright (C) 2001 Peter Kelly (pmk@post.com)
    4  *  Copyright (C) 2003, 2007, 2008, 2011 Apple Inc. All rights reserved.
     4 *  Copyright (C) 2003, 2007, 2008, 2011, 2013 Apple Inc. All rights reserved.
    55 *
    66 *  This library is free software; you can redistribute it and/or
     
    114114#endif
    115115        AbstractPC abstractReturnPC(VM& vm) { return AbstractPC(vm, this); }
    116 #if USE(JSVALUE32_64)
    117         unsigned bytecodeOffsetForNonDFGCode() const;
    118         void setBytecodeOffsetForNonDFGCode(unsigned offset);
    119 #else
    120         unsigned bytecodeOffsetForNonDFGCode() const
    121         {
    122             ASSERT(codeBlock());
    123             return this[JSStack::ArgumentCount].tag();
    124         }
    125        
    126         void setBytecodeOffsetForNonDFGCode(unsigned offset)
    127         {
    128             ASSERT(codeBlock());
    129             this[JSStack::ArgumentCount].tag() = static_cast<int32_t>(offset);
    130         }
    131 #endif
     116
     117        bool hasLocationAsBytecodeOffset() const;
     118        bool hasLocationAsCodeOriginIndex() const;
     119
     120        unsigned locationAsRawBits() const;
     121        unsigned locationAsBytecodeOffset() const;
     122        unsigned locationAsCodeOriginIndex() const;
     123
     124        void setLocationAsRawBits(unsigned);
     125        void setLocationAsBytecodeOffset(unsigned);
    132126
    133127        Register* frameExtent()
     
    142136#if ENABLE(DFG_JIT)
    143137        InlineCallFrame* inlineCallFrame() const { return this[JSStack::ReturnPC].asInlineCallFrame(); }
    144         unsigned codeOriginIndexForDFG() const { return this[JSStack::ArgumentCount].tag(); }
    145138#else
    146139        // This will never be called if !ENABLE(DFG_JIT) since all calls should be guarded by
  • branches/dfgFourthTier/Source/JavaScriptCore/interpreter/Interpreter.cpp

    r151167 r151250  
    574574#if ENABLE(DFG_JIT)
    575575    if (JITCode::isOptimizingJIT(codeBlock->jitType()))
    576         return codeBlock->codeOrigin(callFrame->codeOriginIndexForDFG()).bytecodeIndex;
    577 #endif
    578     return callFrame->bytecodeOffsetForNonDFGCode();
     576        return codeBlock->codeOrigin(callFrame->locationAsCodeOriginIndex()).bytecodeIndex;
     577#endif
     578    return callFrame->locationAsBytecodeOffset();
    579579#endif
    580580}
     
    602602#if ENABLE(DFG_JIT)
    603603        if (callerCodeBlock && JITCode::isOptimizingJIT(callerCodeBlock->jitType())) {
    604             unsigned codeOriginIndex = callFrame->callerFrame()->removeHostCallFrameFlag()->codeOriginIndexForDFG();
     604            unsigned codeOriginIndex = callFrame->callerFrame()->removeHostCallFrameFlag()->locationAsCodeOriginIndex();
    605605            CodeOrigin origin = callerCodeBlock->codeOrigin(codeOriginIndex);
    606606            bytecodeOffset = origin.bytecodeIndex;
     
    609609        } else
    610610#endif
    611             bytecodeOffset = trueCallerFrame->bytecodeOffsetForNonDFGCode();
     611            bytecodeOffset = trueCallerFrame->locationAsBytecodeOffset();
    612612    } else {
    613613#if ENABLE(DFG_JIT)
  • branches/dfgFourthTier/Source/JavaScriptCore/jit/JITStubs.cpp

    r151155 r151250  
    16211621        bool didOptimize = false;
    16221622
    1623         unsigned bytecodeOffset = callFrame->bytecodeOffsetForNonDFGCode();
     1623        unsigned bytecodeOffset = callFrame->locationAsBytecodeOffset();
    16241624        ASSERT(bytecodeOffset);
    16251625        ByValInfo& byValInfo = callFrame->codeBlock()->getByValInfo(bytecodeOffset - 1);
     
    17551755        bool didOptimize = false;
    17561756
    1757         unsigned bytecodeOffset = callFrame->bytecodeOffsetForNonDFGCode();
     1757        unsigned bytecodeOffset = callFrame->locationAsBytecodeOffset();
    17581758        ASSERT(bytecodeOffset);
    17591759        ByValInfo& byValInfo = callFrame->codeBlock()->getByValInfo(bytecodeOffset - 1);
Note: See TracChangeset for help on using the changeset viewer.