Version 3.20.3
Performance and stability improvements on all platforms.
git-svn-id: http://v8.googlecode.com/svn/trunk@15538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/unicode.cc b/src/unicode.cc
index 04065b0..bd32467 100644
--- a/src/unicode.cc
+++ b/src/unicode.cc
@@ -52,14 +52,17 @@
return table[D * index];
}
+
static inline uchar GetEntry(int32_t entry) {
return entry & (kStartBit - 1);
}
+
static inline bool IsStart(int32_t entry) {
return (entry & kStartBit) != 0;
}
+
/**
* Look up a character in the unicode table using a mix of binary and
* interpolation search. For a uniformly distributed array
@@ -106,6 +109,7 @@
uchar chars[kW];
};
+
// Look up the mapping for the given character in the specified table,
// which is of the specified length and uses the specified special case
// mapping for multi-char mappings. The next parameter is the character
@@ -456,6 +460,7 @@
}
}
+
// Lowercase: point.category == 'Ll'
static const uint16_t kLowercaseTable0Size = 463;
@@ -567,6 +572,7 @@
}
}
+
// Letter: point.category in ['Lu', 'Ll', 'Lt', 'Lm', 'Lo', 'Nl' ]
static const uint16_t kLetterTable0Size = 435;
@@ -703,6 +709,7 @@
}
}
+
// Space: point.category == 'Zs'
static const uint16_t kSpaceTable0Size = 4;
@@ -724,6 +731,7 @@
}
}
+
// Number: point.category == 'Nd'
static const uint16_t kNumberTable0Size = 56;
@@ -758,6 +766,7 @@
}
}
+
// WhiteSpace: 'Ws' in point.properties
static const uint16_t kWhiteSpaceTable0Size = 7;
@@ -779,6 +788,7 @@
}
}
+
// LineTerminator: 'Lt' in point.properties
static const uint16_t kLineTerminatorTable0Size = 2;
@@ -800,6 +810,7 @@
}
}
+
// CombiningMark: point.category in ['Mn', 'Mc']
static const uint16_t kCombiningMarkTable0Size = 258;
@@ -871,6 +882,7 @@
}
}
+
// ConnectorPunctuation: point.category == 'Pc'
static const uint16_t kConnectorPunctuationTable0Size = 1;