Ignore:
Timestamp:
Jul 24, 2013, 2:58:36 PM (12 years ago)
Author:
[email protected]
Message:

It should be possible to hijack IndexingHeader for things other than lengths
https://bugs.webkit.org/show_bug.cgi?id=119065

Reviewed by Mark Hahnenberg.

Made the body of IndexingHeader be a union.

Modified the offlineasm so that you can say IndexingHeader::u.lengths.publicLength.
Previously those dots would cause parse errors. Now an identifier in offlineasm can
have a dot anywhere except the first character.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/parser.rb:
  • runtime/IndexingHeader.h:

(JSC::IndexingHeader::offsetOfPublicLength):
(JSC::IndexingHeader::offsetOfVectorLength):
(JSC::IndexingHeader::IndexingHeader):
(JSC::IndexingHeader::vectorLength):
(JSC::IndexingHeader::setVectorLength):
(JSC::IndexingHeader::publicLength):
(JSC::IndexingHeader::setPublicLength):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/offlineasm/parser.rb

    r145689 r153104  
    115115            result << Token.new(CodeOrigin.new(fileName, lineNumber), $&)
    116116            lineNumber += 1
    117         when /\A[a-zA-Z]([a-zA-Z0-9_]*)/
     117        when /\A[a-zA-Z]([a-zA-Z0-9_.]*)/
    118118            result << Token.new(CodeOrigin.new(fileName, lineNumber), $&)
    119119        when /\A\.([a-zA-Z0-9_]*)/
     
    164164
    165165def isIdentifier(token)
    166     token =~ /\A[a-zA-Z]([a-zA-Z0-9_]*)\Z/ and not isKeyword(token)
     166    token =~ /\A[a-zA-Z]([a-zA-Z0-9_.]*)\Z/ and not isKeyword(token)
    167167end
    168168
Note: See TracChangeset for help on using the changeset viewer.