Граф коммитов

4416 Коммитов

Автор SHA1 Сообщение Дата
nboyd%atg.com f597bef5b2 Add new API class WrapFactory. 2002-06-10 14:28:37 +00:00
nboyd%atg.com 79cf50094d Update javadoc. 2002-06-10 14:27:43 +00:00
nboyd%atg.com 77686394b4 Add PrimitiveWrapHandler example. 2002-06-10 14:23:32 +00:00
nboyd%atg.com cdfc8a39a9 Add example of the use of a WrapFactory. 2002-06-10 14:19:09 +00:00
nboyd%atg.com bc8e896198 Fix javadoc. 2002-06-10 14:09:26 +00:00
igor%mir2.org 8e3b79791f Deprecating NativeJavaObject.wrap and using Context.getWrapFactory().wrap() instead. 2002-06-09 15:58:15 +00:00
igor%mir2.org e91fcea61e More comments 2002-06-09 15:57:03 +00:00
igor%mir2.org a8942006ea Documentation: points to watch when upgrading to WrapFactory 2002-06-09 15:56:12 +00:00
igor%mir2.org 44bf267c33 Fixing broken logic in emulating custom WrapFactory via deprecated WrapHandler:
the code should not call setWrapFactory with null argument, but use new WrapFactory to restore default behaviour
2002-06-09 15:54:30 +00:00
igor%mir2.org f5b045f5e5 Introducing the WrapFactory class that should be used in place of the deprecated WrapHandler interface. 2002-06-09 09:23:00 +00:00
mcafee%netscape.com 15974838f5 Splitting liveconnect off from the java module, new module is called liveconnect, similar to what was done for xpconnect (145347). r=blythe, sr=alecf, a=asa 2002-06-08 06:59:53 +00:00
pschwartau%netscape.com 023788708d Adding new sections authored by john@statesoftware.com from bug 150032. 2002-06-08 04:26:18 +00:00
alecf%netscape.com f0263ddf07 fix for bug 101761 - REQUIRES update - remove all REQUIRES that are no longer necessary.. r=cls, a=asa (build-only changes) 2002-06-06 20:28:14 +00:00
nboyd%atg.com 3e7f7632a9 Fix for bug 149285: Complier does not report the correct line number on
SyntaxError:Invalid assignment left-hand side.
2002-06-06 15:01:57 +00:00
igor%mir2.org 27af2c5e8a Replacing check for unescaped characters in encode/decode from searching in a string to doing switch. It provides a noticeable speedup during encoding/decoding of long strings where almost all characters should be encoded. 2002-06-05 20:40:57 +00:00
brendan%mozilla.org d613f5a321 Ensure a live keyHash *after* multiplying by the irrational (146907, r=dbaron, sr=shaver). 2002-06-05 00:47:38 +00:00
pschwartau%netscape.com 9c8befbfa3 Cosmetic whitespace cleanup. 2002-06-04 19:51:59 +00:00
rogerl%netscape.com b42c0eab50 Corrected tests to match ECMA - unmatched paren contents need to have the
value 'undefined' rather than an empty string.
2002-06-04 18:51:05 +00:00
nboyd%atg.com a9022fa595 Fix ClassCastException. 2002-06-04 18:37:21 +00:00
brendan%mozilla.org b9fa0b8b2b Respect addProperty failure (148899, r=khanson, sr=shaver). 2002-06-04 18:13:55 +00:00
pschwartau%netscape.com 77f663fa05 Initial add; regression test for bug 137000. 2002-06-04 02:19:48 +00:00
dbradley%netscape.com db781dd0c8 Fixes XPCONNECT_STANDALONE bustage - see bug 121438 for details 2002-05-31 13:51:08 +00:00
nboyd%atg.com 8026a2bd2f Fix bug found by felix.meschberger@day.com:
given the following object :

----------------------------------------------
function SomeObject() {}
SomeObject.prototype.exec = function() {
  var local = this.someField;
}
----------------------------------------------

