Now we check for the magic "arguments" name after var-and-arg slot
optimizations. r=rogerl, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@103943 18797224-902f-48f8-a5cc-f745e15eee43
Note form omj/Parser.java:
* OPT source info collection is a potential performance bottleneck;
* Source wraps a java.lang.StringBuffer, which is synchronized. It
* might be faster to implement Source with its own char buffer and
* toString method.
It is indeed a bottleneck under JDK 1.1. When I replaced StringBuffer
by a char array (see the attached patch), execution time of
Context.compileReader decreased by 15%: to test I combined a few test
cases to get a 3MB JS source and then measured time to process it by
Context.compileReader in the interpreter mode.
Under JDK 1.3 the difference is less then 1%, but still using the explicit
string buffer saves memory. When converting StringBuffer to String Sun JDK
shares the internal char array in StringBuffer with new String, but in the
Parser case typically the capacity of this buffer is bigger then the actual
string length, so this unused space in source strings is wasted in the
interpreter mode that keeps these strings in InterpreterData.
Regards, Igor
========
I implemented that member expression as function name syntactic sugar to
support scripts using this MS extension. This is only available when
Context.hasFeature(Context.FEATURE_MEMBER_EXPR_AS_FUNCTION_NAME)
returns true to allow the deviation from the standard only when required.
The patch effectively transforms 'function <memberExpr>(...)...' to
'<memberExpr> = function(...)...' when <memberExpr> is not simple
identifier. I am not sure that MS implementation does exactly this
but hopefully it is sufficiently general to cover MS cases.
(The patch assumes that source_change.patch is already applied)
Regards, Igor
git-svn-id: svn://10.0.0.236/trunk@103940 18797224-902f-48f8-a5cc-f745e15eee43
I implemented that member expression as function name syntactic sugar to support
scripts using this MS extension. This is only available when
Context.hasFeature(Context.FEATURE_MEMBER_EXPR_AS_FUNCTION_NAME)
returns true to allow the deviation from the standard only when required.
The patch effectively transforms 'function <memberExpr>(...)...' to
'<memberExpr> = function(...)...' when <memberExpr> is not simple identifier.
I am not sure that MS implementation does exactly this but hopefully it is
sufficiently general to cover MS cases.
(The patch assumes that source_change.patch is already applied)
Regards, Igor
git-svn-id: svn://10.0.0.236/trunk@103939 18797224-902f-48f8-a5cc-f745e15eee43
comment delims (//) we need to stick with c ones (/* ... */)
Fixing bustage!
git-svn-id: svn://10.0.0.236/trunk@103938 18797224-902f-48f8-a5cc-f745e15eee43
Checking in for kkhandrika@netscape.com
Not part of the build. a=chofmann
git-svn-id: svn://10.0.0.236/trunk@103925 18797224-902f-48f8-a5cc-f745e15eee43
Checking in for kkhandrika@netscape.com
Not part of the build. a=chofmann
git-svn-id: svn://10.0.0.236/trunk@103920 18797224-902f-48f8-a5cc-f745e15eee43
Checking in for kkhandrika@netscape.com
Not part of the build. a=chofmann
git-svn-id: svn://10.0.0.236/trunk@103918 18797224-902f-48f8-a5cc-f745e15eee43
associated filter and warn user if folder is renamed/deleted/moved. Also fixed
some of D&D folder problems and cleaned up the stringBundle code in base/util.
git-svn-id: svn://10.0.0.236/trunk@103917 18797224-902f-48f8-a5cc-f745e15eee43
to get that value
while it is really UTF-16 and UTF-32.
r=bienvenu@netscape.com
sr=mscott
git-svn-id: svn://10.0.0.236/trunk@103882 18797224-902f-48f8-a5cc-f745e15eee43