Commit Graph

3417 Commits

Author SHA1 Message Date
Brendan Eich
1d69adc89d Bug 454744 - TM: "Assertion failure: PCVAL_IS_SPROP(entry->vword)" with getter. 2008-09-11 00:04:33 -07:00
Vladimir Vukicevic
81dcc17709 Get rid of bogus nanojit arm platform stats line 2008-09-10 13:08:08 -07:00
Vladimir Vukicevic
b5c30cfadc Get rid of bogus nanojit arm platform stats line 2008-09-10 13:06:31 -07:00
Benjamin Smedberg
b7c5804c10 Merge backout of the old patch for bug 453388 - we can statically allocate Oracle again, now that we're linking using the C++ linker magic, r=crowder 2008-09-10 15:38:28 -04:00
Benjamin Smedberg
bfeb170706 Merge backouts of bug 453388 - using g++ to link libjs.so means we can have static classes 2008-09-10 15:27:17 -04:00
Benjamin Smedberg
52e1ae86c7 Backed out changeset fc4a8cc07c9f - bustage fix from the first patch for bug 453388 which is also being backed out 2008-09-10 15:21:30 -04:00
Benjamin Smedberg
e780e5e3ea Backed out changeset e2614011f194 - Bug 453388 - the better solution is to allow static objects and link libjs.so with g++ so that _init and _fini run static constructors/destructors correctly backout r=crowder 2008-09-10 15:20:01 -04:00
Benjamin Smedberg
ad47b4958a bug 453388/bug 454624 - link using g++ instead of ld, so that static constructors/destructors will fire correctly r=crowder 2008-09-10 15:16:50 -04:00
Blake Kaplan
afe8fdc761 Work around incorrect but annoying strict-aliasing warning. r=brendan 2008-09-10 00:36:01 -07:00
Blake Kaplan
bcd1f7f97d Fix bustage -- these macros are only defined if the tracer was enabled. 2008-09-10 00:12:26 -07:00
Blake Kaplan
88856d9ef1 Merge tracemonkey -> mozilla-central 2008-09-09 23:38:21 -07:00
Brendan Eich
ce15bc7cd3 Bug 454039 - TM: don't abort TraceRecorder::record_JSOP_SETPROP on cache miss (r=mrbkap). 2008-09-09 22:22:52 -07:00
Brendan Eich
7d5c49516c Back out patch for bug 454039. 2008-09-09 16:55:07 -07:00
Brendan Eich
c7b40d9f99 Bug 454039 - TM: don't abort TraceRecorder::record_JSOP_SETPROP on cache miss (r=mrbkap). 2008-09-09 16:05:04 -07:00
Brendan Eich
ad49bd309d Bug 453918 - TM: eliminate silly map_is_native guards on globalObj (r=shaver). 2008-09-09 16:01:01 -07:00
David Anderson
cd9032e6fe Fixed Linux build, extra qualification on member function. 2008-09-09 13:20:44 -07:00
Brendan Eich
34a2d3c518 Fix build bustage: parent or proto might be not JSObject* when setting to null. r=brendan, patch by bz. 2008-09-09 12:33:28 -07:00
Boris Zbarsky
4cc2ce122f Fix build bustage: parent or proto might be not JSObject* when setting to null. r=brendan 2008-09-09 15:27:19 -04:00
Brendan Eich
94b10f6170 Avoid needless prototype-shape purges (454035, r=igor). 2008-09-09 11:24:03 -07:00
Ted Mielczarek
468a3823fc bug 447642 - get rid of --disable-mochitest, replace MOZ_MOCHITEST with ENABLE_TESTS. r=bsmedberg 2008-09-09 13:59:11 -04:00
Brendan Eich
40cf4096c7 Avoid needless prototype-shape purges (454035, r=igor). 2008-09-09 09:57:10 -07:00
Andreas Gal
3c8d2430dd Merge. 2008-09-09 17:21:32 +02:00
Andreas Gal
85b1749c8c Capture the typemap of the outgoing stack frame during a function call and store a pointer to it on the native call stack. 2008-09-09 15:16:21 +02:00
Andreas Gal
6a76d26107 Extract the snapshot code for a single slot into determineSlotType() und use that method in snapshot(). 2008-09-09 15:06:23 +02:00
Blake Kaplan
4203e79309 Trace Math.max. r=brendan 2008-09-08 20:06:58 -07:00
Robert Sayre
871c6608b7 Add date tests to correctness checks 2008-09-08 22:36:30 -04:00
Robert Sayre
c6b73406b6 Add controlflow-recursive to correctness checks 2008-09-08 21:15:46 -04:00
Robert Sayre
b381016d68 Add some basic correctness tests for benchmarks 2008-09-08 21:02:57 -04:00
Brendan Eich
5b35846387 Fix bug 454266 - js_FillPropertyCache uses the wrong scope's shape sometimes (r=mrbkap). 2008-09-08 15:52:35 -07:00
Brendan Eich
cd3284e96a Fix bug 454266 - js_FillPropertyCache uses the wrong scope's shape sometimes (r=mrbkap). 2008-09-08 15:51:47 -07:00
Ben Turner
c6eb5d4c06 Properly initialized mSaveDepth in JSAutoSuspendRequest, r=sayrer. 2008-09-08 15:09:41 -07:00
Andreas Gal
32f22d2e1e Don't try to record recursion until we support it properly (454277). 2008-09-08 22:49:17 +02:00
Taras Glek
71b568fe41 bug 453889: Correct prbool misuse in spidermonkey 2008-09-08 13:41:09 -07:00
Blake Kaplan
6a6096aebd Bug 453345 - Only look at pn_extra if we're actually a list. r=brendan 2008-09-08 11:47:15 -07:00
Peter Van der Beken
79f9a72d30 Fix for bug 443415 (Name more CC edges). r/sr=jst. 2008-09-08 20:26:46 +02:00
Taras Glek
7e792aca92 bug 453892: fix prbool bugs in xpconnect. r=jorendorff 2008-09-08 11:19:58 -07:00
Taras Glek
dbf23956a4 bug 432917: Replace "must flow through label" comments with statically-checkable macro. r=igor 2008-09-08 10:51:10 -07:00
Boris Zbarsky
6e51375684 Removing shark think which landed by accident 2008-09-08 08:57:52 -04:00
Boris Zbarsky
c57647d6f4 Bug 451605. Make sure to properly restore the thisp for the innermost frame when taking a nested side exit with a callDepth > 0. r=brendan,gal 2008-09-08 08:55:20 -04:00
Igor Bukanov
27d83904e5 bug 453133 - merging JSOP_DEFUN and JSOP_CLOSURE. r=brendan 2008-09-08 13:58:17 +02:00
timeless
f7c8db5a8a Bug 330237 - editline.c:1038: warning: implicit declaration of function getpid. r=mrbkap 2008-09-08 13:27:57 +02:00
Igor Bukanov
1694ed5ded bug 454163 - fixing build problem with 64-bit debug builds. 2008-09-08 12:37:41 +02:00
Igor Bukanov
23c5063560 bug 446386 - eliminating compiler pseudo-frames. r=brendan 2008-09-08 11:47:12 +02:00
Brendan Eich
082cb07c53 Make return at callDepth 0 terminate the loop, like break (454027, r=gal). 2008-09-08 00:31:18 -07:00
Ginn Chen
b807ca4816 Bug 440714 use -xldscope for Sun Studio on Solaris r=vladimir,benjamin sr=benjamin 2008-09-08 14:21:07 +08:00
Brendan Eich
5b48852abb Patch from Mike Kaplinskiy <mike.kaplinskiy@gmail.com> implementing trim, trimLeft, and trimRight (305064, r=me). 2008-09-07 10:22:41 -07:00
Brendan Eich
e697e5113d Bug 454044 - TM: JSOP_NOT needs isPromoteInt/::demote help. 2008-09-07 01:40:24 -07:00
David Anderson
5018287de0 Trace through parseInt(double), bug 454037 r=gal+brendan. 2008-09-07 02:41:10 -05:00
Serge Gautherie
5a5f67274f Bug 398946 - Remove JS_STATIC_DLL_CALLBACK and JS_DLL_CALLBACK from the tree; "dom_quickstubs.cpp" bustage fix 2008-09-07 00:50:45 +02:00
Bob Clary
1203827f55 JavaScript Tests - correct mistaken push of incomplete universe.data, bug 399387 2008-09-22 11:50:03 -07:00
Bob Clary
62c017dc2c JavaScript Tests - regression test for bug 453397, by Boris Zbarsky 2008-09-22 10:43:47 -07:00
Bob Clary
cc9c638037 JavaScript Tests - regression tests for bug 455758, by Jesse Ruderman 2008-09-22 10:38:44 -07:00
Bob Clary
2cdc3a5e60 JavaScript Tests - regression test for bug 418051, by Jesse Ruderman 2008-09-22 10:34:35 -07:00
Bob Clary
47de4f5540 JavaScript Tests - regression tests for bug 450871, by Gary Kwong 2008-09-22 10:31:03 -07:00
Bob Clary
19473c2d93 JavaScript Tests - regression test for bug 451340, by Jesse Ruderman 2008-09-22 10:25:24 -07:00
Bob Clary
b93d8bee92 JavaScript Tests - regression test for bug 451884, by Martijn Wargers, Brendan Eich 2008-09-22 10:20:46 -07:00
Bob Clary
179693e4b6 JavaScript Tests - update known failures, bug 399387 2008-09-22 09:53:22 -07:00
Bob Clary
08158d1f7b JavaScript Tests - gczeal should be guarded, bug 456292 2008-09-21 12:44:29 -07:00
Arpad Borsos
9b6f558fee Bug 398946 - Remove JS_STATIC_DLL_CALLBACK and JS_DLL_CALLBACK from the tree; r=(benjamin + bent.mozilla) 2008-09-07 00:21:43 +02:00
Arpad Borsos
534fd11101 Bug 443058 - Remove MOZ_DECL_CTOR_COUNTER; <mozilla-central> part; r=benjamin 2008-09-07 00:04:10 +02:00
Vladimir Vukicevic
7c80853b9f Enable tracemonkey/nanojit for ARM. 2008-09-06 01:19:29 -07:00
Brendan Eich
a8474f5a5b Merge. 2008-09-05 20:31:05 -07:00
Brendan Eich
ba17412f5e Easy fixes to avoid aborting on V8/raytrace.js: MAX_CALLDEPTH doubled to 10; JSOP_NOT handles int and undefined. 2008-09-05 18:57:32 -07:00
Brendan Eich
623433f549 Merge. 2008-09-05 18:34:16 -07:00
Brendan Eich
fc936fa1da Checkpoint arguments tour-de-force (453730). 2008-09-05 18:29:08 -07:00
Vladimir Vukicevic
4a51b1989f [arm] Use preindexed STR instruction instead of separate STR and SUB in asm_pusharg 2008-09-05 18:24:58 -07:00
Vladimir Vukicevic
de76f2638d [arm] Have asm_quad copy direct from const to destination, if there's no register allocated for the const -- don't load into fp reg just to store it. 2008-09-05 17:24:54 -07:00
Vladimir Vukicevic
66c6f5db3a [arm] use arm_ADDi and let it take care of LD32 if necessary. 2008-09-05 17:23:36 -07:00
Vladimir Vukicevic
0b61a36a81 [arm] Don't load arg into a register in asm_pusharg if it's not in one already. 2008-09-05 17:19:31 -07:00
Vladimir Vukicevic
5c53ce04cc [arm] Don't use STMIA + ADD to move a fp call result into memory; use two STRs. Also use Scratch + tmp reg for asm_mmq, instead of just tmp. 2008-09-05 17:18:33 -07:00
Vladimir Vukicevic
7f39cd73d0 [arm] speed up store64 with constant value; also use xor for imm0 loads into a gp reg 2008-09-05 17:17:25 -07:00
Vladimir Vukicevic
02b2a31dc8 [arm] make asm_quad stick its constants into the instruction stream, with a branch over, to ensure that the data is close enough for a PC-relative FLDD 2008-09-05 17:15:23 -07:00
Vladimir Vukicevic
6ef2cd20aa [arm] Make ADDi into a function, since it's doing a lot of work 2008-09-05 17:14:05 -07:00
Ginn Chen
2763e5d63e Make TraceMonkey build on Solaris x86 with Sun Studio 12 (bug 452588, r=danderson). 2008-09-05 16:56:03 -07:00
Ben Turner
cb1f4f55af Bug 451731 - "Update caps, dom, xpconnect for Bug 451729 (checkObjectAccess moving to the JSContext)". r+sr=jst. 2008-09-05 16:26:04 -07:00
Ben Turner
1e5c70827f Bug 451729 - " Allow runtime's security callbacks to be overridden by a context". r=brendan. 2008-09-05 16:24:53 -07:00
David Anderson
85d4033733 Fixed a verbosity mode memory leak in LirNameMap::addName (bug 453895, r=sayrer). 2008-09-05 16:05:13 -07:00
Ginn Chen
a3f5be56ad Added new macro AVMPLUS_UNIX to reduce redundancy and add Solaris support to the TM browser build (bug 452589, r=dvander). 2008-09-05 15:15:00 -07:00
David Anderson
9937dc1262 Trace through Math.log as a known native (bug 453868, r=brendan). 2008-09-05 14:25:01 -07:00
David Anderson
ba87213e86 Abort tracing if a callee encounters a primitive |this| and doesn't support it (bug 453701, r=brendan). 2008-09-05 13:55:03 -07:00
Jason Orendorff
edf679ff71 Merge more work by Jim Blandy on bug 97954. 2008-09-05 15:05:26 -05:00
Benjamin Smedberg
7dcf85d822 Bug 453658 - /s /S /w /W in character classes perform very poorly. r=crowder (showed up as Dromaeo test "DOM MOdification (Prototype): update()" 2008-09-05 14:21:32 -04:00
Jim Blandy
90bf6a2d1e Bug 97954: Give jsconfig.h a better name, and make room for the new js-config.h. r=bsmedberg
We'd like the SpiderMonkey configure script to generate a header file
named js-config.h to hold #definitions chosen at configure time that
affect the SpiderMonkey API, like JS_THREADSAFE.  However, that name
is very similar to that of an existing header file, jsconfig.h.  This
patch renames the existing header file, and updates all references to
it.

--HG--
rename : js/src/jsconfig.h => js/src/jsversion.h
2008-09-05 10:19:17 -07:00
Bob Clary
7f29a56794 Sisyphus - JavaScript Tests - add jit options for browser tests, bug 453798 2008-09-05 03:17:57 -07:00
Bob Clary
8496771762 JavaScript Tests - escape timezone in patterns in known-failures.pl, bug 453298 2008-09-05 12:02:23 +02:00
Bob Clary
9a8804741a JavaScript Tests - known failures update, bug 399387 2008-09-05 11:51:18 +02:00
Bob Clary
0787ad80e8 JavaScript Tests - known failures update, bug 399387 2008-09-05 11:42:42 +02:00
Brendan Eich
ff7bea2566 Use js_NaN global that we exported from jsnum.cpp, instead of cx->runtime->jsNaN. 2008-09-04 22:30:04 -07:00
Blake Kaplan
b4d3674f58 Bug 453747 - Replace any holes on the stack with undefined. r=gal 2008-09-04 22:14:27 -07:00
Brendan Eich
ce684a0a6e Bug 453747 - Avoid overuse of the fun_getProperty class getter to optimize getting and setting random properties on functions. r=mrbkap 2008-09-04 21:56:37 -07:00
David Anderson
3e31bc7fb2 Another fix for the patch to bug 452884 -- when ignoring switch guards, don't update the tracker stack. 2008-09-04 20:11:58 -07:00
David Anderson
8c610797f3 Merge. 2008-09-04 19:43:58 -07:00
David Anderson
05991c905d Better fix for bug 452884 (changeset badf4c84665f regressed) - don't emit guards rather than bailing out of comparisons (r=gal). 2008-09-04 19:43:07 -07:00
David Anderson
f7e43913ab Fixed verbose printing typo on AMD64. 2008-09-04 19:39:18 -07:00
Brendan Eich
ae2a22c019 Bug 453747 - Avoid overuse of the fun_getProperty class getter to optimize getting and setting random properties on functions. r=mrbkap 2008-09-04 19:30:58 -07:00
Brendan Eich
b35babfe1d House style bracing for multiline then clause. 2008-09-04 18:53:31 -07:00
Brendan Eich
b1ff34380c Merge again. 2008-09-04 18:46:36 -07:00
David Anderson
1fef1cf8ac Make sure 32-bit loads into 64-bit registers are sign-extended. 2008-09-04 18:32:00 -07:00
David Anderson
09123ebd63 Don't guard on constant decisions, which will always have the same path (bug 452884, r=gal). 2008-09-04 14:44:59 -07:00
Jim Blandy
9a1e56065c Bug 453696: js/src/Makefile.in lists host_jsoplengen twice in HOST_SIMPLE_PROGRAMS r=mrbkap
The text deleted by this patch appears again verbatim directly above
the hunk's context.
2008-09-04 13:39:26 -07:00
David Anderson
b15e1fe4d3 Re-enabled the shell JIT as trace-tests and SunSpider pass again. 2008-09-04 11:59:06 -07:00
David Anderson
073cbf54c2 Improved AMD64 allocation for float ops that get stored back into memory. 2008-09-04 11:56:54 -07:00
David Anderson
5e828c58d4 Fixed float ops to deal with being handed an LHS GPR reservation on AMD64.
Fixed nanojit LIR verbosity crashing on AMD64.
2008-09-04 11:53:49 -07:00
David Anderson
ede63892f9 Disabled building AMD64 JIT in shell until regressions are tracked down. Fixed some compiling errors while I'm poking around here (bug 453674). 2008-09-04 10:58:35 -07:00
Neil Rashbrook
4625709517 Fixed nanojit not building on VC 7.1 (bug 453636, r=dvander). 2008-09-04 10:29:50 -07:00
Brendan Eich
2f9c49047e Merge. 2008-09-04 01:21:49 -07:00
David Anderson
afe91e2757 Merge. 2008-09-03 23:28:27 -07:00
David Anderson
b791826dc5 Fixed JSOP_NEG with 0 being tracked as a promotable int, and added an equals-zero guard for the same opcode (bug 453049, r=gal). 2008-09-03 23:27:58 -07:00
Brendan Eich
d518e5c6a7 Missing guard for CallGetter builtin (453580, r=gal). 2008-09-03 22:42:41 -07:00
Brendan Eich
9657023ef6 Missing guard for CallGetter builtin (453580, r=gal). 2008-09-03 22:32:13 -07:00
Blake Kaplan
d9be63b689 Handle an interpreted constructor returning an object. r=brendan 2008-09-03 18:21:15 -07:00
Jason Orendorff
e3c32c3566 Bug 442086 - XPConnect creates doubles without checking for the INT_FITS_IN_JSVAL case (r=jst,sr=brendan) 2008-09-03 15:38:45 -05:00
Jason Orendorff
4dda6aa8e5 Bug 453383 - Confusing comment, bogus indentation in jsobj.cpp (r=mrbkap) 2008-09-03 15:30:13 -05:00
Jason Orendorff
445f7292b2 Bug 453105 - Error: setting a property that has only a getter on cars.com (r+sr=bzbarsky) 2008-09-03 15:28:13 -05:00
Taras Glek
8e0c84faf7 bug 453476: Some files didn't get compiled with -fno-exceptions. r=shaver 2008-09-03 10:53:36 -07:00
Benjamin Smedberg
89e10926d5 Bug 453341 - Allow stack checking to be suppressed per-function, r=dmandelin sr=jst 2008-09-03 13:00:12 -04:00
Andreas Gal
1d44de3cb6 Merge. 2008-09-03 01:22:07 -07:00
Andreas Gal
483b7fd5a1 Removed a bogus assert. Inner loops can exit on a goto in case we hit a break (453051). 2008-09-03 01:21:21 -07:00
Brendan Eich
4fa7c5195d Put the trace-recording/executing flag in the trace monitor to handle many contexts per thread (451666, r=gal). 2008-09-03 00:38:24 -07:00
Andreas Gal
c466258c18 Limit tree growth to 16 traces per tree to avoid code explosion due to tail duplication (452869, r=danderson). 2008-09-02 23:52:11 -07:00
Andreas Gal
78b5b7fc05 Merge. 2008-09-02 23:11:51 -07:00
Andreas Gal
59b5581857 Add V8 benchmark suite. 2008-09-02 23:11:15 -07:00
Brendan Eich
3cd36a3b5f Fix JS_THREADSAFE build, pick extern nit. 2008-09-02 23:00:23 -07:00
Vladimir Vukicevic
dfd7f72c0a Fix up some ifdefs and debug printfs 2008-09-02 22:42:25 -07:00
Vladimir Vukicevic
a4ec50d569 Add VFP for floating point ops to nanojit ARM backend. 2008-09-02 22:29:23 -07:00
Vladimir Vukicevic
628b27d198 Indentation sanity fixes; no code changes. 2008-09-02 22:29:23 -07:00
Vladimir Vukicevic
2a520bab9f Split NativeThumb.cpp into NativeThumb.cpp and NativeARM.cpp; no code changes. 2008-09-02 22:29:23 -07:00
Vladimir Vukicevic
420e72ed85 b=449526, TM: fix up ARM code generation / softfloat 2008-09-02 22:29:23 -07:00
Brendan Eich
e3916b316d Teach js_IsLoopExit about JSOP_AND, JSOP_OR, etc. and separate extended jump cases so they can get the extended offsets. 2008-09-02 22:29:06 -07:00
Blake Kaplan
3d517dff43 Remove outdated comment. r=gal 2008-09-02 22:18:57 -07:00
Andreas Gal
f91071f139 Allocate the oracle dynamically instead of making it a global object to avoid atexit C compatibility issues (453388, r=danderson). 2008-09-02 21:56:22 -07:00
Taras Glek
b9b82a2bc3 bug 443286: avoid hidden return in CHECK_AND_SET_JUMP_OFFSET. r=igor 2008-09-02 20:50:19 -07:00
Brendan Eich
48926ba363 Fix bool FASTCALL vs. Nanojit calling convention bug, also some non-bool whoppers caught in the process (453361, r=mrbkap). 2008-09-02 15:37:22 -07:00
Brendan Eich
743793bc50 Fix warning pulled over from m-c (mrbkap will track down). 2008-09-02 15:30:42 -07:00
David Anderson
be89898254 Merge with mozilla-central. 2008-09-02 14:17:19 -07:00
Blake Kaplan
8f80eec070 Don't flush anything if we're not even enabled. r=gal 2008-09-02 14:02:13 -07:00
Taras Glek
c8962c44c2 bug 441362: Avoid an invisible return. r=igor 2008-09-02 13:32:27 -07:00
David Anderson
0af468fa80 Fixed accidental debugging change I pushed with changeset de2d26b3c902. 2008-09-02 12:36:23 -07:00
Ginn Chen
76f8dc0daf On x86 compilers without fastcall, simulate it when invoking traces and un-simulate it when invoking builtins (bug 452390, r=dvander). 2008-09-02 11:43:55 -07:00
David Anderson
ceb2e8139c Build fixes for MSVC 7.1 and mingw (bug 451881, patch from neil@parkwaycc.co.uk). 2008-09-02 10:28:14 -07:00
David Anderson
b6b115b496 Fix for building on FreeBSD (bug 452315, patch from Jeremy Lea). 2008-09-02 10:21:41 -07:00
David Anderson
1be49b5c2e Use mmap() instead of valloc() in nanojit, abort on mprotect() failure (bug 451946, patch+r from Asko Tontti). 2008-09-02 10:15:26 -07:00
Andreas Gal
1d525db0e4 New attempt at fixing 453235. If building without JIT (like PPC/MacOSX), don't include the deep abort calls in jsinterp.cpp 2008-09-01 18:40:45 -07:00
Andreas Gal
1632042ed8 Merge. 2008-09-01 18:37:27 -07:00
Andreas Gal
4a36a6b709 Backed out changeset 25f856429db3. Wrong fix. Looks like jstracer.h is not included. We in fact can call methods of TraceRecorder directly. Sigh. I wish we had a try server. 2008-09-01 18:37:04 -07:00
Andreas Gal
d85543063d Merge. 2008-09-01 18:33:05 -07:00
Andreas Gal
fe70cfea9b Introduce js_DeepAbort to be used from jsinterp.cpp, instead of trying to call TraceRecorder->deepAbort directly (453235). 2008-09-01 18:32:41 -07:00
Brendan Eich
b3042b928d Holey single-element dense array has null dslots, requires nulld defense (453173). 2008-09-01 13:59:30 -07:00
Brendan Eich
cda5a77a1b Fast followup fix for unintended change to 'f' prefix handling in TraceRecorder::record_JSOP_NEW (452878). 2008-09-01 01:44:26 -07:00
Brendan Eich
5a8cb06838 Kind of an Array initialiser tour-de-force for bug 452878:
1. Split FastNewArray from FastNewObject built-in for greater speed/specialization and further splitting into Array_1str, etc.
2. Add Array_1str, Array_2obj, and Array_3num builtins for benchmarked new Array(...) constructions.
3. Export ARRAY_SET_DENSE_LENGTH and ARRAY_GROWBY via jsarray.h to jstracer.cpp.
4. Tweaked SetArrayElement to make common/best case code be the predicted/prefetched path.
5. js_MakeArraySlow now preserves the pre-slow length in JSSLOT_ARRAY_COUTN as a jsval-tagged int if possible -- this will help the tracer avoid aborting on dense arrays that turned slow but not sparse by addition of a named property.
6. Export js_fun_apply and js_Object from their respective .cpp files, in these cases just to jstracer.cpp via local prototypes (no .h files involved).
7. More INS_CONSTPTR and INS_CONST macrology for better names in trace debug spew.
8. Fix TraceRecorder::test_property_cache to avoid aborting on JSOP_SETNAME that creates a new global, by setting it to undefined so it can be lazily imported. This helps 3d-raytrace.js, which has an unintended global loop control variable in a function.
9. JSTraceableNative loses its premature-deadwood tclasp member (my bad).
10. TraceRecorder::record_JSOP_NEW() handles 'new Object' now along with the 'new Array' variations. I also cut down the copy-paste code from JSOP_CALL's record method to mostly what is needed now.
11. Add KNOWN_NATIVE_DECL macro for concise prototype of library-private js_* native functions, and alphabetized the lists (too long for any other order to be winning).
12. Big honking special case for foo.apply(obj, [str]), which we can generalize as needed. Helps string-tagcloud.js. What's cool is how tracing allows us to rewrite this to foo(str) with this set to obj, eliminating the Function.prototype.apply. This requires some rewriting in JSOP_ENDINIT's record method.
2008-09-01 01:24:58 -07:00
Robert Sayre
7cca7713be Add tests containing switch statements 2008-08-30 19:35:38 -04:00
Robert Sayre
52a7fb0b98 Add test for more bitwise ops 2008-08-30 19:20:54 -04:00
Jesse Ruderman
1b5148d940 Bug 452905 - Make js_RecordTree printfs only appear with TRACEMONKEY=verbose. r=gal 2008-08-30 02:21:00 -07:00
Brendan Eich
c7604aac4c - Support JSOP_CONDSWITCH's JSOP_CASE and extended-jump-offset JSOP_CASEX variants properly.
- Fix sleep-deprived constant conditions due to failure to test flags & CMP_TRY_BRANCH_AFTER_COND!
- Use new TraceRecorder::fuseIf that Andreas added in a few more places where the previous try-branch-after-cond logic was open-coded.
2008-08-30 00:01:59 -07:00
Blake Kaplan
2782b3de85 Fix gmail crash by not tracing switches. r=brendan 2008-08-29 19:01:00 -07:00
Blake Kaplan
219161a0aa Abort (deeply) if we re-enter js_Interpret in the middle of a trace. r=brendan 2008-08-29 18:59:21 -07:00
Andreas Gal
ea15fc19ef Fixed an signed/unsigned comparison warning in an assert in jstracer.cpp. 2008-08-29 17:54:39 -07:00
Andreas Gal
33c4a8e742 Merge. 2008-08-29 17:35:34 -07:00
Andreas Gal
113ad8babe Add builtins for toLowerCase, toUpperCase and replace(str,str) (452885, r=mrbkap). 2008-08-29 17:35:00 -07:00
Brendan Eich
45ea54d2d1 Don't let GC run when recording. 2008-08-29 16:04:54 -07:00
Blake Kaplan
ee86ee3cf1 Bug 452329 - Fix a bad assumption. r=brendan 2008-08-29 16:03:18 -07:00
Blake Kaplan
48fb3e7f94 Bug 452875 - Ensure we intern the id for JSOP_IN. r=brendan 2008-08-29 15:59:09 -07:00
David Anderson
7515a0583e Merge. 2008-08-29 15:38:05 -07:00
David Anderson
f720beb914 Fixed double-as-integer check not handling negative zero (bug 452170, r=gal). 2008-08-29 15:37:37 -07:00
Andreas Gal
f29178e950 Track number of breaks we generate loop exits for. 2008-08-29 15:29:55 -07:00
Andreas Gal
1e41ca88af Long-form conditional branches (IFEQX, IFNEX) are never fused, so don't check for them in fuseIf. 2008-08-29 15:20:36 -07:00
Andreas Gal
57a8fae3d1 Merge. 2008-08-29 15:17:20 -07:00
Andreas Gal
9e7246a2b9 Track locations of control-flow merges in cfgMerges during recording (452869). 2008-08-29 15:12:17 -07:00
David Anderson
a2fdc866ff Fixed assumptions that nanojit's insCall() would not clobber the input argument array (bug 452853, r=gal). 2008-08-29 14:22:21 -07:00
David Anderson
f10bd19c8e Abort recording on invalid string indexes for JSOP_GETELEM (bug 452713, r=brendan). 2008-08-29 13:05:41 -07:00
Robert Sayre
f35adba372 Add tests covering division. 2008-08-29 13:04:08 -04:00
Robert Sayre
5d1f73ba74 Add tests for continue statement. 2008-08-29 11:01:56 -04:00
Brendan Eich
f92de94117 Fix bogus JOF_VARPROP test; fix uninitialized id in JSOP_IN recorder, should have caught it when I reviewed danderson's patch. 2008-08-29 00:58:10 -07:00
Brendan Eich
18d5749230 Fix upvar decompilation for eval-from-fun case (452441, r=igor). 2008-08-29 00:24:11 -07:00
Brendan Eich
655888f31e Consolidate equal and cmp code harder, trace switch ops, use INS_CONST more (bug to be filed -- bugzilla down atm). 2008-08-28 23:50:48 -07:00
Andreas Gal
1115d0162b Unroll loops we were not able to call once, but only if we don't have a tree available for that loop header. 2008-08-28 23:19:23 -07:00
Andreas Gal
535bdef3ee Merge. 2008-08-28 22:34:14 -07:00
Andreas Gal
c263b7a218 Merge. 2008-08-28 22:33:45 -07:00
David Anderson
951c95658a Fixed trying to record JSOP_IN with some unusuable left-hand values (bug 452724, r=brendan). 2008-08-28 22:33:32 -07:00
Andreas Gal
4fb4d1fdc5 Monitor downward branches only during recording (452709). 2008-08-28 22:33:22 -07:00
Brendan Eich
1f07d79c75 Abort trace if forInLoop values are not stable; currently, not strings (bug 452703). 2008-08-28 21:41:15 -07:00
Brendan Eich
25a591f870 Fixed bogus assertion in test_property_cache (bug 452693, r=dvander). 2008-08-28 21:15:39 -07:00
Jesse Ruderman
5663d9166a Turn NANO_DIE macro into NanoAssertFail function so that it shows up in stack traces. Having it appear in stack traces makes it clear the exit was due to an assertion failure rather than a real crash. Followup to bug 452674. 2008-08-28 19:07:49 -07:00
Andreas Gal
aaf46f467e Merge. 2008-08-28 17:47:11 -07:00
Andreas Gal
f10a08c384 Cleanup detection of gotos that were emitted as a result of a BREAK statement. 2008-08-28 17:46:25 -07:00
David Anderson
6ab07e371a Merge. 2008-08-28 17:28:36 -07:00
David Anderson
d5e48e84d7 Added descriptive messages to always-taken assertions in Nativei386.cpp. 2008-08-28 17:27:29 -07:00
Jesse Ruderman
db3a854298 Fix NanoAssertMsgf in non-debug builds. Regression from my patch in bug 452674. 2008-08-28 17:15:51 -07:00
Andreas Gal
65bc53f864 Merge. 2008-08-28 17:01:22 -07:00
Andreas Gal
c0e0852952 Notify the monitor of all branches, not just backwards branches. 2008-08-28 17:00:52 -07:00
Jesse Ruderman
67955c4c42 Add a message to a NanoAssert(0) to make it possible to match against. r=gal 2008-08-28 17:00:52 -07:00
Jesse Ruderman
12aa1d345a Bug 452674: change NanoAssert* macros to make it easier to check for nanojit assertions in automated testing. r=danderson. 2008-08-28 16:57:49 -07:00
Blake Kaplan
977123733e Bug 452338 - Abort on the weird case where we find a global name on the prototype of the scope chain. r=brendan 2008-08-28 16:37:03 -07:00
Andreas Gal
c274daed5c Merge. 2008-08-28 14:51:16 -07:00
David Anderson
1b50da7117 Abort recording on JSOP_INCPROP with an invalid slot (bug 452336, r=brendan). 2008-08-28 14:43:44 -07:00
Andreas Gal
453ea3339f If the inner tree cannot be adjusted to match the call site of the outer tree because it uses an int where the outer tree uses a double, trash the inner tree, not the outer one. In CallTree, return the innermost guard we return from, not the outermost one. Jump over at most 1 loop edge that doesn't go back to our own header, not an arbitrary amount. 2008-08-28 14:24:58 -07:00
David Anderson
48fe80af99 Merge. 2008-08-28 13:15:34 -07:00
David Anderson
eb051d8c73 Better fix for bug 451666 - only track new rval for primitives (r=brendan). 2008-08-28 13:14:59 -07:00
Blake Kaplan
1006bbf99c Bug 452333 - Don't push tagged jsvals on the stack. r=brendan 2008-08-28 12:40:48 -07:00
David Anderson
d7c4af1e0c Merge. 2008-08-28 11:56:45 -07:00