Ignore:
Timestamp:
Jul 24, 2013, 9:03:07 PM (12 years ago)
Author:
[email protected]
Message:

fourthTier: Add another temp register regT4 to JSInterfaceJIT
https://bugs.webkit.org/show_bug.cgi?id=117719

Reviewed by Geoffrey Garen.

Made the dedicated bucketCounterRegister to be regT4 and then used regT4 wherever
bucketCounterRegister had been used. Since it is masked whenever it is used and
we are looking for some randomness in the register anyway, we can use it without
any issues.

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:

(JSC::JIT::emitValueProfilingSite):

  • jit/JITCall.cpp:

(JSC::JIT::emitPutCallResult):

  • jit/JITCall32_64.cpp:

(JSC::JIT::emitPutCallResult):

  • jit/JITInlines.h:

(JSC::JIT::emitValueProfilingSite):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_to_this):
(JSC::JIT::emit_op_get_callee):
(JSC::JIT::emit_op_get_argument_by_val):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_get_callee):
(JSC::JIT::emit_op_to_this):
(JSC::JIT::emit_op_get_argument_by_val):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emitSlow_op_get_by_id):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emitSlow_op_get_from_scope):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emitSlow_op_get_by_id):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emitSlow_op_get_from_scope):

  • jit/JITStubCall.h:

(JSC::JITStubCall::callWithValueProfiling):

  • jit/JSInterfaceJIT.h:

(JSInterfaceJIT):

File:
1 edited

Legend:

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

    r153222 r153231  
    461461        // This assumes that the value to profile is in regT0 and that regT3 is available for
    462462        // scratch.
    463         void emitValueProfilingSite(ValueProfile*);
    464         void emitValueProfilingSite(unsigned bytecodeOffset);
    465         void emitValueProfilingSite();
    466 #else
    467         void emitValueProfilingSite(unsigned) { }
    468         void emitValueProfilingSite() { }
     463        void emitValueProfilingSite(ValueProfile*, RegisterID);
     464        void emitValueProfilingSite(unsigned bytecodeOffset, RegisterID);
     465        void emitValueProfilingSite(RegisterID);
     466#else
     467        void emitValueProfilingSite(unsigned, RegisterID) { }
     468        void emitValueProfilingSite(RegisterID) { }
    469469#endif
    470470        void emitArrayProfilingSite(RegisterID structureAndIndexingType, RegisterID scratch, ArrayProfile*);
Note: See TracChangeset for help on using the changeset viewer.