[webkit-reviews] review denied: [Bug 67337] Update RegExp and related classes to use 8 bit strings when available : [Attachment 106671] Proposed Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Sep 7 18:18:43 PDT 2011
Gavin Barraclough <barraclough at apple.com> has denied Michael Saboff
<msaboff at apple.com>'s request for review:
Bug 67337: Update RegExp and related classes to use 8 bit strings when
available
https://bugs.webkit.org/show_bug.cgi?id=67337
Attachment 106671: Proposed Patch
https://bugs.webkit.org/attachment.cgi?id=106671&action=review
------- Additional Comments from Gavin Barraclough <barraclough at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=106671&action=review
Looks good. Few issues above, my only major concern is is branch16, but would
be prudent to get some non-JIT numbers to prove the extra check in the
interpreter isn't an overhead.
> Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h:1074
> + Jump branch16(RelationalCondition cond, RegisterID left, TrustedImm32
right)
This is actually doing a 32-bit by 16-bit compare. We should either make this
work like the other branch16 method (only consider the low 16 bits), or we
should be ripping out branch16 and just using a branch32. A method called
branch16 that compares 32 bits isn't right.
> Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:884
> + m_assembler.testl_rr(left, left);
I think this needs to be a testw?
> Source/JavaScriptCore/runtime/RegExp.cpp:308
> +{
It might help understanding to add the following documentary ASSERT:
// If the state is NotCompiled or ParseError, then there is no representation.
// If there is a representation, and the state must be either JITCode or
ByteCode.
ASSERT(!!m_representation == (m_state == JITCode || m_state == ByteCode));
> Source/JavaScriptCore/yarr/YarrInterpreter.cpp:170
>
We should probably have some kind of comment on this class indicating that it
is a placeholder for something better one we have 8-bit StringImpls.
> Source/JavaScriptCore/yarr/YarrInterpreter.cpp:209
> + if (m_charSize == Char8)
We should check the performance impact of this check.
More information about the webkit-reviews
mailing list