Commit Graph

1924 Commits

Author SHA1 Message Date
Andreas Gal
731614bfe9 Create a stub for each opcode in TraceRecorder and invoke them from the stubs that are pointed to by the recorder dispatch-table. 2008-07-03 23:57:57 -07:00
Andreas Gal
1d27756235 Extend dispatch table to include 256 extra cases for traceing. 2008-07-03 22:28:01 -07:00
Andreas Gal
62d0c7bbfb Switch back to mozilla-central jsinter.cpp. Lets try a different approach to attach the tracer to the interpreter. 2008-07-03 22:08:13 -07:00
Andreas Gal
ea9279b6d0 Sync with mozilla-central. 2008-07-03 21:45:09 -07:00
Andreas Gal
d263173a72 Avoid name clash between nanojit and jsinter.cpp (full patch queued up for tamarin). 2008-07-03 21:39:34 -07:00
Andreas Gal
9a1bbdcdc6 Fix unnecessary type prefix (reported by bc, doesn't pass gcc 4.2.3) 2008-07-03 17:02:19 -07:00
Bob Clary
684e800a25 JavaScript Tests - regression test for bug 422592, by timeless 2008-07-03 10:48:04 -04:00
Bob Clary
62a18f506f JavaScript Tests - regression test for bug 429266, by Jesse Ruderman 2008-07-03 10:39:53 -04:00
Bob Clary
aa1304ce61 JavaScript Tests - regression test for bug 356378, by Jesse Ruderman 2008-07-03 10:34:32 -04:00
Bob Clary
d723c54667 JavaScript Test - regression test for bug 418128, by Igor Bukanov 2008-07-03 10:27:57 -04:00
Andreas Gal
8f4707fd29 Added dmod builtin and flag broken builtins for removal (shaver). 2008-07-02 22:05:30 -07:00
Andreas Gal
6eb6314e75 Support recording of ValueToECMAInt32, ValueToECMAUint32 and ValueToBoolean. 2008-07-02 21:48:42 -07:00
Bob Clary
2133014c38 JavaScript Tests - update public failures, bug 399387 2008-07-03 00:02:09 -04:00
Andreas Gal
2cd7b6993b VOIDs hang out in the BOOLEAN value space, so we have to treat them like a boolean on the trace. For ValuetoECMAInt32 all special boolean values except TRUE produce 0, and TRUE produces 1. Use a conditional move to implement this. 2008-07-02 19:11:07 -07:00
Andreas Gal
b137f2da3b Introduce a VMSideExitInfo structure (holds the exit typemap only for now). 2008-07-02 18:06:24 -07:00
Andreas Gal
e39f6596d3 Fix returning from trace execution into the interpreter. 2008-07-02 18:00:13 -07:00
Andreas Gal
ce702fec67 Shortcut the wait time to activate fragments after compiling a new fragment. 2008-07-02 17:24:10 -07:00
Andreas Gal
523ba92b3d Use fragmento to track fragments and add proper trace activiation code. 2008-07-02 17:19:07 -07:00
Andreas Gal
47c6075eb2 Fix unstable trace rejection for optimized build. 2008-07-02 15:31:40 -07:00
Andreas Gal
7906238314 Fix type stability check. 2008-07-02 15:17:53 -07:00
Andreas Gal
6f3af33edf Add type stability check for loop variables. Rename readstack to import. 2008-07-02 15:14:43 -07:00
Andreas Gal
e70272bfab Removed attempt to imply ints into doubles on the fly. This can't work. Use proper float loads where needed and add some initial code for builtin functions. 2008-07-02 14:38:12 -07:00
Andreas Gal
228a13576a Add a vmprivate field to the guard record (queued for review upstream). 2008-07-02 14:37:01 -07:00
Andreas Gal
0d7c8f648b Indicated in a separate primitive when integers get stored as a double because they don't into a jsval. 2008-07-02 09:38:55 -07:00
Andreas Gal
42fcff4b38 Backed out changeset 745089a5d1c5 2008-07-02 09:35:08 -07:00
shaver@mozilla.org
fca47a2d95 no need for rooting of integer values 2008-07-02 08:11:27 -04:00
Andreas Gal
8113879262 This patch eliminates ValueToECMAInt32 and instead tries to emit specialized code depending on the true type. 32-bit integers are detected and treated like integers in fetch_int via ValueToECMA32. Similarly, int store_int NewIntInRootedValue is used if the value is really an underlying int. NewIntInRootedValue is a nop on the trace. 2008-07-02 03:33:18 -07:00
Andreas Gal
8907cd354b Flag ints as type INT in the incoming context if its merely a double holding an int that was too large to fit into jsval directly. Along the side exits make sure we can properly box oversized ints (by casting them to doubles). The fetch_int/store_int paths still need fixing to ensure that values are merely passed through (prim_copy) instead of explicit casting or calling to ValueToECMAInt32 etc. 2008-07-02 02:53:24 -07:00
Bob Clary
1efb40718b Sisyphus - JavaScript Tests - generalize std::bad_alloc -> out of memory post processing, bug 443156 2008-07-02 08:36:07 -04:00
Bob Clary
3e905088a2 Javascript Tests - do not require js tests to be on path, bug 443154 2008-07-02 08:28:20 -04:00
Bob Clary
289a42223e Merge commit for bug 399387 2008-07-02 08:18:32 -04:00
Bob Clary
642deee285 JavaScript Tests - update public-failures.txt, universe.data bug 399387 2008-07-02 08:15:13 -04:00
Andreas Gal
b85500f6e4 fix circular dependency on jscpucfg.h 2008-07-02 07:50:29 -04:00
Bob Clary
1079b33034 Merge commit for bug 431108 2008-07-02 07:03:32 -04:00
x0
ac20783181 JavaScript Tests - reportCompare doesn't print description on failures, bug 431108, patch by x00000000@freenet.de, r=igor 2008-07-02 07:00:03 -04:00
Andreas Gal
31ef2f7b34 Don't allocate 16MB code cache at startup. Instead use an exponentially increasing growth factor. 2008-07-02 00:42:40 -07:00
Andreas Gal
08bd8d4245 Generate proper overflow detection code. Requires a trivial fix in nanojit (included, pending review to be pushed upstream). 2008-07-02 00:13:05 -07:00
Andreas Gal
fd5b68ba5a Fix circular dependency in makefile. 2008-07-01 23:53:17 -07:00
shaver@mozilla.org
0e590880a5 use floating point LIR for dealing with doubles 2008-07-01 23:57:29 -04:00
Andreas Gal
7eba55b32b Merge. 2008-07-01 19:44:24 -07:00
Andreas Gal
f3fba20c9c Create type maps during trace entry and in each side exit and store them in the LIR using LIR_skip. Use these type maps during trace entry and exit. 2008-07-01 19:43:10 -07:00
shaver@mozilla.org
7d64331f38 beginning of trace-capability regression minisuite; will crash you today! 2008-07-01 22:21:11 -04:00
Brendan Eich
d0966c0fc0 Clean up for-in ops and naming nit (443039, r=igor). 2008-07-01 18:59:18 -07:00
Brian Crowder
ab14b03b55 Bug 442333 - remove eval's optional second argument, r=brendan 2008-07-01 16:44:44 -07:00
Brendan Eich
9d20e12316 snprintf takes sizeof buffer. 2008-07-01 15:58:47 -07:00
Andreas Gal
697a294d14 Sync up with TT tip. 2008-07-01 14:46:10 -07:00
Andreas Gal
39891951f4 Merge. 2008-07-01 13:36:33 -07:00
Brendan Eich
9a38bf0cdc Eliminate useless genexp for(;;) conditions (442342, r=jorendorff). 2008-07-01 13:05:11 -07:00
bcrowder@mozilla.com
9f3e12daf8 Bug 438415 - Assertion failure: *vp != JSVAL_HOLE, r=shaver, r=brendan 2008-07-01 12:47:09 -07:00
bcrowder@mozilla.com
9736e0887f Bug 435345 - Cannot accurately watch the 'length' property of arrays, r=shaver 2008-07-01 12:47:09 -07:00