i create an 'instance', set a field and call the exec method :

----------------------------------------------
var someField = "global field value";
var anInstance = new SomeObject();
anInstance.someField = "instance field value";
anInstance.exec();
----------------------------------------------

then the local variable 'local' in the exec() method is assigned the value
of the global 'someField' variable instead of the instance field value.

the problem seems to be in the ScriptRuntime.callOrNewSpecial() method,
which is called, because the parser treats the name 'exec' specially. in
this method the exec() method gets called with

   return call(cx, fun, thisArg, args, scope);

where the 'thisArg' parameter really is the global this value instead of
the dynamic this value, which is in the jsThis variable and which would be
the one needed...

is it legitimate to replace the above call in callOrNewSpecial() with the
following line :

   return call(cx, fun, jsThis, args, scope);

this seems to only happen for methods named 'exec', which are identified as
special in the NodeTransformer.isSpecialCallName() method.

any help is appreciated. thank you very much for your time.

kind regards,
felix
2002-05-30 13:41:16 +00:00
khanson%netscape.com 64051a587d patch to speed up array.sort of strings by 40% r=brendan, sr=shaver 2002-05-27 05:53:57 +00:00
brendan%mozilla.org 2906c7c1f9 Don't emit JSOP_DEF{VAR,CONST} unless at top-level or in a heavyweight function (146596, r=jband, sr=shaver). 2002-05-26 00:33:23 +00:00
shaver%mozilla.org 775b446db5 146210: Add Date.now to mirror JS_Now in script. r=rginda, sr=brendan. 2002-05-24 01:55:15 +00:00
igor%mir2.org b1f6b58c02 Back-indent the interpreter main loop to ease code following 2002-05-22 18:42:40 +00:00
igor%mir2.org a036547bcd Fixing bug 145791: apply and call with null and undefined arguments behaves as required and Function.prototype.apply.length returns 2. 2002-05-22 16:46:28 +00:00
pschwartau%netscape.com bdd941dd4c Removing this test. It has been superseded by test ecma_3/Function/15.3.4.3-1.js 2002-05-22 06:01:09 +00:00
pschwartau%netscape.com a59b7eb621 Initial add. Tests language conformance to EMCA-262 Edition 3 Section 15.3.4.4 2002-05-22 05:54:58 +00:00
pschwartau%netscape.com 2672c28320 Initial add. Tests language conformance to EMCA-262 Edition 3, Section 15.3.4.3 2002-05-22 05:54:21 +00:00
dbaron%fas.harvard.edu bc04016187 Fix Mac bustage from brendan's checkin. 2002-05-22 00:53:12 +00:00
brendan%mozilla.org cf77ba4f01 Don't fail to call OBJ_CHECK_ACCESS for o.__proto__ = x, with enough mode bits to say what's happening (143369, r=shaver, sr=jst). 2002-05-22 00:06:40 +00:00
igor%mir2.org 7317a7e130 Making HTML tag helper functions to convert thisObj to string to match SpiderMonkey and user expectations (was reported by Steven Beal <steven.beal@peregrine.com>) 2002-05-21 22:00:08 +00:00
igor%mir2.org 6f9f5d5e21 Optimization in toInt32/toUint32/toUint16 for common case of integer argument. 2002-05-21 20:18:15 +00:00
igor%mir2.org 3e5edd8a09 Added indexOf and lastIndexOf 2002-05-21 20:14:10 +00:00
igor%mir2.org 76a770d612 In getElements return ScriptRuntime.emptyArgs when array length is 0 2002-05-21 20:13:30 +00:00
pschwartau%netscape.com 9fda21bdc2 Initial add. Regression test for bug 145779. 2002-05-20 20:37:43 +00:00
bratell%lysator.liu.se ab59c40931 Bug 85267 - clear internal jsdtoa caches when closing down the js engine. Patch by steve.taylor@ndsuk.com r=khanson@netscape.com, sr=brendan@mozilla.org 2002-05-20 20:07:48 +00:00
igor%mir2.org 1b4079d0c1 From the email:
The attached patch adds support for debugging eval and Function code transparently. It changes omj.NativeGlobal and omj.BaseFunction to embed  line number of origin of eval and Function scripts into source name and pass 1 as base line for script code. In this way a debugger implementation can treat eval and Function code in the same way as scripts loaded from some url while giving more information about error location in case of an error in eval code as the error source would contain both line number of eval origin and line number in eval code itself.
I chose to embed line numbers via patterns like

