Modified: trunk/Source/_javascript_Core/ChangeLog (103640 => 103641)
--- trunk/Source/_javascript_Core/ChangeLog 2011-12-23 23:47:00 UTC (rev 103640)
+++ trunk/Source/_javascript_Core/ChangeLog 2011-12-24 00:04:32 UTC (rev 103641)
@@ -1,3 +1,17 @@
+2011-12-23 Geoffrey Garen <[email protected]>
+
+ Inlined Yarr::execute
+ https://bugs.webkit.org/show_bug.cgi?id=75180
+
+ Reviewed reluctantly by Beth Dakin.
+
+ Tiny speedup on SunSpider string tests. Removes some samples from
+ Instruments. A step toward removing -fomit-frame-pointer.
+
+ * yarr/YarrJIT.cpp:
+ * yarr/YarrJIT.h:
+ (JSC::Yarr::execute): ONE LINE FUNCTION, Y U NOT INLINED?!
+
2011-12-23 Filip Pizlo <[email protected]>
DFG loads from signed 8-bit and 16-bit typed arrays are broken
Modified: trunk/Source/_javascript_Core/yarr/YarrJIT.cpp (103640 => 103641)
--- trunk/Source/_javascript_Core/yarr/YarrJIT.cpp 2011-12-23 23:47:00 UTC (rev 103640)
+++ trunk/Source/_javascript_Core/yarr/YarrJIT.cpp 2011-12-24 00:04:32 UTC (rev 103641)
@@ -2541,16 +2541,6 @@
YarrGenerator(pattern, charSize).compile(globalData, jitObject);
}
-int execute(YarrCodeBlock& jitObject, const LChar* input, unsigned start, unsigned length, int* output)
-{
- return jitObject.execute(input, start, length, output);
-}
-
-int execute(YarrCodeBlock& jitObject, const UChar* input, unsigned start, unsigned length, int* output)
-{
- return jitObject.execute(input, start, length, output);
-}
-
}}
#endif
Modified: trunk/Source/_javascript_Core/yarr/YarrJIT.h (103640 => 103641)
--- trunk/Source/_javascript_Core/yarr/YarrJIT.h 2011-12-23 23:47:00 UTC (rev 103640)
+++ trunk/Source/_javascript_Core/yarr/YarrJIT.h 2011-12-24 00:04:32 UTC (rev 103641)
@@ -90,9 +90,17 @@
};
void jitCompile(YarrPattern&, YarrCharSize, JSGlobalData*, YarrCodeBlock& jitObject);
-int execute(YarrCodeBlock& jitObject, const UChar* input, unsigned start, unsigned length, int* output);
-int execute(YarrCodeBlock& jitObject, const LChar* input, unsigned start, unsigned length, int* output);
+inline int execute(YarrCodeBlock& jitObject, const LChar* input, unsigned start, unsigned length, int* output)
+{
+ return jitObject.execute(input, start, length, output);
+}
+
+inline int execute(YarrCodeBlock& jitObject, const UChar* input, unsigned start, unsigned length, int* output)
+{
+ return jitObject.execute(input, start, length, output);
+}
+
} } // namespace JSC::Yarr
#endif