David Anderson
a64d9ec66a
Internalize and memoize FrameInfo structures (bug 501398, r=brendan).
2009-09-29 14:33:43 -07:00
Graydon Hoare
ce8212d362
Bug 518744 - TM: mark and rewind dataAlloc, r=gal.
...
--HG--
extra : rebase_source : fd9eac329fc70879ad5b45a267152937fed693fb
2009-09-25 17:20:01 -07:00
L. David Baron
7e046dd800
Add assertions that fire when a JSAutoRequest, JSAutoSuspendRequest, JSAutoLocalRootScope, JSAutoTempValueRooter, JSAutoTempIdRooter, JSAutoIdArray, JSAutoEnumStateRooter, or JSAutoResolveFlags is used as a temporary. (Bug 518633) r=igor
2009-09-27 23:17:47 -07:00
Luke Wagner
a79d78e239
Fix ridiculous manual merge error. (r=graydon)
2009-09-24 12:40:13 -07:00
Luke Wagner
668372111c
Bug 517973 - remove deep abort, fix blacklisting bug
2009-09-23 18:21:41 -07:00
Graydon Hoare
f0b694edca
Bug 517083 - Fix performance regression, r=dvander.
...
--HG--
extra : rebase_source : 57e132434da8c652c41ffa889aa2002eeeb4698c
2009-09-23 15:12:58 -07:00
David Mandelin
99fb23d064
Bug 511695: Fix JS warnings in MSVC8, r=brendan
2009-09-23 11:16:30 -07:00
Graydon Hoare
ccc6ad4904
Bug 517083 - TM: introduce a temp allocator for allocations during recording and compilation, r=gal.
2009-09-22 12:36:20 -07:00
Jeff Walden
553915decf
Bug 307791 - Implement ES5's Object.keys(O). r=jorendorff
2009-09-08 15:59:14 -07:00
Igor Bukanov
8da9fad53a
bug 512046 - avoid maintaing a per-runtime iterator list. r=brendan
2009-09-19 13:40:43 +04: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
Andreas Gal
55697d8ebf
Merge.
2009-09-17 15:44:30 -07:00
Andreas Gal
38b0ee0297
Backed out changeset 5f449dffdff5 (regressed tp4 private bytes, and we are not sure what the hell that means).
2009-09-17 15:40:37 -07:00
Andreas Gal
4b2f3150ab
Use one single GC heap chunk, avoiding frequent mmap and malloc calls (508707, r=igor,brendan).
2009-09-15 14:29:01 -07:00
Graydon Hoare
d0efa663da
Bug 503424 - Additional followup to fix more profound build-breakage, r=me.
2009-09-15 17:07:33 -07:00
Graydon Hoare
70f3343672
Bug 503424 - Followup to fix windows build breakage, r=gal.
...
--HG--
extra : rebase_source : 338e0b9c4b5c52fbec05074086a80076cf9f8299
2009-09-15 16:31:07 -07:00
Julian Seward
b214130415
Bug 503424 - Add built-in support for compiled-trace and -guard profiling, r=graydon.
2009-09-15 15:05:53 -07: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
Andreas Gal
72c92b196f
Use a single code cache for the JIT and the RegExp compiler (515852, r=dmandelin).
2009-09-12 23:04:27 -07:00
Luke Wagner
d72c89d060
Backed out changeset b866396faae4
2009-09-10 16:44:01 -07:00
Luke Wagner
e9357856b4
Bug 506410 - bring template lovin' to hash tables (r=jorendorff)
2009-09-10 16:16:29 -07:00
Andreas Gal
bd58a78c21
Set nativeVp immediately before the native call (514999, r=mrbkap).
2009-09-09 17:38:07 -07:00
Brendan Eich
809ce29270
Cope with null tvr string refs (515000 followup, r=self).
2009-09-07 21:08:31 -07:00
Brendan Eich
7a412f40b3
JSTempValueRooter JSTVU_SINGLE over-constrains GC-thing against static allocation (515000, r=gal).
2009-09-07 00:35:27 -07:00
Gregor Wagner
2e1104b40f
Cache result of Number2String (bug 513530, r=brendan).
2009-09-04 16:28:30 -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
Andreas Gal
030a8114b2
Backed out changeset 9b6b17a275ec (bug 506125).
2009-08-25 14:42:42 -07:00
Andreas Gal
f808b9ca98
Memory-pressure based GC scheduler (506125, r=igor,jwalden).
2009-08-24 18:24:52 -07:00
Graydon Hoare
503c025d90
Bug 511309 - Delete class Fragmento and all uses of it, r=dvander.
...
--HG--
extra : rebase_source : 47047589288ac0758e0068307b5a8f393db97606
2009-08-20 17:22:47 -07:00
Graydon Hoare
ebe9c3f20b
Bug 511237 - Remove primary use of Fragmento from jsregexp, r=dmandelin.
2009-08-18 15:32:54 -07:00
Jason Orendorff
5418886640
Bug 511418 - static-analysis error in jsobj.cpp:4257: cannot access JS_REQUIRES_STACK variable JSContext::fp and another trivial error in jstracer.cpp. r=gal.
...
--HG--
extra : rebase_source : 9ee93b34fbf656437932a4f3c8b373a11911cffd
2009-08-20 14:13:21 -05:00
Andreas Gal
9a78cb5d5f
Use thread-local RNG for Math.random() (511328, r=shaver,waldo).
2009-08-19 15:23:54 -07:00
Andreas Gal
c438241025
Backout bug 506125.
2009-08-18 17:30:05 -07:00
Andreas Gal
57285268f7
Schedule GC based on process memory pressure (506125, r=igor,waldo).
2009-08-18 16:38:02 -07:00
Andreas Gal
ebc6f01967
Add an API to notify the JS engine that we are about to destroy the runtime (511252, r=brendan).
2009-08-18 16:31:20 -07:00
Jason Orendorff
b3aba1ee4c
Delete unused JSBUILTIN_ constants. No bug. r=gal.
2009-08-17 17:36:36 -05:00
Andreas Gal
5d82186f20
Don't flush the code cache every time we GC (506117, r=brendan).
2009-08-17 14:50:57 -07:00
Jason Orendorff
8384b1e239
Bug 509098 - Remove JS_HAS_LVALUE_RETURN support. r=brendan.
2009-08-13 16:18:33 -05:00
Andreas Gal
fee752ae24
Cleaning code cache flush handling (510136, r=jorendorff).
2009-08-13 08:35:35 -07:00
Graydon Hoare
b8154cc364
Bug 504462 - Merge tamarin's CodeAlloc into tracemonkey, r=gal.
2009-07-15 16:50:01 -07:00
Andreas Gal
9c938dd547
Backout bug 506125 due to talos failures.
2009-08-04 18:42:53 -07:00
Andreas Gal
06ad033ff2
Memory-pressure based GC scheduler (506125, r=igor).
2009-08-04 14:58:21 -07:00
Jason Orendorff
2df7b71611
Bug 507665 - Avoid imacros for JSOP_GETELEM and JSOP_CALLELEM. r=gal.
2009-08-03 11:38:28 -05:00
Graydon Hoare
2e92fcbbe3
Backed out changeset d0be9284ea67
2009-07-30 14:28:26 -07:00
Graydon Hoare
caf3859643
Bug 504462 - Merge tamarin's CodeAlloc into tracemonkey, r=gal.
2009-07-15 16:50:01 -07:00
Andreas Gal
e7f2714ea1
When finalizing, deallocate memory in a separate thread (505612, r=bent,brendan,waldo).
2009-07-27 21:10:12 -07:00
Jason Orendorff
a22e8a6032
Bug 505932 - Shape regeneration does not touch most empty scopes. r=brendan.
2009-07-27 16:29:02 -05:00
Igor Bukanov
bfbac69d3f
bug 506243 - eliminate GC thread-local lists pools. r=brendan
2009-07-26 18:24:39 +02:00
Brendan Eich
b4a10de944
Bug 488731 - Avoid shape regeneration and property cache purge during the GC (r=mrbkap).
2009-07-24 06:55:28 -07:00
Robert Sayre
6968ea2205
Merge backout.
2009-07-24 00:02:02 -04:00
Robert Sayre
9e0ade7287
Backed out changeset b3d459d23452
2009-07-24 00:01:37 -04:00
Robert Sayre
3722b48ae2
Merge backout.
2009-07-23 22:08:05 -04:00
Robert Sayre
d71c6818a0
Backed out changeset 047b9102dddb
2009-07-23 22:06:31 -04:00
Brendan Eich
cf4a2c7921
Avoid shape regeneration and property cache purging from the GC unless the shape generator overflows (488731, r=jorendorff).
2009-07-23 17:59:49 -07:00
Andreas Gal
eb711234db
Use a background thread to free() memory while sweeping (505612, r=brendan,bent).
2009-07-23 15:12:34 -07:00
Andreas Gal
241532b53a
Inline malloc accounting functions (504219, r=jwalden).
2009-07-16 18:36:19 -07:00
Andreas Gal
88cf1d87c6
Avoid integer math for GC trigger factor calculation in allocation path, take 2 (503463, r=dmandelin).
2009-07-14 17:03:20 -07:00
Peter Van der Beken
cf914cb140
Backed out changeset 2073d5aae8b6 (Avoid integer math for GC trigger factor calculation in allocation path (bug 503463)).
2009-07-14 11:49:15 +02:00
Andreas Gal
0c6942b658
Avoid integer math for GC trigger factor calculation in allocation path (503463, r=dmandelin).
2009-07-13 13:24:25 -07:00
Brendan Eich
f60779aef5
Bug 503343 - Change JSScope macros to methods. r=jorendorff
2009-07-09 15:27:21 -05:00
Robert Sayre
878a89a073
Merge mozilla-central to tracemonkey.
2009-07-06 12:20:54 -04:00
Luke Wagner
145fbf91c2
Bug 200505 - Optimization of jsref array_join_sub() function. r=waldo
2009-06-30 20:19:42 -04:00
Robert Sayre
3f97d5e6f5
Backed out changeset b2256abf53c0
2009-06-30 12:14:09 -07:00
Luke Wagner
a6311cf8b5
Bug 200505 - Optimization of jsref array_join_sub() function. r=waldo
2009-06-30 11:29:43 -07:00
Jason Orendorff
52fe5a97ba
Bug 497618 - Change JSString macros to methods. r=Waldo.
2009-06-10 20:29:44 -05:00
Andreas Gal
ec254bec6f
Support tracing instanceof operator (498351, r=jorendorff).
2009-06-15 16:44:30 +01:00
Johnny Stenback
a511964116
Fixing bug 442399. Remove LiveConnect from the tree. r=joshmoz@gmail.com, bclary@bclary.com, sr=brendan@mozilla.org
2009-06-30 15:55:16 -07:00
Brendan Eich
0416e1e679
Bug 492355 - Suspected Txul regression from JS engine changes (r=igor).
2009-05-13 17:11:23 -07:00
Graydon Hoare
2a50d488f5
Bug 489615 - TM: Store recording attempts in a long-lived hashtable rather than fragments, r=brendan.
2009-05-07 15:49:44 -07:00
jorendorff
93c6d226d3
Record all calls to native functions (487134, r=gal, brendan).
2009-05-05 14:26:06 -07:00
Igor Bukanov
35116060a2
bug 489501 - consolidating
...
js_SetProto must mutate the prototype chain. r=brendan
2009-05-01 13:48:27 -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
Andreas Gal
a51f22dbdf
Need an API exposed to control code cache size (474497, r=bent,brendan, sr=mrbkap).
2009-04-22 16:52:59 -07:00
Jason Orendorff
4ea515fa8b
Bug 488874 - Change tm.onTrace to tm.tracecx. r=brendan.
...
--HG--
extra : rebase_source : bf683bee5e518cf5bfea8113c17685b8301d72c9
2009-04-22 15:07:55 -05:00
jorendorff
e1b8077e65
Leaving outermost request should js_LeaveTrace (480301, r=brendan).
2009-04-20 18:22:00 -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
Igor Bukanov
907592f765
bug 477627 - avoiding deadlocks in ClaimTitle. r=brendan
2009-04-16 00:01:24 +02:00
Jason Orendorff
4dd9ad09ef
Bug 487845 - TM: After deep-bailing, we can lirbuf->rewind() and then return to a dead code page. r=gal.
...
--HG--
extra : rebase_source : b7de71b526d45c7caed1982fba80c65763a0a9c6
2009-04-15 09:47:02 -05:00
Andreas Gal
c11974bb60
Backed out changeset 4c157cfe2289 (bug 487845).
2009-04-14 21:28:40 -07:00
Jason Orendorff
0616f91d10
Bug 487845 - TM: After deep-bailing, we can lirbuf->rewind() and then return to a dead code page. r=gal.
2009-04-14 08:45:37 -05:00
Blake Kaplan
1c5e6afeac
Bug 487684 - Store the last trace PC to pass into the decompiler. r=igor
2009-04-10 14:06:28 -07: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
3f4a58e4f0
Bug 487271 - Crash [@ js_Invoke ], and missing google-maps background, at padmapper.com (r=mrbkap).
2009-04-08 13:14:02 -07:00
Jason Orendorff
a613c0d579
Backout changeset 143e997c858e (bug 484693) because it caused crashes on Mac tinderboxen.
2009-04-07 17:07:11 -05:00
Graydon Hoare
163d74068e
Bug 484693 - Remove uses of alloca, r=gal.
2009-04-07 13:47:36 -07:00
Brendan Eich
962b187fe5
upvar2, aka the big one take 2 (452598, r=mrbkap).
2009-04-05 21:17:22 -07:00
Andreas Gal
3c19b8b7fc
Merge.
2009-04-04 10:15:04 -07:00
Andreas Gal
706120c0fb
Backed out changeset 972c44aa9d1f (bug 452598).
2009-04-04 10:14:52 -07:00
Brendan Eich
7485baa00c
Merge.
2009-04-04 10:07:44 +01:00
Brendan Eich
5f4d9ff474
upvar2, aka the big one (452598, r=mrbkap).
2009-04-04 10:05:49 +01:00
Andreas Gal
8787072e96
Backed out changeset b512be855093 (bug 484693). See bug for details.
2009-04-04 01:06:04 -07:00
Graydon Hoare
a2d4d5a779
Bug 484693 - Remove uses of alloca, r=gal.
2009-04-03 16:30:46 -07:00
Jim Blandy
02252a653d
Bug 482743: Fix up bytecode execution tracing. Allow tracing to file. r=igor
...
js_TraceOpcode: Remember the last bytecode we traced explicitly,
instead of subtracting 'len' from regs.pc, which isn't reliable.
Decline to trace values in script prologues (between 'code' and
'main'). Decline to walk off the bottom of the stack when the 'last
bytecode' is misleading. Flush the stream after each bytecode.
Use the TRACE_OPCODE macro in both threaded and non-threaded
interpreters. Take care to make threaded and non-threaded
interpreters produce the same traces.
In the shell's 'tracing' function, use JS_ValueToBoolean to recognize
all sorts of booleans, and treat a string as the name of a file to
write the trace to.
2009-04-01 08:50:57 -07:00
Andreas Gal
78ced670dd
specialize code for a specific global object, not just a global object shape (480905, r=graydon).
2009-03-31 11:49:44 -07:00
Igor Bukanov
a8094a7903
bug 437325 - JSThread is no longer shared between JSRuntime instances. r=brendan
2009-03-24 13:07:35 +01:00
Igor Bukanov
f28d80b499
Backed out changeset e117c22cc1d1 - the landed patch for bug 437325 has a shutdown leak.
2009-03-22 10:15:27 +01:00
Igor Bukanov
a61176553e
bug 437325 - JSThread is no longer shared between JSRuntime instances. r=brendan
2009-03-22 10:07:14 +01:00
Andreas Gal
4017bf1be3
str_match should use js_GetCurrentBytecodePC (484308, r=mrbkap).
2009-03-20 17:07:30 -07:00
Jim Blandy
debdb32ef3
Bug 480132: Clone lexical blocks only when needed. r=igor
...
Terminology:
A "script block" is an object of class Block allocated by the byte
compiler and associated with a script. Script blocks are never
modified, and may be used as a prototype for a "closure block":
A "closure block" is an object of class Block that holds variables
that have been closed over (although we actually leave the variables
on the stack until we leave their dynamic scope). A closure block is
a clone of a script block (its prototype is a script block).
Adjust the meanings of fp->blockChain and fp->scopeChain:
fp->blockChain is always the innermost script block in whose static
scope we're executing.
fp->scopeChain is the current scope chain, including 'call' objects
and closure blocks for those function calls and blocks in whose
static scope we are currently executing, and 'with' objects for with
statements; the chain is typically terminated by a global object.
However, as an optimization, the young end of the chain omits block
objects we have not yet needed to clone.
Closures need fully reified scope chains, so have js_GetScopeChain
reify any closure blocks missing from the young end of fp->scopeChain
by cloning script blocks as needed from fp->blockChain. Thus, if we
never actually close over a particular block, we never place a closure
block for it on fp->scopeChain.
Have JSOP_ENTERBLOCK and JSOP_LEAVEBLOCK always keep fp->blockChain
current. When JSOP_LEAVEBLOCK pops a block from fp->blockChain that
has been cloned on fp->scopeChain, pop fp->scopeChain as well.
Remove the JSFRAME_POP_BLOCKS flag, as it is no longer needed.
Ensure that the JIT won't have to create closure blocks or call
js_PutBlockObject; it can't handle those things yet. Note our current
script block when we begin recording. Abort recording if we leave
that block; we can't tell in advance whether it will need to be "put"
in future trace invocations. Leave trace if we call js_GetScopeChain
while in the static scope of lexical blocks. Remove JIT tests based
on JSFRAME_POP_BLOCKS.
Verify that generators capture the correct value for blockChain.
Add a constructor to JSAutoTempValueRooter for rooting JSObject
pointers.
2009-03-16 09:55:06 -07:00
Jim Blandy
74847db9cd
Back out 480132: orange on Linux ( http://tinderbox.mozilla.org/showlog.cgi?log=TraceMonkey/1237017748.1237029269.2403.gz&fulltext=1 )
2009-03-14 08:19:58 -07:00
Jim Blandy
bed3611385
Bug 480132: Clone lexical blocks only when needed. r=igor
...
Terminology:
A "script block" is an object of class Block allocated by the byte
compiler and associated with a script. Script blocks are never
modified, and may be used as a prototype for a "closure block":
A "closure block" is an object of class Block that holds variables
that have been closed over (although we actually leave the variables
on the stack until we leave their dynamic scope). A closure block is
a clone of a script block (its prototype is a script block).
Adjust the meanings of fp->blockChain and fp->scopeChain:
fp->blockChain is always the innermost script block in whose static
scope we're executing.
fp->scopeChain is the current scope chain, including 'call' objects
and closure blocks for those function calls and blocks in whose
static scope we are currently executing, and 'with' objects for with
statements; the chain is typically terminated by a global object.
However, as an optimization, the young end of the chain omits block
objects we have not yet needed to clone.
Closures need fully reified scope chains, so have js_GetScopeChain
reify any closure blocks missing from the young end of fp->scopeChain
by cloning script blocks as needed from fp->blockChain. Thus, if we
never actually close over a particular block, we never place a closure
block for it on fp->scopeChain.
Have JSOP_ENTERBLOCK and JSOP_LEAVEBLOCK always keep fp->blockChain
current. When JSOP_LEAVEBLOCK pops a block from fp->blockChain that
has been cloned on fp->scopeChain, pop fp->scopeChain as well.
Remove the JSFRAME_POP_BLOCKS flag, as it is no longer needed.
Ensure that the JIT won't have to create closure blocks or call
js_PutBlockObject; it can't handle those things yet. Note our current
script block when we begin recording. Abort recording if we leave
that block; we can't tell in advance whether it will need to be "put"
in future trace invocations. Leave trace if we call js_GetScopeChain
while in the static scope of lexical blocks. Remove JIT tests based
on JSFRAME_POP_BLOCKS.
Verify that generators capture the correct value for blockChain.
Add a constructor to JSAutoTempValueRooter for rooting JSObject
pointers.
2009-03-14 00:58:27 -07:00
Jim Blandy
d72dff994b
Back out 480132 fix; static analysis red
2009-03-14 00:57:54 -07:00
Jim Blandy
4778b96a85
Bug 480132: Clone lexical blocks only when needed. r=igor
...
Terminology:
A "script block" is an object of class Block allocated by the byte
compiler and associated with a script. Script blocks are never
modified, and may be used as a prototype for a "closure block":
A "closure block" is an object of class Block that holds variables
that have been closed over (although we actually leave the variables
on the stack until we leave their dynamic scope). A closure block is
a clone of a script block (its prototype is a script block).
Adjust the meanings of fp->blockChain and fp->scopeChain:
fp->blockChain is always the innermost script block in whose static
scope we're executing.
fp->scopeChain is the current scope chain, including 'call' objects
and closure blocks for those function calls and blocks in whose
static scope we are currently executing, and 'with' objects for with
statements; the chain is typically terminated by a global object.
However, as an optimization, the young end of the chain omits block
objects we have not yet needed to clone.
Closures need fully reified scope chains, so have js_GetScopeChain
reify any closure blocks missing from the young end of fp->scopeChain
by cloning script blocks as needed from fp->blockChain. Thus, if we
never actually close over a particular block, we never place a closure
block for it on fp->scopeChain.
Have JSOP_ENTERBLOCK and JSOP_LEAVEBLOCK always keep fp->blockChain
current. When JSOP_LEAVEBLOCK pops a block from fp->blockChain that
has been cloned on fp->scopeChain, pop fp->scopeChain as well.
Remove the JSFRAME_POP_BLOCKS flag, as it is no longer needed.
Ensure that the JIT won't have to create closure blocks or call
js_PutBlockObject; it can't handle those things yet. Note our current
script block when we begin recording. Abort recording if we leave
that block; we can't tell in advance whether it will need to be "put"
in future trace invocations. Abort recording if we call
js_GetScopeChain while in the static scope of lexical blocks. Remove
JIT tests based on JSFRAME_POP_BLOCKS.
Verify that generators capture the correct value for blockChain.
Add a constructor to JSAutoTempValueRooter for rooting JSObject
pointers.
2009-03-13 23:43:32 -07:00
Robert Sayre
8e061e35da
Backout patch for Bug 480132. Debug only nit fix busts static analysis compile.
2009-03-14 02:20:45 -04:00
Jim Blandy
40e8a7d560
Bug 480132. SpiderMonkey clones too many blocks into the heap. r=igor
2009-03-14 02:09:28 -04:00
Igor Bukanov
4b95050fe2
Backed out changeset 57de81309176 - bug 437325 - due to mochitest leaks on tinderbox
2009-03-13 18:36:46 +01:00
Igor Bukanov
3de011b9cd
bug 437325 - JSThread is no longer shared between runtimes. r=brendan
2009-03-13 12:36:21 +01:00
Igor Bukanov
75640ecce1
Backed out changeset 4159ebdfe31e to fix some typos in the patch
2009-03-13 12:21:04 +01:00
Igor Bukanov
8eeedd9647
bug 437325 - JSThread is not shared between runtimes. r=brendan
2009-03-13 12:10:34 +01:00
Igor Bukanov
4ccdead266
bug 480700 - no more static asserts in headers. r=brendan
2009-03-05 12:12:50 +01:00
Andreas Gal
8c3223aab5
Browser spuriously sets runtime->anyArrayPrototypeHasElement and makes perf bad (481251, r=mrbkap).
2009-03-03 18:04:15 -08:00
Jason Orendorff
2f464f3348
Bug 479826 - Remove cx->pcHint. r=gal.
...
--HG--
extra : rebase_source : caf9fef929fe161fad2f6a98b53cb3d00e43f31f
2009-02-23 17:29:40 -06:00
Benjamin Smedberg ext:(%2C%20Jason%20Orendorff%20%3Cjorendorff%40mozilla.com%3E)
d40f9751c8
Bug 476643 - JS_REQUIRES_STACK errors in nsXPCWrappedJSClass::CallMethod. Mozilla code uses some JS-internal APIs and needs to bail off trace before doing so. This shouldn't affect performance now becuase XPConnect methods are not traceable yet. r=mrbkap, sr=mrbkap.
2009-02-18 12:47:16 -06:00
Jason Orendorff
c9b0918474
Bug 477142 - _FAIL builtins need to be GC-safe. r=brendan.
...
--HG--
extra : rebase_source : 10515f7d1f5a85c1965c812f55d91d3d0f49a28e
2009-02-11 13:33:17 -06:00
Andreas Gal
93eb39269d
Substitute operation counting with a watchdog thread (477187, 3nd attempt, r=brendan/mrbkap/jst, sr=brendan/jst).
2009-02-10 14:07:01 -08:00
Andreas Gal
474d0d308f
Backout bug 477187.
2009-02-10 09:54:14 -08:00
Andreas Gal
f796bcd60a
Substitute operation counting with a watchdog thread (477187, 2nd attempt, r=brendan/mrbkap/jst, sr=brendan/jst).
2009-02-10 03:45:36 -08:00
Andreas Gal
7ea402f38c
Merge.
2009-02-09 22:54:41 -08:00
Andreas Gal
2a20c2a6de
Backing out bug 477187. Breaks xpcshell.
2009-02-09 22:54:05 -08:00
Andreas Gal
2e46d80547
Merge.
2009-02-09 18:21:15 -08:00
Andreas Gal
cbfbbd3cac
Substitute operation counting with a watchdog thread (477187, r=brendan/mrbkap/jst, sr=brendan/jst).
2009-02-09 18:20:50 -08:00
Jeff Walden
31fdce5e81
Bug 467747 - JS version/option unsyncing results in JS modules not being loaded with the very latest JS version, resulting in syntax errors when loading modules that use new JS syntax. r=brendan
2009-02-07 23:23:01 -08:00
Igor Bukanov
61cd533870
bug 476934 - JS_(Set|Clear)ContextThread() must wait bfor the GC. r=brendan
2009-02-07 05:05:32 +01:00
Jason Orendorff
1a135641c5
Bug 462042 - TM: Allow GC with traced machine code on stack. r=brendan.
2009-02-03 18:25:18 -06:00
Jason Orendorff
e4c1fb1cfd
Bug 462027 - Bail off trace when reentering interpreter. r=gal.
2009-02-03 18:25:12 -06:00
Jason Orendorff
4e3f2cfd40
Revert to 07be1f190a3d. Revision 5f5c1cd63641 should not have been pushed.
2009-02-03 12:38:44 -06:00
Jason Orendorff
df4d8addef
Bug 462042 - TM: Allow GC with traced machine code on stack. r=brendan.
2009-02-02 20:49:53 -06:00
Jason Orendorff
f6ffd1d380
[mq]: bug-462027-v9
2009-02-02 20:42:46 -06:00
Andreas Gal
68e8901a4a
Bake the value of fp->imacpc into the trace and report it at recording time when detecting inside JSOP_GETELEM (follow-up for 476238, r=brendan,jorendorff).
2009-02-02 18:21:28 -08:00
Andreas Gal
3682914dfd
Leave a hint for GetProperty in the context so it can figure out the current bytecode location without de-optimizing (476238, r=jorendorff).
2009-02-02 17:25:59 -08:00
Jason Orendorff
37f2985bdf
Bug 476177 - TM: cx->stackPool must not be accessed on trace. r=brendan.
...
--HG--
extra : rebase_source : 746d61b54aa38cbe18fe31bce4efcbbad4629678
2009-01-30 17:40:05 -06:00
Graydon Hoare
5219181495
Bug 475474 - Maintain globalSlots per global, not just one per JIT instance, r=danderson.
2009-01-29 15:59:52 -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
3aa2396acf
Merge.
2009-01-27 16:42:29 -08:00
Andreas Gal
3361accf0e
Merge.
2009-01-27 16:42:10 -08:00
Andreas Gal
1bbc35daad
Backed out changeset d50d3681b94e (attempted re-landing of 474771).
2009-01-27 16:41:43 -08:00
Brendan Eich
60770fa5b5
Bug 454184 - Implement eval caching (r=mrbkap).
2009-01-27 16:40:40 -08:00
Brendan Eich
914f4ef313
Back out due to Mac Tp orange (454184).
2009-01-27 15:52:10 -08:00
Brendan Eich
335791e844
Bug 454184 - Implement eval caching (r=mrbkap).
2009-01-27 13:53:31 -08:00
Andrei Saprykin
7b91b30052
bug 474801 - Checking for MaybeGC conditions when allocating GC things in JS shell. r=igor
2009-01-27 18:21:51 +01:00
Igor Bukanov
65cda4b280
Backed out changeset 39b1c9f21064 - the patch again has triggered the crashtest timeout.
2009-01-27 15:11:47 +01:00
Andreas Gal
f17d7cf056
Set on-trace flag only during trace execution, not recording (474771, r=brendan, patch has failed before, please back out at the earliest sign of trouble).
2009-01-27 01:55:31 -08: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
Graydon Hoare
170e5b5921
Bug 473688 - provide a 2-level hash map (global, pc) -> tree, r=gal.
2009-01-26 19:53:19 -08:00
Robert Sayre
b5cd4ca3dc
Backout c0b2c82a524e.
2009-01-25 22:36:46 -08:00
Andreas Gal
e481ee3eb8
Only set onTrace flag while running native code, not when recording (474771, r=brendan).
2009-01-25 20:24:25 -08:00
Brendan Eich
c13882a292
Bug 470187 - TM: "Assertion failure: entry->kpc == (jsbytecode*) atoms[index]" with valueOf, regexp (r=jorendorff).
2009-01-23 14:33:42 -08: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
1d277bc633
Backout all patches since last mozilla-central merge (Thu Jan 22 19:14:02 2009 -500 by sayrer).
2009-01-25 02:58:22 -08:00
Andreas Gal
1baff988de
Only set onTrace flag while running native code, not when recording (474771, r=brendan).
2009-01-23 20:22:23 -08:00
Andreas Gal
1b154f72a6
Merge.
2009-01-23 15:15:34 -08:00
Andreas Gal
920ecc2113
Backed out changeset 17663da1b840 (bug 462027).
2009-01-23 15:14:46 -08:00
Brendan Eich
94412bc214
Bug 470187 - TM: "Assertion failure: entry->kpc == (jsbytecode*) atoms[index]" with valueOf, regexp (r=jorendorff).
2009-01-23 14:33:42 -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
David Anderson
b3ff178462
Specialize trees to global types, so global type instability does not flush the cache (bug 469044, r=gal,brendan).
2009-01-22 01:45:19 -05:00
Igor Bukanov
348de1aa60
Backed out changeset a0e1d4a2404f - the patch for the bug 474586 causes timeouts in crash tests on Mac and Windows.
2009-01-21 20:22:42 +01:00
Andrei Saprykin
375373bb9b
bug 453432 - Checking for MaybeGC conditions when allocating GC things
2009-01-21 16:47:17 +01:00
Igor Bukanov
0d085b6a80
Backed out changeset e74857ea8248 - this caused unit test failures on Mac
2009-01-20 17:11:09 +01:00
Andrei Saprykin
63a490ceb1
bug 453432 - Checking for MaybeGC conditions when allocating GC things
2009-01-20 15:50:39 +01:00
Blake Kaplan
390a28ac59
Bug 473709 - Protect |str| across the call to js_NewRegExp. r=jwalden
2009-01-15 17:54:05 -08:00
Igor Bukanov
c032867e33
bug 472702 - using watchdog thread in js shell to trigger operation callback
2009-01-14 18:23:51 +01:00
Benjamin Smedberg
2e26c94375
Bug 472461 part 2 - jsgc crashes with !JS_TRACER, r=jorendorff for immediate bustage fix, and I'll get ex-post-facto review from Igor
2009-01-08 10:44:16 -05:00
Jason Orendorff
be00149c86
Bug 462021 - TM: Make JSStackFrame reconstitution infallible (part 4 of 4, rename recoveryDoublePool to reservedDoublePool, r=brendan)
...
--HG--
extra : rebase_source : d865549cb727aada20fbaa78286de37a97b85bca
2009-01-06 13:39:14 -06:00
Jason Orendorff
b20c028359
Bug 462021 - TM: Make JSStackFrame reconstitution infallible (part 3 of 4, call objects, r=brendan)
...
--HG--
extra : rebase_source : 14a82b2b08c8b7dbae5e72623685b7c3947df603
2008-12-11 17:53:05 -06:00
Andreas Gal
135f143d10
Backed out changeset adbe8e4b21dc due to tinderbox failures/timeouts (453157).
2009-01-05 16:22:42 -08:00
Andrei Saprykin
9f7c96f36f
bug 453157 - watchdog thread as an alternative to operation count. r=myself,mrbkap
2009-01-05 22:09:23 +01:00
Andreas Gal
a59109830e
Use a single lirbuf for the tracer and rewind lirbuf during GC (471821, r=danderson).
2009-01-02 10:55:02 -08:00
David Mandelin
90baccb99f
Bug 471602 part 1: make regexp compiler use one shared LIR buffer, r=gal
2008-12-31 16:41:33 -08:00
Igor Bukanov
81c3a2b632
Backed out changeset 2d5e6b1c7254 - busted the WINNT 5.1 talos tracemonkey.
2008-12-23 19:24:09 +01:00
Andrei Saprykin
11dac3f234
bug 453157 - watchdog thread as an alternative to operation count. r=igor,mrbkap
2008-12-23 16:12:11 +01:00
Igor Bukanov
136838d60b
Backed out changeset 7184e014cd05 - the patch for bug 453157 bursted tgfx test on Windows.
2008-12-21 21:49:06 +01:00
Andrei Saprykin
c68c632137
bug 453157 - watchdog thread as an alternative to operation count
2008-12-21 17:16:09 +01:00
Igor Bukanov
1a1341cdb4
bug 465032 - operationCount as the first field in JSContext. r=brendan
2008-12-18 16:24:34 +01:00
Jason Orendorff
b7fb9bc849
Bug 460865 - Read barrier for cx->fp. r=mrbkap, r=dmandelin.
...
--HG--
extra : rebase_source : 19963188b2f9f96336ce6ca28dbaefccf3a639b7
2008-12-09 10:38:32 -06:00
David Mandelin
37e098bf53
Bug 464828 fixed: make sure js_ThreadDestructorCB is called on main thread
2008-12-02 13:12:43 -08:00
David Anderson
321ce0dc05
Deep abort recorders outer recorders if we need to flush the JIT cache early (bug 463829, r=brendan,gal).
2008-11-15 18:54:24 -06:00
Andreas Gal
533b7866b1
Add back typedef for JSTraceMonitor (compilation fix for legacy C use of JS engine includes, no bug).
2008-11-07 16:58:36 -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
David Mandelin
c92c2000cc
Bug 461050 WIP: compiling simple regexps, r=danderson,agal
2008-11-04 14:51:51 -08:00
Andreas Gal
25404443ff
GC no longer flushes the JIT cache. Instead just make sure the shape of the global object will mismatch next time we try to record or execute code, which in turn will force a flush of the code cache (458288, r=brendan/danderson).
2008-10-28 16:22:08 -07:00
David Anderson
bf1a78f4fe
Implemented multiple type specialized trees per entry point (bug 450833, r=gal)
2008-10-27 20:42:49 -07:00
David Anderson
590d3d2443
Fixed crash from JIT cache flushes when js_Interpret was holding TraceRecorders (bug 458288, r=brendan).
2008-10-24 10:47:59 -07:00
Blake Kaplan
76e8be0e68
Bug 457310 - Don't potentially run code with an exception still on cx. r+sr=jst
2008-10-13 15:53:33 -07:00
Blake Kaplan
54cdbe81ec
Merge mozilla-central -> tracemonkey
2008-10-13 11:05:05 -07:00
Igor Bukanov
db18f808c9
Bug 408539 - Storing XPCContext inside JSContext
2008-10-11 19:35:39 +02: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
Andreas Gal
83ea7eb834
Merge.
2008-09-30 16:35:52 -07:00
igor
19701dd91b
When replenishing the recovery double pool, detect if a GC happens (follow up work for 456826, r=gal).
2008-09-26 14:16:11 -07:00
Andreas Gal
7bb0a663e6
Use a pre-allocated pool of doubles to make sure we can safely recover in case of OOM or out of doubles (456826, r=brendan).
2008-09-25 19:11:48 -07:00
Jason Orendorff
c35bfc3682
Bug 389034 - JS_SetProperty() ends up resolving w/o JSRESOLVE_ASSIGNING (r=brendan, sr=bzbarsky)
2008-09-25 11:13:31 -05:00
Igor Bukanov
82f9c64e29
bug 378918 - scalable thread-local GC free lists
2008-09-25 15:27:59 +02:00
Robin Bate Boerop
2082181641
Bug 412866 - Reuse regexp arena, original patch by Robin Bate Boerop <moz@shorestreet.com>, refreshed by Ryan VanderMuelen <ryanvm@gmail.com>, r=crowder
2008-09-12 15:11:48 -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
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