Ignore:
Timestamp:
Jun 30, 2011, 7:17:27 PM (14 years ago)
Author:
[email protected]
Message:

2011-06-30 Geoffrey Garen <[email protected]>

Reviewed by Gavin Barraclough.

Added write barrier that was missing from put_by_id_transition
https://bugs.webkit.org/show_bug.cgi?id=63775

  • dfg/DFGJITCodeGenerator.cpp: (JSC::DFG::JITCodeGenerator::writeBarrier): Made this static with a MacroAssembler& argument so our patching functions could use it.

(JSC::DFG::JITCodeGenerator::cachedPutById):

  • dfg/DFGJITCodeGenerator.h:
  • dfg/DFGNonSpeculativeJIT.cpp: (JSC::DFG::NonSpeculativeJIT::compile): Updated for signature change.
  • dfg/DFGRepatch.cpp: (JSC::DFG::tryCachePutByID): Missing barrier!
  • dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compile): Updated for signature change.
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition):
  • jit/JITPropertyAccess32_64.cpp: (JSC::JIT::privateCompilePutByIdTransition):
  • jit/JSInterfaceJIT.h: Same game here. Removed storePtrWithWriteBarrier because its meaning isn't clear -- maybe in the future we'll have a clear way to pass all stores through a common function that guarantees a write barrier, but that's not the case right now.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/JSInterfaceJIT.h

    r90177 r90193  
    194194        inline Jump emitLoadDouble(unsigned virtualRegisterIndex, FPRegisterID dst, RegisterID scratch);
    195195
    196         inline void storePtrWithWriteBarrier(TrustedImmPtr ptr, RegisterID /* owner */, Address dest)
    197         {
    198             storePtr(ptr, dest);
    199         }
    200 
    201196#if USE(JSVALUE32_64)
    202197        inline Jump emitJumpIfNotJSCell(unsigned virtualRegisterIndex);
Note: See TracChangeset for help on using the changeset viewer.