sourcefile#<line-number>(eval)
sourcefile#<line-number>(Function)

just to be able to to pass the constructed name to URL constructor if the original sourcefile is a valid URL but it is pretty arbitrary.
2002-05-20 11:40:17 +00:00
bratell%lysator.liu.se c62b9f6f33 Followup to checkin for bug 120992. It asserted in an edge case which this fixes. r=mozbot 2002-05-18 17:33:37 +00:00
bratell%lysator.liu.se 5b26b0e44a Bug 120992 - avoid expensive locking when converting numbers to strings. Now we look once for the whole operation instead of over and over again any time we access a shared structure. r=khanson@netscape.com, sr=brendan@mozilla.org. 2002-05-18 06:21:49 +00:00
nboyd%atg.com 683f0b4ca7 Fix bug:
I have noticed that attempting to call a java method like this:

public void foo(String foo, Serializable bar)
{
	// un-important details
}

from script using foo("foo", "bar"); fails because the second argument
is not deemed coercable to Serializable.  A preliminary look at the
coercion code shows that no check is made in this case with
isAssignableFrom().
The to type is only tested against StringClass and ObjectClass (non
primitive case).
(See NativeJavaObject.getConversionWeight())
2002-05-18 01:57:52 +00:00
jst%netscape.com 7fd4ba4193 Checking in jband's fix for bug 143853. Make sure to refresh the cached prototype JSObject when a context is reinitialized and a global object is reused between pages in a window. r=dbradley@netscape.com, sr=jst@netscape.com 2002-05-17 22:36:54 +00:00
igor%mir2.org 3b94c8d2f9 In evalSpecial do not allocate int[] buffer Context.getSourcePositionFromStack if line number is already known 2002-05-16 04:18:56 +00:00
igor%mir2.org a559e378b3 In jsConstructor use single StringBuffer to build function source 2002-05-16 04:17:04 +00:00
igor%mir2.org 06f223b799 Check in generateFunctionICode for own source to pass to debugger to cover new Function(...) case where top level function is not part of surrounding script 2002-05-15 21:27:46 +00:00
brendan%mozilla.org 0c1c916895 Checking in khanson@netscape.com's patch fixing GMT offset day-overflow (65671, r=mccabe, sr=jband). 2002-05-15 19:44:34 +00:00
dougt%netscape.com e96df2ad1b Fixes mozilla/strings requiring unfrozen nsCRT class. patch by scc, r=dougt, sr=jag, b=136756 2002-05-15 18:55:21 +00:00
seawood%netscape.com 2b773ceb9e Because js uses static data structures and is linked into other shared libraries, js must be built as a shared library.
Thanks to Colin Blake <colin@theblakes.com> for the original patch.
Bug #127442 r=bryner
2002-05-15 01:37:07 +00:00
rginda%netscape.com 991fcbd8b6 add PERL_BIN and PERL_ARGS 2002-05-14 01:44:01 +00:00
rginda%netscape.com 822e0bd6cd initial add of js api documentation source 2002-05-14 01:39:03 +00:00
igor%mir2.org a56ed683ab Elimination of FileWindow.breakpoints and Main.breakpointsMap as reference to SourceInfo provides all necessary information 2002-05-11 18:28:44 +00:00
igor%mir2.org 35997ed96a Removing itsFirstLine and itsEndLine from InterpreterData and replacing in DebuggableScript getFirstLine, getEndLine and getIntructionLines by getLineNumbers as Debugger imlementation can get all the necessary information from single call to getLineNumbers 2002-05-11 16:15:50 +00:00
igor%mir2.org 11cd032a9c Implementing DebuggableScript.getInstructionLines via scanning icode array for line number icode tokens thus removing the need to call Context.setGeneratingDebug(true) to get brekable lines in the script. 2002-05-10 21:33:51 +00:00
igor%mir2.org b15d8e908f From email about moving breakpoint support away from Rhino core:
I attach the patch to move away setting/quering for breakpoints from the Rhino core to application as a debugger implementation can check if a particular line has a breakpoint or not. The changes to omj/tools/debugger takes more then few lines I initially thought but they are mostly caused by refactoring to implement different view to set/query breakpoints.

