Igor Bukanov
fed9242625
bug 517199 - typed GC free lsists - newborn refactoring. r=brendan
2009-10-01 08:13:04 +04:00
David Anderson
560cc2ef8c
Fixed GCC complaints (recursion fallout 3, yay).
2009-09-30 19:58:54 -04:00
David Anderson
3e3b3a2362
Trace recursive function calls (bug 459301, r=gal).
2009-09-30 15:28:00 -07:00
Jason Orendorff
b74384b5c8
Backed out changeset 3f508cfdfa36 (bug 500431) due to tinderbox orangeness
2009-09-18 08:55:01 -05:00
Jason Orendorff
b040e5c724
Bug 500431 - Encapsulate the property cache using C++ best practices - Part 2, refactoring. r=Waldo.
2009-09-17 18:24:38 -05:00
Brendan Eich
eaabbf253c
Bug 516075 - Move shape into JSObjectMap from JSScope, const-ipate and use LIR_ldc* to get to it (r=jorendorff).
2009-09-14 20:29:46 -04:00
Igor Bukanov
6bfe4771cc
bug 513190 - avoiding jsint tagging of the private slot data. r=jorendorff
2009-09-05 19:59:11 +04:00
Gregor Wagner
cf62469ed2
Fast path for js_StringToInt32 if string length is 1 (bug 514267, r=brendan).
2009-09-04 16:26:08 -07:00
Luke Wagner
5c14309cd1
Bug 511750 - factor template utilities into js::tl (r=brendan)
...
--HG--
extra : rebase_source : a5a396811268e71af8e56c66dab491f3081bc20a
2009-09-01 18:46:19 -07:00
Igor Bukanov
b919139e8d
bug 511425 - removal of JSObjectOps.(get|set)RequiredSlot. r=brendan
2009-08-28 09:53:26 +04:00
Luke Wagner
a5b9103165
Bug 419743 - Add JSOP_CONCATN (r=waldo)
2009-08-18 15:43:17 -07:00
Jason Orendorff
c45d09492c
Bug 507683 part 1 - Trace native getters. r=gal.
...
--HG--
extra : rebase_source : f73754b7946e3d525b11f5973c61e22bd2f56dba
2009-08-25 15:01:29 -07:00
Igor Bukanov
7e607aac4d
bug 495061 - js_PutArgsObject and js_PutCallObject that never fail. r=brendan
2009-08-14 20:43:16 +02:00
Luke Wagner
fa2f83712c
Bug 507458 - clear the waters a bit regarding JSVAL_BOOLEAN
2009-08-12 16:39:23 -07:00
Jason Orendorff
9dc4a54a5d
Bug 498488 - Change some JSObject macros to methods. r=Waldo.
2009-08-11 15:05:44 -05:00
Robert Sayre
99a0962393
Backed out changeset e09130fcb013
2009-07-28 18:51:35 -04:00
Brendan Eich
8d27b07ec5
Bug 471214 - Join function objects transparently, clone via read barrier to satisfy de-facto standard (r=igor).
2009-07-28 13:20:14 -07:00
David Mandelin
cfb0d1fd1b
Bug 506821: clean up trailing whitespace, r=brendan
2009-07-27 18:40:12 -07:00
Jason Orendorff
08e0a53af4
Bug 503408 - Trace native setters. r=brendan.
2009-07-27 16:47:34 -05:00
Jason Orendorff
a31f80165c
Bug 503080 - Remove prototype-scope-sharing. r=brendan.
2009-07-21 16:25:11 -05:00
Jeff Walden
8361fadbb2
Bug 503992 - js_Int32ToId doesn't return the right id when passed a negative integer which doesn't fit in a jsval. Also change how 'in' is interpreted on trace so that we don't side-exit when the named property exists directly on the object. ALL HAIL TESTCASES! r=jorendorff
2009-07-15 02:48:49 -07:00
Andreas Gal
1af8dfb112
Avoid integer division in NewGCThing path (503157, r=jwalden).
2009-07-14 17:06:09 -07:00
Andreas Gal
f552010935
Make js_ValueToString inline (503669, r=jwalden).
2009-07-13 14:55:04 -07:00
David Anderson
a46f3aa0f0
Fix -0 modulo -x disagreement on Windows (bug 503595, r=sayrer).
2009-07-11 12:40:37 -07:00
Brendan Eich
f60779aef5
Bug 503343 - Change JSScope macros to methods. r=jorendorff
2009-07-09 15:27:21 -05:00
Jason Orendorff
d9e1f3aa40
Bug 502914 - JIT code can call js_AddProperty when the property already exists (Assertion failure: !SCOPE_HAS_PROPERTY(scope, sprop), at ../jsbuiltins.cpp:257). r=gal.
2009-07-08 15:44:58 -05:00
David Mandelin
975f74c278
Bug 453730: trace JSOP_ARGUMENTS, r=gal
2009-07-08 11:16:41 -07:00
Andreas Gal
b7aae8df42
Missing strtointeger path in js_StringToInt32 (501124, r=brendan).
2009-06-29 10:55:43 -07:00
Jason Orendorff
52fe5a97ba
Bug 497618 - Change JSString macros to methods. r=Waldo.
2009-06-10 20:29:44 -05:00
Igor Bukanov
92f94e451c
bug 491126 - sharing object map for non-native objects. r=brendan
2009-05-14 12:35:23 +02:00
nnethercote@mozilla.com
1f7e5c0ef5
kill builtins.tbl (479888, r=jorendorff).
2009-05-05 17:36:26 -07:00
Graydon Hoare
bb4177dccd
Bug 490044 - TM: Add deep-bailing write barrier to global shape change code, r=brendan.
2009-04-24 17:47:32 -07:00
Igor Bukanov
4ad2e764fa
bug 488414 - js_GenerateShape just schedules, not run, the GC. r=brendan,gal
2009-04-20 12:10:29 +02:00
Igor Bukanov
fd49b19773
Backed out changeset f4662701526b (bug 488414) to fix !JS_THREADSAFE compilation errors
2009-04-20 11:59:36 +02:00
Igor Bukanov
56547f8087
bug 488414 - js_GenerateShape just schedules, not run, the GC. r=brendan,gal
2009-04-20 10:17:28 +02:00
Andreas Gal
da0094a55c
Backed out changeset 324bb9dc8372 (bug 487204 is implicated in top site failures).
2009-04-17 12:41:00 -07:00
Andreas Gal
6520b20732
Backed out changeset 5bd116148175 (attempting to re-land bug 487204).
2009-04-16 17:56:18 -07:00
Andreas Gal
3b10c56019
Backed out changeset d1a4ee3d0c59 (bug 487204, due to possible leak).
2009-04-16 12:19:24 -07:00
Igor Bukanov
577cb23ac0
bug 487204 - avoiding extra locks for js_Native(Get|Set). r=brendan
2009-04-15 21:13:27 +02:00
Jason Orendorff
a68535ead5
Bug 487550 - "Assertion failure: cx->bailExit" with {__proto__: window}. r=brendan.
2009-04-14 16:59:55 -05:00
Jason Orendorff
b5d4ba583e
Bug 487676 - Nesting deep-aborting trace calls don't work. r=gal.
...
--HG--
extra : rebase_source : 436164485bd5e981e5ae8997eed2c371f3ecd77b
2009-04-09 18:07:00 -05:00
Brendan Eich
962b187fe5
upvar2, aka the big one take 2 (452598, r=mrbkap).
2009-04-05 21:17:22 -07:00
Andreas Gal
706120c0fb
Backed out changeset 972c44aa9d1f (bug 452598).
2009-04-04 10:14:52 -07:00
Brendan Eich
5f4d9ff474
upvar2, aka the big one (452598, r=mrbkap).
2009-04-04 10:05:49 +01:00
Jim Blandy
875aee5e88
Bug 479258: Include "jsstdint.h" for <stdint.h> type use within SpiderMonkey. r=brendan
2009-03-18 11:38:16 -07:00
Brendan Eich
f32c3d8613
Bug 480657 - TM: Add an API to define traceable constructors (r=gal, jorendorff).
2009-03-03 22:53:27 -08:00
Andreas Gal
4c04aa2f53
Backed out bug 480657. Massive failures across all platforms.
2009-02-28 23:40:04 -08:00
Andreas Gal
7bd6cbad5f
Add an API to define traceable constructors (480657, r=brendan).
2009-02-28 18:18:42 -08:00
Igor Bukanov
896a95119f
bug 477706 - fixing most VC 2005 warnings. r=gal,mrbkap
2009-02-26 09:49:39 +01:00
Jim Blandy
ede7e6d142
Bug 391488: Eliminate PTRDIFF macro; delete jssttddef.h. r=jimb
...
Delete jsstddef.h, since its only remaining purpose is to make certain
Win16-specific definitions; we don't support Win16 any more. In
particular, we can just subtract pointers now, so the PTRDIFF macro is
unnecessary noise.
Most places get stddef.h via jstypes.h or some other header, so we can
just delete #inclusions of jstddef.h. The exception is jskwgen.h, so
there we explicitly include <stddef.h> instead.
2009-02-18 09:14:51 -08:00
Jason Orendorff
dcbe94da52
Bug 473075 - TM: HasProperty can call into exotic lookupProperty hooks. r=brendan.
...
--HG--
extra : rebase_source : 3a242c9fc4d0c41747169e39831ecf08e8b79017
2009-02-05 19:49:54 -06:00
Jeff Walden
3c038a63cb
Bug 463243 - Assert correct type in JSVAL_TO_* (and vice versa) macros to fail fast when type errors happen. r=brendan
2009-02-03 13:56:25 -08:00
Jason Orendorff
2ba2f5d3ed
Bug 475761 - TM: js_Any_GetProp and friends can reenter. r=brendan. Note that this patch alone does not fix the bug. The rest of the fix comes in bug 462027.
2009-01-29 00:13:03 -06:00
Jason Orendorff
6142999fde
Bug 468782 - TM: js_FastValueToIterator and js_FastCallIteratorNext can reenter (relanding with a bug fix). r=brendan. Note that this changeset alone does not fix the bug; an upcoming patch in bug 462027 completes the fix.
2009-01-28 09:24:35 -06:00
Andreas Gal
868cf7c72c
Backed out changeset ece63b96379b
2009-01-27 00:10:38 -08:00
Jason Orendorff
c0cc74fa99
Bug 468782 - TM: js_FastValueToIterator and js_FastCallIteratorNext can reenter. r=brendan. Note that this changeset alone does not fix the bug; an upcoming patch in bug 462027 completes the fix.
2009-01-27 00:19:58 -06:00
Andreas Gal
184fc63cd1
Backout bug 468782. Confirmed to leak.
2009-01-25 16:38:31 -08:00
Jason Orendorff
c9961fe054
Bug 468782 - TM: js_FastValueToIterator and js_FastCallIteratorNext can reenter. r=brendan. Note that this changeset alone does not fix the bug; an upcoming patch in bug 462027 completes the fix.
2009-01-22 16:39:26 -06:00
Andreas Gal
920ecc2113
Backed out changeset 17663da1b840 (bug 462027).
2009-01-23 15:14:46 -08:00
Jason Orendorff
9ff9140ae0
Bug 468782 - TM: js_FastValueToIterator and js_FastCallIteratorNext can reenter. r=brendan. Note that this changeset alone does not fix the bug; an upcoming patch in bug 462027 completes the fix.
...
--HG--
extra : rebase_source : 585d590aace159914629a786489b0883d23cf2a8
2009-01-22 16:39:26 -06:00
Robert Sayre
8549b885a1
Bug 466781 - TM: inconsistent (0 in d) where d is a String. r=brendan
2009-01-09 00:59:24 -05:00
Andreas Gal
8b28ae8610
Store frame state information in the code cache and merely put a pointer to it onto the native call stack (470375, r=danderson).
2009-01-01 17:55:43 -08:00
Brendan Eich
56658da21f
Bug 465460 - TM: valueOf ignored on third iteration of loop (r=gal).
2008-12-16 19:03:42 -08:00
Robert Sayre
443f738d12
Backed out changeset f682453c06d0. Failing scriptaculous unit tests, doesn't build on windows or mac ppc.
2008-12-11 20:43:32 -08:00
Brendan Eich
ece10ee8df
Bug 465460 - TM: valueOf ignored on third iteration of loop (r=gal).
2008-12-11 17:50:56 -08:00
Brendan Eich
37c40ca7c0
Merge.
2008-11-17 16:29:40 -08:00
Brendan Eich
4f1fb4a478
No else after return if you please.
2008-11-16 23:16:30 -08:00
Andreas Gal
c19528a655
Inline int32 to id fast path into the builtins (465268, r=danderson).
2008-11-16 22:20:34 -08:00
Andreas Gal
3c5889df4e
Fix tracing of JSOP_IN (465241, r=danderson).
2008-11-16 22:13:13 -08:00
Andreas Gal
bd10f75bdb
Can't bypass ECMADoubleToInt32 in js_StringToInt32 (465239, r=danderson).
2008-11-16 20:43:13 -08:00
Jeff Walden
dded0f5f95
Bug 462060 - TM: JIT: Initializing an array to a constant in a loop doesn't work for some constant values. r=brendan
2008-11-15 16:42:35 -08:00
Andreas Gal
e609f0bb95
Cleanup GuardRecord, SideExit, and InterpStruct and extract VM-dependant fields (463313, r=danderson).
2008-11-07 15:23:43 -08:00
Brendan Eich
6ddc16bbe2
Bug 462103 - TM: We don't trace some variants of string + other type (gal+brendan red-headed stepchild).
2008-10-29 00:14:30 -07:00
Andreas Gal
b14d526b66
Merge.
2008-10-21 17:50:52 -07:00
Andreas Gal
ec7efc925c
Remove code to unlink trees to reduce the size of GuardRecord. Allow GuardRecords to share one common SideExit structure. The VM places both explicitly into the LIR (460538, r=danderson).
2008-10-21 17:50:32 -07:00
Jason Orendorff
d922cb412a
Bug 460495 - TM: builtins js_Any_getelem, js_Any_setelem should take int32. r=gal.
2008-10-20 14:20:22 -05:00
Andreas Gal
9bfc3c5072
Properly recover from a nested side exit with more than a single level of nesting (459539, r=danderson).
2008-10-12 15:39:32 -07:00
Jason Orendorff
232767cb27
Bug 459294 - TM: move soft float builtins next to SoftFloatFilter. r=andreas.
2008-10-10 11:31:23 -05:00
Jason Orendorff
a27d101dab
Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith)
2008-10-08 17:08:33 -05:00
Brendan Eich
19e9638dc3
Bug 457920 - regexp-dna.js and generality want JSOP_GETELEM(dense array, "0") (r=mrbkap/gal).
2008-10-06 22:30:36 -07:00
Boris Zbarsky
cab53dbee6
Bug 456165. Trace |new Date()|. r=brendan
2008-10-06 20:28:22 -04:00
Graydon Hoare
7bd301d171
Bug 458431 - expression-ordering fix for traced Math.max(0,-0), r=mrbkap
2008-10-03 14:07:33 -07:00
Boris Zbarsky
fe2220afb1
Bug 456165 part 2. Trace Date.now. r=gal
2008-09-26 14:37:50 -04:00
Andreas Gal
5b117e1c3f
Rewrite and cleanup GETELEM and SETELEM (455748, r=brendan).
2008-09-25 11:31:40 -07:00
Andreas Gal
eb5f8be2b1
Demote modulo operations to integer if both args are int (456934, r=brendan).
2008-09-24 23:28:56 -07:00
Andreas Gal
958c18fb2a
Add builtin for invocation of match() on String objects (454682, r=danderson).
2008-09-23 17:18:40 -07:00
Boris Zbarsky
f1b69640dd
Backed out changeset c0364f5e0a84
2008-09-21 09:02:09 -04:00
Boris Zbarsky
f068ba4b22
Adding missing file
2008-09-21 08:59:52 -04:00
Andreas Gal
da5081c842
Properly calculate tree exit/call guards (bug 453397, r=danderson).
2008-09-19 18:45:57 -07:00
Andreas Gal
183ab27e9d
Use Object as prototype if the prototype of the constructor is primitive (452960, r=mrbkap).
2008-09-16 18:49:27 -07:00
Andreas Gal
b2cff5e791
Expose push pop in jsarray and add builtins (453734, r=mrbkap).
2008-09-16 17:07:59 -07:00
Andreas Gal
61aeda1e95
Detect modulo by constant that is not zero and demote to integer modulo (451788, r=brendan).
2008-09-16 06:20:54 -07:00
Andreas Gal
70d28c8730
Backed out changeset 61b9209c186f
2008-09-15 19:59:06 -07:00
Andreas Gal
13cc3eaad6
Backed out changeset 87fe68f51647
2008-09-15 17:09:25 -07:00
Andreas Gal
0764f9fccb
Demote modulo operation with a constant non-zero right hand side (451788).
2008-09-15 15:59:25 -07:00
Andreas Gal
cdb4ed8fae
Merge.
2008-09-15 15:01:44 -07:00
Andreas Gal
95068bdc26
Properly handle floating point array indexes (453261, r=brendan).
2008-09-15 15:00:40 -07:00
Vladimir Vukicevic
47e9d3a21b
b=454530; misc trace abort fixes (trace String.concat); r=brendan
2008-09-15 17:30:05 -04:00
Andreas Gal
be1b44bf0e
Trace slow array get/set of indexed props (453261, r=brendan).
2008-09-15 00:54:28 -07:00
Brendan Eich
a834957775
TraceRecorder::record_SetPropMiss mis-layered on top of record_SetPropHit (454689, r=mrbkap).
2008-09-11 15:53:00 -07:00
Brendan Eich
40cf4096c7
Avoid needless prototype-shape purges (454035, r=igor).
2008-09-09 09:57:10 -07:00
Blake Kaplan
4203e79309
Trace Math.max. r=brendan
2008-09-08 20:06:58 -07:00
David Anderson
5018287de0
Trace through parseInt(double), bug 454037 r=gal+brendan.
2008-09-07 02:41:10 -05: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
David Anderson
9937dc1262
Trace through Math.log as a known native (bug 453868, r=brendan).
2008-09-05 14:25:01 -07: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
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
Vladimir Vukicevic
420e72ed85
b=449526, TM: fix up ARM code generation / softfloat
2008-09-02 22:29:23 -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
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
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
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
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
Brendan Eich
5d132dba83
Record JSOP_IN (452563, r=gal).
2008-08-27 23:00:43 -07:00
Andreas Gal
cff18f06cd
Fix trashing of inner trees. Keep track of trees that call to a tree and flush them as well since they directly embed the code address. Since flushing an inner tree might invalidate the tree we are currently compiling, trees are now trashed in the destructor of TraceRecorder.
2008-08-27 17:25:56 -07:00
Brendan Eich
43b25b3c09
Rename gcDontBlock to runningJittedCode, and assert it's false on entry to js_Interpret (for 451657, but not the fix, just prolog).
2008-08-25 23:08:21 -07:00
Blake Kaplan
298caaa80f
Bug 451782 - Trace Math.ceil. r=brendan
2008-08-25 16:54:02 -07:00
Blake Kaplan
26c3cd4ea9
Fixed js_String_p_split passing in an undersized array.
2008-08-21 15:17:47 -07:00
Robert Sayre
c6a7088bae
Bug 451580, fix string split assertions and return values. Tests fail with JIT on for other reasons, it seems. r=shaver
2008-08-21 14:06:42 -04:00
Brendan Eich
7ebaf5bf1c
Merge.
2008-08-21 04:17:49 -07:00
Andreas Gal
a49e15bd85
Remove FastEval builtin.
2008-08-21 04:17:17 -07:00
Brendan Eich
fd148818e1
Add split built-in, also sort knownNatives for my own sanity (should sort builtins.tbl and jsbuiltins.cpp by function while at it, but too tired).
2008-08-21 04:13:07 -07:00
Brendan Eich
324b9c7f4e
Remove lambda-replace built-in, it's not safe to record into a nested js_Interpret.
2008-08-21 01:39:16 -07:00
shaver@mozilla.org
ed7fab1440
trace |new Array|, via the magic of copy and paste
2008-08-21 00:50:20 -07:00
Brendan Eich
e9b635b38a
1. Add activeCallOrGlobalSlot, used by JSOP_NAME, JSOP_CALLNAME, etc. recorders to cope with Call objects on the scope chain, if they represent still-active frames covered by callDepth.
...
2. Add builtin for eval, to be optimized further, to handle very short eval'ed programs as found in popular benchmarks.
3. Add common scopeChain TraceRecorder helper, to generate the LIR to load cx->fp->scopeChain.
4. Add ABORT_TRACE to LeaveFrame for clarity.
2008-08-20 22:40:39 -07:00
David Anderson
738ce385fa
Merge.
2008-08-20 09:50:41 -07:00
Brendan Eich
deca6a9d50
Add str + obj concatenation for 3d-raytrace.js.
2008-08-20 02:35:17 -07:00
David Anderson
9a5b3b4307
AMD64 trace-tests.js passes now (hacked in LIR_qcmov opcode, corrected builtin return types).
2008-08-19 17:19:19 -07:00
Andreas Gal
e79f9ed689
Intern globals per-context, not per tree, which allows transitioning between trees that use globals. The type of all global slots compiled code uses is expected to remain stable, otherwise the entire code cache has to be flushed. Changes to the shape of the global object also flush the code cache. Working for trace-tests.js, but fails math-partial-sum.js
2008-08-19 11:32:36 -07:00
Blake Kaplan
5aa5360905
bug 450529 - pass pc to String.prototype.match so we can avoid unnecessary object creation when tracing. r=brendan
2008-08-15 09:29:03 -07:00
Blake Kaplan
7bbee60c81
Don't just undepend the string, canonicalize it as well.
2008-08-14 17:31:39 -07:00
Vladimir Vukicevic
61a89af8e6
b=450176; trace parseInt and parseFloat; r=gal
2008-08-14 15:13:39 -07:00
David Anderson
87d9c2089d
Merge.
2008-08-13 17:45:50 -07:00
David Anderson
3652f7c126
Fix from brendan for propertyIsEnumerable having an inconsistent return type.
2008-08-13 17:44:26 -07:00
Brendan Eich
880030b373
Forgot to string-tag before going from atom to jsid in two builtins.
2008-08-13 17:20:16 -07:00
Brendan Eich
3d21588b2c
Major and winning overhaul to for-in codegen (mad props to Andreas for advice).
2008-08-13 14:02:35 -07:00
Brendan Eich
967ec56341
- Add String match and three replace overloadings, and allow known native matching to continue in search of exact match (not best, and not abort on first mismatch).
...
- Add CallGetter built-in and use it for regexp class-getter-implemented prototype properties.
- Add BUILTIN5 support (this should be "it" ;-).
2008-08-12 18:52:28 -07:00
Andreas Gal
1819586877
js_obj_hasOwnProperty is supposed to return a boolean but was incorrectly generating code to return a number, resulting on a failure in the boolean comparison due to an unexpected i2f (450304).
2008-08-12 14:28:15 -07:00
shaver@mozilla.org
cfc93a30d9
cmp over number and (string or bool or undefined)
2008-08-12 01:05:33 -04:00
Brendan Eich
d004346b52
Object.prototype.{hasOwnProperty,propertyIsEnumerable}.
2008-08-11 17:47:05 -07:00
Andreas Gal
b6bc18350b
Support non-flat strings in Any_getelem and Any_setelem.
2008-08-11 16:12:52 -07:00
Brendan Eich
391f5513d4
Fix FastNewObject built-in to create dense array instance with its own map.
2008-08-11 15:03:32 -07:00
Andreas Gal
285acf8b9c
Merge.
2008-08-11 11:43:59 -07:00
Andreas Gal
a8e0893484
Avoid goto across initialization of sprop2 (446508).
2008-08-11 11:43:40 -07:00
Brendan Eich
13cfac8f97
Rework GCF_DONT_BLOCK to be cx->gcDontBlock, assert it's set, set before entering trace and clear on exit.
2008-08-11 11:18:16 -07:00
Brendan Eich
a56862bdff
Make js_ConcatStrings JS_FASTCALL and use directly as a built-in; remove gcflag param from it and from js_NewString.
2008-08-11 11:03:54 -07:00
Brendan Eich
40573b479e
Unregress FastNewObject builtin to handle user-defined constructors (note to self: run tests before coffee...).
2008-08-11 10:41:08 -07:00