Inline the UnlinkedInstructionStream::Reader logic.
authorakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 23 Jun 2014 19:58:19 +0000 (19:58 +0000)
committerakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 23 Jun 2014 19:58:19 +0000 (19:58 +0000)
commitaaeebc5a65ac610405c0a1e4cc4da244d8937462
treec2b98a7be22b85f6fad401ec4bae8c08aace2555
parent4018362b00c2629b1cfbb59b082c5586ad3145cd
Inline the UnlinkedInstructionStream::Reader logic.
<https://webkit.org/b/134203>

This class is only used by CodeBlock to unpack the unlinked instructions,
and we were spending 0.5% of total time on PLT calling Reader::next().
Move the logic to the header file and mark it ALWAYS_INLINE.

Reviewed by Geoffrey Garen.

* bytecode/UnlinkedInstructionStream.cpp:
* bytecode/UnlinkedInstructionStream.h:
(JSC::UnlinkedInstructionStream::Reader::Reader):
(JSC::UnlinkedInstructionStream::Reader::read8):
(JSC::UnlinkedInstructionStream::Reader::read32):
(JSC::UnlinkedInstructionStream::Reader::next):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@170312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/bytecode/UnlinkedInstructionStream.cpp
Source/JavaScriptCore/bytecode/UnlinkedInstructionStream.h