Refactor number parsing in the lexer
authorzherczeg@webkit.org <zherczeg@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 30 Aug 2010 08:24:40 +0000 (08:24 +0000)
committerzherczeg@webkit.org <zherczeg@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 30 Aug 2010 08:24:40 +0000 (08:24 +0000)
commit6e33cb1e48dbe536bc1596b65c9d1b5870e9327a
tree25101632f24e6f76a5dbb6fca480101677dd57e9
parentff6ac90b58363f64ed434a15502c20b52c10f9c3
Refactor number parsing in the lexer
https://bugs.webkit.org/show_bug.cgi?id=44104

Reviewed by Darin Adler.

Number parsing was full of gotos, and needed a complete
redesign to remove them (Only one remained). Furthermore
integer arithmetic is empolyed for fast cases (= small
integer numbers).

* parser/Lexer.cpp:
(JSC::Lexer::parseHex):
(JSC::Lexer::parseOctal):
(JSC::Lexer::parseDecimal):
(JSC::Lexer::parseNumberAfterDecimalPoint):
(JSC::Lexer::parseNumberAfterExponentIndicator):
(JSC::Lexer::lex):
* parser/Lexer.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@66375 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore/ChangeLog
JavaScriptCore/parser/Lexer.cpp
JavaScriptCore/parser/Lexer.h