The patch replaces getLineNumbers, placeBreakpoint and removeBreakpoint in DebuggableScript by getFirstLine, getEndLine and getInstructionLines where the last function fills a boolean array to indicate which script lines can ever occur in DebugFrame.onLineChange. These are read-only functions so InterpeterData are never mdofied by the debugger.

omj/tools/debugger/Main uses this information to check whether it is possible to place breakpoint at a particular line, and if possible, it sets to true entry at the boolean breakpoint array. In this way testing for break in onLineChange is simple and fast as it just needs to check if breakpoint array holds true at the given line number position.
2002-05-10 16:17:33 +00:00
darin%netscape.com f43dfb75ba fixes bug 142870 "nsIFile should use UCS-2 instead of UTF-8"
r=dougt sr=alecf
2002-05-07 23:07:19 +00:00
brendan%mozilla.org c4a43f27fb Avoid toSource bloat in e.stack; fix related crash due to unrooted errObject in js_ErrorToException (139316, r=rginda, sr=shaver). 2002-05-07 08:34:51 +00:00
brendan%mozilla.org 22c610ed1f Fix old bogus static dollarStr thread-safety bug (142651, r=jband, sr=shaver). 2002-05-07 08:29:39 +00:00
bryner%netscape.com 92a1bec8eb Adding the functions JS_LockGCThingRT and JS_UnlockGCThingRT, which are variants that only require a JSRuntime, not a JSContext. Converted some internal callers to use the new interface. Bug 141356, patch from shaver, r=bryner, sr=brendan. 2002-05-04 05:28:09 +00:00
pschwartau%netscape.com f759b5fa79 Initial add. Regression test for bug 140974. 2002-05-04 01:13:40 +00:00
igor%mir2.org 417ef274c7 Replace when possible usage of API available only since JDK 1.2 by their JDK 1.1 analogous or by classes available in the Rhino core to make port to JDK 1.1 easier. 2002-05-03 19:42:36 +00:00
darin%netscape.com 367fdf02e3 fixes build bustage with --enable-xpctools
patch=dmose r/sr=darin
2002-05-03 19:04:14 +00:00
igor%mir2.org 514db9985d Store only single instance of any string in InterpreterData.itsStringTable and remove itsStringTableIndex and itsDoubleTableIndex from InterpreterData as they are used only during code generation 2002-05-02 21:19:43 +00:00
igor%mir2.org a7a9d2d975 Allow to put null keys to ObjToIntMap and optimize Iterator not to search through key array tail after processing the last key. 2002-05-02 21:15:33 +00:00
igor%mir2.org 52fa3848f7 In remove set int key value to 0 so a new key with the same slot would get initial 0 after put(int, Object) 2002-05-02 21:11:05 +00:00
brendan%mozilla.org 66c0e18306 Fix js_SetProtoOrParent to handle non-native and native-but-incompatible-class-change proto-setting scenarios (140164, r=khanson, sr=jband). 2002-05-02 20:59:35 +00:00
nboyd%atg.com f458de53ca Fix broken link 2002-05-01 19:21:51 +00:00
nboyd%atg.com 1cb36d8f93 Now pass 104077. 2002-05-01 16:47:25 +00:00
igor%mir2.org 8da10d64be Allow in UintMap for any key to hold int and object values simultaneously, as the old code could only detect that the key is allowed to hold an object value only if there are no other keys with int values. In the new version, if the key is present, it always has both int and object values, but they default to 0 or int if not specified in put. It is effectively the old behavior when the map contained at least one int key, but at least it is documented. 2002-05-01 14:10:41 +00:00
brendan%mozilla.org 7be636bf86 Don't 'constant-fold' if(false)var foo=42 into nothing (140974, r=khanson, sr=shaver). 2002-04-30 23:28:34 +00:00
igor%mir2.org f8f19e8815 LabelTable cleanup:
1. Targeting of labels with 0x80000000 biscuits is moved from LabelTable to ClassFileWriter as this is classfile specific and is not necessary in Interpreter.
2. LabelTable allows for pc > Short.MAX_VALUE as this restriction is classfile specific. The only requirement is for jump offsets to stay within short range.
3. LabelTable is made private member of Interpreter and ClassFileWriter instead of being classes' superclass to avoid API leakage that forced optimizer.Codegen to declare few utility methods public as they got the same signature as LabelTable methods visible throw Interpreter inheritance.
2002-04-29 19:21:57 +00:00
igor%mir2.org a5f83f7e8c I replaced java.util.Enumeration type for result and arguments of ScriptRuntime.initEnum/ScriptRuntime.nextEnum by Object to allow for greater flexibility in for (...in...) implementation. 2002-04-29 17:31:11 +00:00
nboyd%atg.com 36d969697c Remove skip for bug 120194 2002-04-29 00:58:40 +00:00
nboyd%atg.com d11c722d61 Patch from Igor to fix 120194 2002-04-29 00:56:30 +00:00
igor%mir2.org 1faf10a430 Do not call acquireLabel/addLabelFixup/markLabel if label is not stored in parse tree and can be resolved immediately after node subtree generation (see new addForwardsGoto and resolveForwardGoto methods) 2002-04-28 15:17:24 +00:00
igor%mir2.org 47bb60c12d Do not allocate Label object and instead store label's PC and fixups in itsFixupTable and itsFixupTable arrays 2002-04-27 12:27:14 +00:00
igor%mir2.org 933b6749a9 Hiding details of omj.LabelTable implementation behind new getLabelPC, addLabelFixup, fixLabelGotos and clearLabels methods and making all its fields private. 2002-04-27 09:13:28 +00:00
darin%netscape.com 1b1677bbe9 fixes bug 129279 "nsIFile unicode/utf8/ascii task"
r=dougt sr=alecf
2002-04-27 05:33:09 +00:00
igor%mir2.org 189226474a Refactoring interpreter initialization to follow code more easily 2002-04-26 23:18:08 +00:00
igor%mir2.org 7247d7ca26 Tab removal 2002-04-26 23:14:50 +00:00
rginda%netscape.com 2c9073f1d9 - venkman only -
bug 139883, "ErrorHookProc can be tricked into thinking it never finished running", r=peterv
fixes bad early return in jsds_ErrorHookProc
test for correct max params (12, not 8) in CreatePPLineMap
use nsnull instead of 0 for null pointer return value
2002-04-26 20:57:35 +00:00
igor%mir2.org 058f6ca146 I changed VariableTable to store arbitrary Object as variable data to avoid allocation of LocalVariable in the interpreter mode as in this case only the variable name is used and it can be stored directly. It allows to remove omj.LocalVariable and omj.optimizer.OptVariableTable for the cost of having omc.JavaVariable which omj.optimizer.OptLocalVariable implement to pass to omc.ClassFileWriter debug information about the variable. 2002-04-26 08:01:29 +00:00
jband%netscape.com 3053edad20 fix bug 139243. Remove reference count based rooting of JS objects of wrapped natives and replace it with GC-time marking. This is a pretty good DOM performance win. r=dbradley sr=jst. 2002-04-26 06:08:35 +00:00
brendan%mozilla.org ec12686c50 Purge the deflated string cache entry, if any, before finalizing external strings (140070, r=jband, sr=shaver). 2002-04-25 22:55:03 +00:00
khanson%netscape.com 793ec7fc00 Reverse of Patch 66477 for bug #121744. Bug #131348, r=shaver, sr=brendan. 2002-04-25 20:33:33 +00:00
igor%mir2.org c9141d85fe Links update 2002-04-25 06:46:47 +00:00
khanson%netscape.com 90406f1bc8 fixes memory leak in jsdtoa.c bug 138666, sr=brendan, r=khanson 2002-04-24 23:36:48 +00:00
igor%mir2.org 65c51ba40f I replaced Vector by ObjArray when it was used from the single thread and similarly replaced Hashatble by ObjToIntMap when it was used from the single thread to mark keys presence ignoring values. It avoids unnecessary synchronization and save memory. To simplify the replacement I added to ObjArray and ObjToIntMap few utility methods. 2002-04-24 21:37:36 +00:00
igor%mir2.org bd97bc5dc4 Initial version 2002-04-24 07:44:52 +00:00
igor%mir2.org 0fd57cc8e2 Serialization change: implement only Serializable with custom readObject/writeObject instead of Externalizable not to invent own versioning support. 2002-04-23 22:39:25 +00:00
igor%mir2.org d85e3c8435 Updating the debugger to reflect changes in Rhino debug API. 2002-04-22 20:47:51 +00:00
igor%mir2.org 293ec8ac77 Debugger interface changes:
1. Replacing omj.debug.Debugger.enterFrame() by omj.debug.Debugger.getFrame() and omj.debug.DebugFrame.onEnter() to allow to return null from omj.debug.Debugger.getFrame to enable full optimization with debugger set if it is not interested in monitoring a particular frame

