Commit Graph

15922 Commits

Author SHA1 Message Date
L. David Baron
3c90f5b30e Implement :first-of-type, :last-of-type, and :only-of-type. b=128585 r+sr=bzbarsky 2008-06-02 20:17:35 -07:00
Daniel Glazman ext:(%20and%20L.%20David%20Baron%20%3Cdbaron%40dbaron.org%3E)
15d0bac2c3 Implement :nth-child(), :nth-last-child(), :nth-of-type(), :nth-last-of-type(). b=75375 r+sr=bzbarsky 2008-06-02 20:17:35 -07:00
L. David Baron
7c41e65422 Make nsPseudoClassList capable of storing integer pairs for :nth-*(). b=75375 r+sr=bzbarsky 2008-06-02 20:17:35 -07:00
L. David Baron
53f51289fe Rename nsAtomStringList to nsPseudoClassList, since that's what it's for, and we want to make it more than just atoms and strings. Also remove an unused constructor. b=75375 r+sr=bzbarsky 2008-06-02 20:17:35 -07:00
Jeff Walden
6773debbac Bug 421576 - Unpaired surrogate handled wrongly (Acid3 #68). acid3++ r=dbaron 2008-06-02 21:29:00 -04:00
Brendan Eich
946fa41d8c Fiddle loop table slot interface and impl in hope of freeing slots over time. 2008-06-02 18:06:33 -07:00
Brendan Eich
21c493d829 Use correct idempotent include guard macro name. 2008-06-02 18:05:18 -07:00
Brendan Eich
3db9424289 Merge and undo js_AllocateLoopTableSlot reparam. 2008-06-02 17:28:39 -07:00
Brendan Eich
01514c4b16 No JS_TRACER ifdefs, keep line len < 80, reparameterize jstracer.cpp functions, js_OpLength helper. 2008-06-02 17:19:41 -07:00
Brendan Eich
ea827846a5 Avoid overlong lines per modeline comments. 2008-06-02 17:16:14 -07:00
Andreas Gal
d528552bca Assign fresh loop table slots for all JSOP_HEADER opcodes in a script as it is thawed since the slots we stored there are likely stale by now. 2008-05-31 18:12:39 -07:00
Brendan Eich
5b116ae998 Merge, style nits, no locking for tracing. 2008-05-31 15:29:54 -07:00
Brendan Eich
ef8a767739 Left brace style. 2008-05-31 10:17:40 -07:00
Andreas Gal
e66383e26e Fixed a bug that triggered the tracer at TRACE_THRESHOLD/2 already. 2008-05-31 09:53:16 -07:00
Andreas Gal
e461a72736 The table is now per-thread in a multi-threaded environment, and per-runtime otherwise. During code generation we merely allocate a loop table slot to each loop. Each thread will enlarge the table as needed in JSOP_HEADER. 2008-05-30 18:58:43 -07:00
Brendan Eich
b3a96884a1 merge 2008-05-30 18:37:11 -07:00
Andreas Gal
de3107d2ee Add a per-runtime loop attribute table that associates a jsval attribute with every loop in the code. The jsval is used initially as a counter until a certain threshold is reached, at which point the loop is traced and compiled and the resulting native code object is stored in the jsval to be executed for future encounters of the loop. 2008-05-30 10:11:56 -07:00
Andreas Gal
a6ded872bf Steer macro naming in jsinterinlines.h using a macro. This allows us to prefix all primitives with some prefix (i.e. interp_) when we compile the tracer and replace them with new primitives that invoke the interpreter version first, and then do some tracer specific action. 2008-05-29 17:14:42 -07:00
Brendan Eich
3951f1d3a6 merge 2008-05-28 23:29:39 -07:00
Brendan Eich
7cdb540c44 Fix goof in switching from word to jsval counters. 2008-05-28 23:12:45 -07:00
Brendan Eich
3996420eda Fix goof in switching from word to jsval counters. 2008-05-28 20:16:15 -07:00
Brendan Eich
ed4274e179 Instrument loop headers with jsvals above fp->vars and below fp->spbase. 2008-05-28 19:07:32 -07:00
Brendan Eich
8bfb8bfef7 Split trace-supporting inlines, add ifdefs/macros for deriving js_TracingInterpret in jstracer.cpp. 2008-05-28 19:07:25 -07:00
Brendan Eich
968021cff9 Style (and substance for vim users: left brace opening in column 1 enables [[ navigation). 2008-05-28 19:07:16 -07:00
Brendan Eich
067121104e Instrument loop headers with jsvals above fp->vars and below fp->spbase. 2008-05-28 18:00:05 -07:00
Brendan Eich
8523cc6d60 Split trace-supporting inlines, add ifdefs/macros for deriving js_TracingInterpret in jstracer.cpp. 2008-05-28 14:19:48 -07:00
Brendan Eich
53869bd9e2 Style (and substance for vim users: left brace opening in column 1 enables [[ navigation). 2008-05-28 13:48:02 -07:00
Andreas Gal
f4d6e71bf6 Make relational operations (<,<=,>,>=) traceable. 2008-05-27 10:45:58 -07:00
Andreas Gal
8a5d86fa50 Mark getting and setting arguments and local variables as safe for tracing. 2008-05-26 23:40:52 -07:00
Andreas Gal
e0a5de51b2 Make branch instructions traceable using a new primitive guard_boolean_is_true. 2008-05-26 23:33:23 -07:00
Andreas Gal
32908d0e2f Enable tracing for selected opcodes that do not have any remaining tracing hazards. 2008-05-26 20:04:58 -07:00
Andreas Gal
33ec9a35fb Opcodes that can be traced through can be declared with TRACE_CASE(op). Currently all opcodes are declared as BEGIN_CASE(op), which automatically aborts trace recording. In addition, error handlers (defined with DEFINE_HANDLER) also abort trace recording. At every backwards branch trigger monitor_branch(), which will monitor for new trace tree anchors. 2008-05-26 18:55:16 -07:00
Andreas Gal
288e988b40 Introduce primitives for common binary operations. 2008-05-26 17:29:28 -07:00
Andreas Gal
6d10603538 Convert macro code in jsinterp.cpp into inline functions and introduce trace primitives (prim_*, guard_*, call_*). 2008-05-26 15:27:13 -07:00
Brendan Eich
b065dd2fce From Igor's patch for bug 433382. 2008-05-24 11:39:18 -07:00
Brendan Eich
c611e90657 Fix bad merge. 2008-05-24 10:17:15 -07:00
Brendan Eich
5e03c06ce3 Igor's patch for bug 433382, r=me. 2008-05-23 23:44:08 -07:00
Brendan Eich
2595b54a6b Fix POP_STACK to take a macro out param. 2008-05-23 22:18:36 -07:00
Brendan Eich
602bcd5f50 First round of macro cleanups to enable tracing. 2008-05-23 19:24:10 -07:00
Brendan Eich
2f95757906 Igor's fix for bug 432881, r=me. 2008-05-23 19:14:05 -07:00
Brendan Eich
c0c9201c0a Fix for bug 433672, r=igor. 2008-05-23 19:08:44 -07:00
Edward Lee
8d4de205de Bug 433298 - EULA cut off checkbox/buttons on bottom - unusable on small (EeePC) screens. r=gavin, a1.9=schrep 2008-05-23 02:17:25 -05:00
Jeff Walden
c8154e48f9 Bug 435376 - Start making leaks fatal when running tests in setups where we don't leak. r=sayrer 2008-05-22 15:08:41 -04:00
Jeff Walden
b0c45525f5 Bug 434074 - TestRegistrationOrder test leaks stuff because it uses raw pointers; fix the leaks in case we want to do no-leak assertions in C++ tests sometime. r=dbaron 2008-06-02 21:28:59 -04:00
Jeff Walden
156d2236a0 Bug 429587 - MOZ_COUNT_DTOR and NS_LOG_RELEASE should assert (or worse) when used on an unrecognized pointer, when possible, for easier recognition of memmoved refcounted classes. r=dbaron 2008-06-02 21:28:59 -04:00
Jeff Walden
da5379b6cd Bug 434076 - Give me stack traces and give me death! (aborts should print a stack trace before aborting) r=dbaron 2008-06-02 19:18:57 -04:00
Zachary Weinberg
87ef6c4a53 Fix typo. r=dbaron 2008-06-02 15:52:25 -07:00
L. David Baron
8a92bdecfb Make outlines on inlines containing blocks outline the blocks. b=424236,270191 r+sr=roc 2008-06-02 15:52:25 -07:00
L. David Baron
23d4d9af06 Add reftests for bug 399636. 2008-06-02 15:52:25 -07:00
L. David Baron
a24337f1e8 Make client.py print what was pulled from CVS/hg. b=433390 r=jorendorff, ted.mielczarek 2008-06-02 15:52:25 -07:00