2. Changing type for the source argument in omj.debug.Debugger.handleCompilationDone from StringBuffer to String as Debugger instances should not be able to modify source even by chance.
2002-04-22 20:46:43 +00:00
nboyd%atg.com c78edeb78c Implement support for new Package(<classLoader>) 2002-04-21 01:50:43 +00:00
igor%mir2.org 96c9c4a60b Removing one more time creating of bogus activation for InterpretedScript added with the previous change 2002-04-19 20:58:03 +00:00
igor%mir2.org 77589e0e41 Making interpreter bytecode independent from Context.isGeneratingDebug so debugger can handle scripts compiled without Context.isGeneratingDebug: if itsNeedsActivation is false with debugger present, Interpreter.interpret creates activation scope and check in variable queries/assignments if they should be made against activation object and not stack[VAR_SHIFT+...] array. 2002-04-19 07:19:07 +00:00
seawood%netscape.com d42b1b1fd4 Add make -j support to win32 gmake builds.
Bug #132848 r=bryner
2002-04-19 02:42:28 +00:00
igor%mir2.org 5427ff0d5c Fixing bug 137181 so after delete arguments[i], arguments[i] and corresponding function parameter in activation are not shared:
The patch uses the special NOT_FOUND value to flag deleted indexes. It also
make sure that original array object passed to Function.call is not modified,
as all changes goes to cloned copy. It is not necessary for the fix, but it is
the only place in the current Rhino that can alter Object[] array passed to
Function.call and I think it is better to remove this exceptional case.
2002-04-16 07:28:40 +00:00
igor%mir2.org 4aafc80db4 In setAttributes(int,...) mask out unused attributes bits in the same as setAttributes(String,...) does 2002-04-16 07:24:50 +00:00
igor%mir2.org 5864247424 Replace VariableTable.getVariable(name) != null by VariableTable.hasVariable(name) and use ObjToIntMap in place of Hashtable 2002-04-14 21:32:19 +00:00