Commit Graph

7824 Commits

Author SHA1 Message Date
Ms2ger
6e5eb0673b Bug 530171 - Correctly handle null arguments to nsIDOMTokenList's methods, r=slvain.pasche, sr=olli.pettay 2009-12-30 18:29:40 -05:00
Brian Crowder
d54cb40dda # vim: se ft=diff :
Bug 519843 - "JS shell on WinCE should run as if it NEVER has a tty, not as if it ALWAYS does" [r=mrbkap]
2009-09-30 15:41:00 -07:00
Jeff Walden
49c30c2502 Bug 492840 - ES5: Implement Object.create. r=mrbkap 2009-09-08 15:59:14 -07:00
Jeff Walden
9613c2771b Bug 430133 - Address an overlooked review comment. r=sparky 2009-12-30 14:25:27 -06:00
Justin Lebar
a827ba17fc Bug 500328 - Implement History.pushState(), History.replaceState() methods. r=smaug, r=zpao, sr=sicking 2009-09-01 09:45:05 -07:00
Vladimir Vukicevic
6b2983c1c8 fix some warnings and add some xpconnect flair, r=mrbkap 2010-01-26 18:14:15 -08:00
Daniel Holbert
284edc68e6 Bug 542054: Fix warning spam in jstypedarray.cpp (unsigned/signed comparison, control reaches end of non-void function) r=vlad 2010-01-25 15:02:36 -08:00
Blake Kaplan
2eb1bb72f6 Bug 541742 - Make XPCNativeWrapper.unwrap work. r=bzbarsky 2010-01-25 11:58:26 -08:00
Phil Ringnalda
08917990d9 Bug 541810 - remove obsolete comment before sqautherie wets himself over the horror of not having the comments synced between the / and /js/src/ copies 2010-01-24 20:21:04 -08:00
Vladimir Vukicevic
21e2f78a75 b=539756; [webgl] remove old typed getters; r=jmuizelaar 2010-01-22 16:50:22 -08:00
Vladimir Vukicevic
553a8c9c5a b=533663; use js typed arrays in webgl; r=jmuizelaar,mrbkap,brendan 2010-01-22 13:34:25 -08:00
Vladimir Vukicevic
2a8fc41f02 b=533663; use js typed arrays in webgl; js followup; r=brendan 2010-01-22 13:34:23 -08:00
Vladimir Vukicevic
03c73ffad6 b=533663; use js typed arrays in webgl; xpconnect portion; r=mrbkap 2010-01-22 13:34:07 -08:00
Vladimir Vukicevic
613ab33618 b=539748; [qsgen] handle .* and - better; r=jorendorff 2010-01-22 13:26:25 -08:00
Olli Pettay
19050031e6 Bug 537595 - Quickstub .localStorage, r=honzab.moz@firemni.cz 2010-01-07 12:38:30 +02:00
Ginn Chen
48924ed436 Bug 537369 Failed to build with --enable-dtrace for 64bit libraries r=bsmedberg 2010-01-06 15:02:52 +08:00
Ginn Chen
abc4008b94 Bug 537371 [x86_64]nanojit failed to compile with Sun Studio r=gal 2010-01-06 15:01:17 +08:00
Ginn Chen
bb66f36dbb Bug 535765 debug build Firefox failed to start on Solaris r=gal 2010-01-06 14:59:20 +08:00
Blake Kaplan
36f08cfbb8 Bug 531364 - Add a function call here. r=peterv sr=bzbarsky 2010-01-05 15:03:04 -08:00
Walter Meinl
c74fe7e4a8 Get libffi 3.0.8 building on OS/2. b=522118, r=dwitte 2010-01-05 13:39:56 -08:00
Walter Meinl
a221dcf2a1 Make ctypes unit tests work on OS/2. b=522118, r=dwitte 2010-01-05 13:30:26 -08:00
Reed Loden
295cc3e168 Bug 533397 - "Debug builds exit when converting "1e-400" to a Number" [r=gal r=wtc] 2010-01-05 01:13:57 -06:00
Dan Witte
ef98ce6e05 Backing out change. 2010-01-03 06:04:42 -08:00
Dan Witte
d0b0513b6e Testing solaris patch. Will back out after one cycle. 2010-01-03 05:00:13 -08:00
Dan Witte
c5c3ab3fc3 Backing out change. 2010-01-02 20:26:33 -08:00
Dan Witte
2e71a6bac6 Remove solaris-specific patch to test the build. Will back out after a cycle. 2010-01-02 19:44:41 -08:00
Michael Wu
a405204a33 Bug 536440 - Remove unnecessary HOST_AR setting, r=ted 2010-01-21 15:11:55 -08:00
Jeff Walden
9308517cfc Bug 539488 - |var| statements for existing, read-only/permanent properties should not be errors. r=jorendorff 2010-01-20 13:58:36 -08:00
Blake Kaplan
12fc9781fa No bug. Add a wrapper test. rs=sicking 2010-01-18 16:54:29 -08:00
David Anderson
5e74e0424f Fixed x64 assertion in tracing JSOP_LENGTH on arguments (bug 539965, r=dmandelin). 2010-01-15 12:05:01 -08:00
Makoto Kato
a0bc68ebf2 Bug 539378 - Remove MOZ_BITS macro from tree. r=ted 2010-01-19 14:12:09 +09:00
Jesse Ruderman
8da03a0eb0 Disable some bogus perf tests trying to be unit tests. Fixes orange bug 540511. Replacing the tests is bug 540512. 2010-01-18 17:45:08 -08:00
Wolfgang Rosenauer
587a4816f7 Follow up for Bug 536352 (missing null check and memory leak in nsinstall.c) to fix orange 2010-01-18 12:38:17 +01:00
David Mandelin
fac636c9f6 Bug 539553: adding one more test case for the new on-trace arguments.length LIR, no_r=me 2010-01-14 18:12:54 -08:00
Jason Orendorff
6a64e94696 Bug 539553 - Correctness regression on the r-tree benchmark. r=dmandelin. 2010-01-14 18:23:05 -06:00
Peter Van der Beken
9612080734 Fix for bug 428229 (Unable to override addEventListener), quickstub addEventListener. r=bz.
--HG--
extra : rebase_source : 1e8779a8089e19f56c51ae34deed7284147df2ab
2010-01-13 14:50:01 +01:00
Peter Van der Beken
812feed9d8 Followup for bug 534341 (XPConnect should not unroot globals of non-main thread contexts). r=bent, sr=jst.
--HG--
extra : rebase_source : 1a21a5b4646b0d1bd4b2a20bbbe460bba7fc78fc
2010-01-13 14:50:01 +01:00
timeless@mozdev.org
66ade3257d Bug 451187 JS causes a crash in nspr [@ Bfree ]
freedtoa should be marked as static as the data type returned by these implementations does not need to be freed with it
r=crowder
2010-01-13 21:21:52 +01:00
Robert Sayre
6a3b57172b Bustage fix for non-JIT builds. Following up bug 474500. 2009-12-19 07:46:35 -05:00
Andreas Gal
2943a7a949 Bug 474500 - TM: Need an API to flush and (optionally?) deallocate the code cache per thread. 2009-12-28 09:46:50 -08:00
L. David Baron
ce5c0c48c2 Don't read before the beginning of a string in Atob. (Bug 494105) r=mrbkap 2009-12-26 19:03:57 -05:00
Robert Sayre
d56b9f7fc4 Merge mozilla-central to tracemonkey. 2009-12-24 08:57:39 -08:00
Igor Bukanov
a9c4fac55a bug 534590 - eliminating GCF_LOCK flag. r=brendan 2009-12-24 12:31:07 +03:00
David Mandelin
a4022f7c34 Fix style nits from bug 440926, no_r=me 2009-12-23 18:56:50 -08:00
Steve Harper
a4bcebed1c Use inverse upcase instead of downcase per ECMA-262 for case-insensitive matching, r=dmandelin 2009-12-23 18:48:53 -08:00
Blake Kaplan
a950e7cc20 Bug 536512 - Ignore security wrappers when computing instanceof. r=brendan
--HG--
extra : rebase_source : 685f05cbb79288a976242c2b4908023a7ed1b035
2009-12-23 14:09:08 -08:00
Blake Kaplan
55d140a7e2 Bug 536562 - Don't crash on null. r=dbaron
--HG--
extra : rebase_source : a8fb13c8024deb4c09bd592b91632cbee9bbeeda
2009-12-23 14:02:02 -08:00
Andreas Gal
446ede1cce Fixed recent softfloat filter regression (bug 535957, r=dvander). 2009-12-23 14:01:10 -08:00
Andreas Gal
31998e704d Fixed recent softfloat filter regression in TM ARM code (bug 535957, r=dvander). 2009-12-23 14:01:10 -08:00
Nicholas Nethercote
f16eeb006c Update nanojit-import-rev stamp. 2009-12-23 13:28:40 +11:00
Steven Johnson
147c31c411 speed up AR::validate (r=nnethercote,bug=473769)
--HG--
extra : convert_revision : 0ff411e99654f590121e90a93345257b14442721
2009-12-22 17:32:49 -08:00
Steven Johnson
12ce52af94 AR::freeEntryAt could underrun the _entries array, leading to crashiness (r=rreitmai,bug=536378)
--HG--
extra : convert_revision : 6937b91b3b20430521eb476adba4f124beaac216
2009-12-22 16:59:36 -08:00
Steven Johnson
5f7e44706c add a value to LInsHashKind to outsmart compilers that will insist last+1 is impossible (r=edwsmith,bug=535861)
--HG--
extra : convert_revision : e2a738ba767ebda6d981964bbefa8bd607e7f437
2009-12-22 16:09:19 -08:00
Steven Johnson
3a3398c372 add LIR_fcall to assert in NativeX64.cpp (r=edwsmith,bug=536446,bug=536367)
--HG--
extra : convert_revision : 858787956747e14e37b22d1a6b788b7d5cc86368
2009-12-22 16:02:09 -08:00
Nicholas Nethercote
10ffb4c3ce WinNT bustage fix for bug 536288. r=me.
--HG--
extra : convert_revision : 427799622bd9eddf258b8b339b3c9a093b9cca04
2009-12-22 21:41:40 +11:00
Nicholas Nethercote
1c0554f24b Bug 524640 - nanojit: avoid calling releaseRegisters() twice. r=gal.
--HG--
extra : convert_revision : 5af925a7a5ceae6ab8bb9219585bfacccdf56ef0
2009-12-22 21:37:49 +11:00
Nicholas Nethercote
e34229bf2e lirasm: test LIR_alloc more thoroughly with --random. r=stejohns.
--HG--
extra : convert_revision : 7f70f215101b86275de319f714aa5da665732a66
2009-12-22 15:52:16 +11:00
Steven Johnson
c02e6ad94c crank NJ_MAX_STACK_ENTRY back down to 4096 for x86,x64,ppc: 16384 is too high for safety under Win32's default stack space setting
--HG--
extra : convert_revision : b4b4509f96c090c91952c0ea02314af86835137a
2009-12-21 16:10:49 -08:00
Nicholas Nethercote
78ed93a8e9 Follow-up for 504507 -- get the retTypes right for ldcsb/ldcss. r=me.
--HG--
extra : convert_revision : 52667ba8b5fe79f693cf3dc07b733fdb8fff6a24
2009-12-22 10:06:15 +11:00
Edwin Smith
245eaeb9f7 Whitespace hygene (r=me)
--HG--
extra : convert_revision : b7a4852a92d3ceb74592c1da0e1cd0beace84eb5
2009-12-21 15:05:48 -05:00
Steven Johnson
4015262424 Increase NJ_MAX_STACK_ENTRY on desktop systems, revise search algo in AR (r=nnethercote,r=edwsmith,bug=473769)
--HG--
extra : convert_revision : 0a12bb3f8436feac1814bfdd25dde1afcd050c0a
2009-12-21 12:03:59 -08:00
Nicholas Nethercote
c44c200044 Sparc bustage fix for bug 516347. r=me.
--HG--
extra : convert_revision : 2c51eb29cd2f8940af716f36b1158085e522aeb1
2009-12-22 06:09:38 +11:00
Steven Johnson
360031a709 fix windows build breakage
--HG--
extra : convert_revision : e4bce7ea53c77d9bec640d68c98c917909538fe3
2009-12-21 11:03:02 -08:00
Steven Johnson
f6bd527266 Encapsulate AR structure (r=nnethercote,bug=473769)
--HG--
extra : convert_revision : a2bdfa990384135e642f027d79dd7c01c48e8994
2009-12-21 10:51:57 -08:00
Nicholas Nethercote
344ea362a6 Bug 524632 - nanojit: utilise odd-numbered slots in CseFilter hash table. r=edwsmith.
--HG--
extra : convert_revision : df9b5fec8e0c886d003f304048a8e8f3735229aa
2009-12-21 15:40:14 +11:00
David Anderson
38be9063e9 Fixed lazy import regression in upvar resolution, take two (bug 535930, r=dmandelin). 2009-12-22 16:21:25 -08:00
David Anderson
69279e0a58 Fixed charCodeAt inparam being aggressively, and incorrectly, specialized (bug 536445, r=bz). 2009-12-22 15:53:28 -08:00
Igor Bukanov
3a66cb93c4 bug 528645 - js_IsAboutToBeFinalized must check for static strings. r=wagnerg 2009-12-22 23:50:44 +03:00
Robert Sayre
51f333193a Merge mozilla-central to tracemonkey. 2009-12-22 09:46:30 -05:00
David Anderson
91eca0a020 Merge. 2009-12-21 16:19:33 -08:00
David Anderson
99e1c6501b Backed out changeset f7cff6dd16f1 2009-12-21 16:19:12 -08:00
David Anderson
4f11660a57 Fixed tracing CALLELEM on arguments not setting an outparam on the stack (bug 535760, r=dmandelin). 2009-12-21 11:51:23 -08:00
David Anderson
c2660f9269 Fixed lazy import regression in upvar resolution (bug 535930, r=dmandelin). 2009-12-21 11:49:23 -08:00
Benjamin Smedberg
5282eec210 Merge backout of bug 474500 (API to flush the JIT code cache) because of build bustage. CLOSED TREE checkin. 2009-12-21 09:59:53 -05:00
Benjamin Smedberg
f92278ab68 Backed out changeset 94561cb0f0bd, bug 474500 because of static-analysis bustage. 2009-12-21 09:55:45 -05:00
Benjamin Smedberg
c13e44570f Fixing build bustage from bug 528004 and bug 532072: sync config/ and js/src/config, for checkin to CLOSED TREE 2009-12-21 09:42:35 -05:00
Oleg Romashin
2541cfdd66 Bug 532608 - osso-mem.h used but not added to system-headers, r=benjamin 2009-12-21 13:32:36 +02:00
Nicholas Nethercote
9393dd8a59 Bug 536113 - TM: make trace-tests.py --valgrind less noisy. r=sayrer. 2009-12-21 16:53:57 +11:00
Nicholas Nethercote
2cb3972bea Update nanojit-import-rev stamp. 2009-12-21 15:11:40 +11:00
Nicholas Nethercote
979b04de2a Bug 527754 - CseFilter not able to handle downstream modification of instructions (take 2). r=gal,rreitmai.
--HG--
extra : convert_revision : b9640e93e1efe3c24e90afef0127e71ecef47ac4
2009-12-21 12:41:22 +11:00
Nicholas Nethercote
7c3a5b4e1e Update nanojit-import-rev stamp. 2009-12-21 09:26:12 +11:00
Robert Sayre
e308a08ec8 Bustage fix for non-JIT builds. Following up bug 474500. 2009-12-19 07:46:35 -05:00
gal@uci.edu
d8d110c024 Bug 474500 - TM: Need an API to flush and (optionally?) deallocate the code cache per thread. r=dvander 2009-12-18 21:34:20 -05:00
Nicholas Nethercote
0a83128602 Bug 516347 - nanojit: avoid premature regalloc state updates in the i386 backend. r=edwsmith,dvander.
--HG--
extra : convert_revision : e7b2c0d805eb61ca0ead9402f8a01f6bb85de29f
2009-12-18 12:39:16 +11:00
Nicholas Nethercote
387808d7b9 Bug 527178 - NJ: all our efforts at handling valid displacements are defeated (take 2a). r=graydon,gal.
--HG--
extra : convert_revision : c2be4b89e09d6dd1b8c83b14240d00d57c084419
2009-12-18 08:24:39 +11:00
Blake Kaplan
cc9abea83c Bug 535685 - Make xpcwrappedjs deal with dipper parameter properly. r=peterv
--HG--
extra : rebase_source : 4148e2fb15c57fedbb9d0eaf96f88d495a4d9b14
2009-12-17 16:31:07 -08:00
Nicholas Nethercote
fd4721f7f0 Bug 532566 - nanojit: tweak const printing with TMFLAGS. r=edwsmith.
--HG--
extra : convert_revision : 2b1dc08843b7d6a92ee5b010f5bec267c1f54305
2009-12-17 13:50:07 +11:00
Julian Seward
f0683b62c9 Make TM fragment entry- and exit-profiling work on X64 (bug 517857, r=dvander).
--HG--
extra : convert_revision : a7dc90cf8f8c7d121cc9d786742e690897d5ddc8
2009-12-15 18:55:27 -08:00
Nicholas Nethercote
0cda95948c Bug 534575 - nanojit: fix bogosity in asm_cmp(). r=edwsmith.
--HG--
extra : convert_revision : f5573b092a7f11abed716341629dff0b36bb09e6
2009-12-16 10:16:47 +11:00
Nicholas Nethercote
d0b6417b4c Backed out changeset 2bd8a736808d, caused ARM bustage.
--HG--
extra : convert_revision : 7fd3a1258dbf608d4c62862029d1a30317f7b9e5
2009-12-15 13:16:54 +11:00
Nicholas Nethercote
84f5fd65b2 Bug 527178 - NJ: all our efforts at handling valid displacements are defeated (take 2). r=graydon,gal.
--HG--
extra : convert_revision : 2bd8a736808d4a2582233d05832f11899ccc2fd7
2009-12-15 12:54:26 +11:00
Steven Johnson
8e5876ea87 regalloc_binary needed to include new ld32f/ldc32f opcodes in its assertions, fix to 1106:cd0b46495c95,bug=532240 (r=me)
--HG--
extra : convert_revision : c85faf8ab65a97a4fd19df33b90ff43a11133df9
2009-12-14 13:48:39 -08:00
Steven Johnson
b14fa9aead nanojit/Nativei386.cpp: asm_load64 for i386 wasn't properly copying the loaded value into the stack frames in all cases for non-sse2 path. (r=edwsmith, bug=534613)
--HG--
extra : convert_revision : 107017b4c232e89e4ecb11ef69c11747644a6dc3
2009-12-14 10:58:24 -08:00
Blake Kaplan
c432d20805 Bug 529269 - Don't do anything special for toString, just forward it along. r=jst 2009-12-11 10:33:32 -08:00
Blake Kaplan
07c84d040f Bug 533596 - Implement XPCNativeWrapper.unwrap. r=peterv sr=jst 2009-12-14 13:58:50 -08:00
Blake Kaplan
726388b606 Bug 535746 - Make sure that the parent is the right object. r=jst sr=sicking 2009-12-22 16:54:06 -05:00
Jeff Walden
e9d69cbf2e Bug 529404 - Assignments to a property that has a getter but not a setter should not throw a TypeError per ES5, except in strict mode. r=brendan 2009-12-08 17:00:42 -08:00
Jason Orendorff
dfd362fddd Bug 535703 - JS_SealObject crash with deep=true. r=mrbkap.
--HG--
extra : rebase_source : 7760d40bb23ab439c030943ab781ab5b10259da8
2009-12-17 21:09:50 -06:00
Andreas Gal
8015385480 Backed out changeset 94ddd33fc137 to see whether that makes the tree green. 2009-12-17 17:43:40 -08:00
Andreas Gal
4c8dc43072 Efficient Implementation of JSDOUBLE_IS_INT using SSE2 (original patch by Moh Haghighat/Intel, bug 530896, r=dvander) 2009-12-17 14:03:45 -08:00
Jason Orendorff
8b449748c7 Fix "bug NNNNNN" in a comment to point to the actual bugzilla bug. r=nobody. 2009-12-17 14:24:39 -06:00
Jason Orendorff
102ed4de5a Do not secretly write to /tmp in DEBUG builds unless your name is brendan. (Leave the basic stats code ifdef'd on for everyone though, to help avoid bitrot.) No bug, r=Waldo. 2009-12-17 11:37:25 -06:00
Jason Orendorff
51bdff8212 Fix memory leak in a jsapi-test. No bug, r=Waldo.
--HG--
extra : rebase_source : c9cdf4fc2391f812a3decb645900ac1ec4ffa118
2009-12-17 11:30:14 -06:00
Robert Sayre
b18f03ada4 Merge m-c to tm. 2009-12-17 04:26:12 -05:00
David Anderson
66687af7ab Fixed lazy import regression where down recursion could build wrong exit typemaps (bug 534745, r=gal). 2009-12-16 22:06:07 -08:00
David Anderson
2b9de94325 Added test case for bug 535474. 2009-12-16 19:22:04 -08:00
David Anderson
2098f14d9f Fixed regression where lazy imports could happen in JSOP_ARGUMENTS conditional branch (bug 535474, r=gal). 2009-12-16 18:58:47 -08:00
Brendan Eich
e3b2653ade Bug 533705 - Lock proto-scope around canProvideEmptyScope/getEmptyScope; check for slot mismatch in js_AddProperty; don't optimize for slot mismatch in JSOP_SETPROP. r=jorendorff.
--HG--
extra : rebase_source : 4d49e9ef150286db93f2e5e1c77b217832263f83
2009-12-16 18:11:19 -06:00
Robert Sayre
38011bea9f Merge mozilla-central rev a732c6d3c078 to tracemonkey. This is just prior to the e10s plugins landing. 2009-12-16 10:17:45 -05:00
Robert Sayre
24fcff5c87 Merge. 2009-12-16 03:19:21 -05:00
Robert Sayre
91d87dc586 Backed out changeset 8a44551a28c1 2009-12-16 03:18:59 -05:00
Robert Sayre
9321e9dcc2 Merge. 2009-12-16 03:18:31 -05:00
Robert Sayre
90dbf27bde Backed out changeset 787d5fbc1f80 2009-12-16 03:18:10 -05:00
Robert Sayre
c70a849908 Merge. 2009-12-15 22:35:52 -05:00
Robert Sayre
e7f09943fc Merge. 2009-12-15 22:35:15 -05:00
Robert Sayre
fa15ebcadc Backed out changeset eae07941000e. Andreas Gal — Efficient Implementation of JSDOUBLE_IS_INT using SSE2 (original patch by Moh Haghighat/Intel, bug 530896, r=dvander). 2009-12-15 22:34:35 -05:00
Robert Sayre
f16642bdd7 Merge. 2009-12-15 22:30:41 -05:00
Robert Sayre
aedf90bff2 Backed out Andreas Gal — Try to fix autoconf madness for bug 530896. changeset 289c9c3c9195 2009-12-15 22:30:25 -05:00
David Mandelin
7156489d4a Bug 514808 - Regex whitespace character class deficiencies. Add a test. 2009-12-15 21:40:39 -05:00
Saint Wesonga
d58ef2604a Bug 514808 - Regex whitespace character class deficiencies. r=dmandelin 2009-12-15 21:40:33 -05:00
Gregor Wagner
689d4154a4 inline several string functions r=gal, bug #507531 2009-12-14 22:12:42 -08:00
Gregor Wagner
881436060a fix JS_GCMETER r=gal bug #504581 2009-12-14 19:01:37 -08:00
Gregor Wagner
5d706bfc9a fix JS_SCOPE_DEPTH_METER and enable in DEBUG mode
bug #528674, r=gal
2009-12-14 18:36:58 -08:00
Jacob Bramley
ce3c3571e2 Cleaning out the rubbish I left when I backed out a previous patch. 2009-12-14 11:29:31 +00:00
Jacob Bramley
37965c89df Update nanojit-import-rev stamp. 2009-12-14 11:18:43 +00:00
Jacob Bramley
f0ca3397b1 Bug 491682: Remove the LDMIA and STMIA macros from NativeARM.h, as they are not used. (r=vlad)
--HG--
extra : convert_revision : a6a96927117a1e462a04784e1b621a3d85f61099
2009-12-14 11:13:24 +00:00
Steven Johnson
fb8fe39b22 implement NJ_EXPANDED_LOADSTORE_SUPPORTED for x64 backend (r=edwsmith,r=nnethercote,bug=532240)
--HG--
extra : convert_revision : cd0b46495c9520568c6507766dfdcb5fbf24d482
2009-12-11 16:22:23 -08:00
Steven Johnson
05b93868ea XORPS was wrong on x64, didn't allow for regs xmm8..xmm15 (r=edwsmith,r=nnethercote,bug=533854)
--HG--
extra : convert_revision : 49246c195323d333eb2d106539c48c03c4a4d5f6
2009-12-11 14:12:55 -08:00
Jacob Bramley
708810413f Backing out my previous commit; this should have gone into nanojit-central. 2009-12-14 10:34:45 +00:00
Jacob Bramley
609a5b5c84 Bug 491682: Remove the LDMIA and STMIA macros from NativeARM.h, as they are not used. (r=vlad) 2009-12-14 09:39:42 +00:00
Igor Bukanov
da4f40e4dc bug 528486 - eliminating GCF_CHILDREN. r=brendan 2009-12-14 10:55:17 +03:00
Andrew Paprocki
4d092aea98 bug 486779 - silencing SunPro CC compiler complains about js_MapKeywords. r=brendan 2009-12-14 10:08:55 +03:00
Bob Clary
9c736ec009 bug 524731 - skip js1_5/Regress/regress-303213.js due to random timeouts. 2009-12-13 16:09:12 -08:00
Bob Clary
9ef15a98d6 bug 496127 - mark js1_8_1/trace/regress-452498-01.js as random. 2009-12-13 16:09:11 -08:00
Igor Bukanov
dd52a42965 bug 526449 - marking the slow array as HAS_PRIVATE for simpler handling of JSSLOT_ARRAY_LENGTH. r=brendan 2009-12-13 22:06:04 +03:00
Igor Bukanov
60821e2d43 restoring the test for bug 354998 as the bug 534493 is fixed now 2009-12-13 21:54:46 +03:00
Igor Bukanov
b684411ba9 bug 534493 - avoiding too much debug checks in JSScope::removeProperty. r=brendan 2009-12-13 21:46:37 +03:00
Brendan Eich
be1555ec1c Remove sporadic else after return (534364 followup). 2009-12-13 09:04:46 -08:00
Andreas Gal
79103c3e59 Eliminate call snooping in the FuncFilter (534364, r=dvander). 2009-12-11 19:48:14 -08:00
David Anderson
e72392a667 Lazily import stack and global slots (bug 515749, original patch and r=gal). 2009-12-11 19:10:36 -08:00
David Anderson
ab7755c33a Merge backout. 2009-12-11 17:40:26 -08:00
David Anderson
92b5f85351 Backed out changeset 783ce7ce6ed7 (possible orange). 2009-12-11 17:40:06 -08:00
Andreas Gal
142909c3dd Avoid slow linear growth of Queues used in the JIT (534168, r=dvander). 2009-12-11 16:12:48 -08:00
David Anderson
7ef11f37b8 Fixed rare case of not connecting trees properly when missing globals are involved (bug 531513, r=gal). 2009-12-11 12:26:08 -08:00
David Anderson
6b623c4292 Fixed recursion not tracing when hitting JSOP_STOP instead of JSOP_RETURN (bug 530900, r=gal). 2009-12-11 12:17:58 -08:00
David Anderson
d9a16641ee Fixed CASE_EXITs being limited to about 4 entries (bug 533521, r=gal). 2009-12-11 12:10:36 -08:00
Blake Kaplan
91fd0fb306 Bug 532124 - Set aside the frame chain when wrapping for chrome so we don't get confused by any content code on the stack. r=jst 2009-12-11 10:33:32 -08:00
Nicholas Nethercote
4bd18613b7 Update nanojit-import-rev stamp. 2009-12-09 17:24:08 -08:00
Nicholas Nethercote
c60a9d49a0 Bustage fix for 504507 on Linux.
--HG--
extra : convert_revision : 18cf6386858be93609ffcc0912e1c169b81e6531
2009-12-09 17:21:46 -08:00
Nicholas Nethercote
efbef88690 Bug 504507 - nanojit: kill LIR64 (TM-only part). r=gal. 2009-12-09 15:57:12 -08:00
Nicholas Nethercote
41cabae636 Update nanojit-import-rev stamp. 2009-12-09 15:51:43 -08:00
Nicholas Nethercote
2c6fd78104 Bug 504507 - nanojit: kill LIR64 (NJ-only part). r=gal.
--HG--
extra : convert_revision : 2271d9cb2d87970d20befb51dbc7092c830a4e10
2009-12-09 15:49:15 -08:00
Steven Johnson
7de7cc4825 nanojit/LIR.cpp: add new load/store ops to liveness filter (r=reitmai,r=nnethercote)
nanojit/Nativei386.h: remove bogus assertions from some i386 instructions (r=reitmai,r=nnethercote)

--HG--
extra : convert_revision : 279dc4a9597527626dc0e2b2deceed148f9b61e4
2009-12-08 14:19:50 -08:00
Nicholas Nethercote
51c20028df Bug 533233 - nanojit: get rid of LC_NoCodeAddrs. r=edwsmith.
--HG--
extra : convert_revision : 5edcef2131dfd0f521b306aee9a40a51b487efb9
2009-12-08 07:57:17 -08:00
Steven Johnson
814fcf00f1 nanojit/LIR.cpp: LoadFilter should handle the new load instructions (r=rreitmai, r=nnethercote, bug=533015)
--HG--
extra : convert_revision : 6069a35f1fcfcc3bcaf15ddaece24b80d8955db4
2009-12-07 11:19:24 -08:00
Bob Clary
f8930f33b8 bug 533027 - skip js1_5/Regress/regress-3649-n.js due to random oom related failures. 2009-12-09 14:41:35 -08:00
Bob Clary
1c605bec56 bug 531325 - relax timing comparison to eliminate random failures in js1_8_1/trace/regress-469927.js. 2009-12-09 14:41:35 -08:00
Bob Clary
91997361f1 bug 528717 - relax timing comparison to eliminate random failures in js1_8_1/trace/regress-470739.js. 2009-12-09 14:41:34 -08:00
Bob Clary
f9b73e0ae4 bug 496127 - relax timing comparison to eliminate random failures in js1_8_1/trace/regress-452498-01.js. 2009-12-09 14:41:34 -08:00
Boris Zbarsky
6af77f03b5 Bug 533148. Go back to the MAX_LENGTH we used to have. r=brendan 2009-12-08 21:56:54 -08:00
Brendan Eich
c8424c2c67 Fix JSOP_INITMETHOD to use correct JSScope method (addProperty, not addDataProperty; 533254, r=jorendorff). 2009-12-08 16:20:00 -08:00
David Anderson
d8eaacf13f Fixed loops ending in JSOP_GOTO not compiling properly (bug 533042, r=gal). 2009-12-08 11:15:34 -08:00
Nicholas Nethercote
771c4639e9 Bug 533233 - nanojit: get rid of LC_NoCodeAddrs (TM-specific part). r=edwsmith. 2009-12-08 08:04:57 -08:00
Jacob Bramley
e32598eceb Bug 521161: Re-enable LIR_mul speculation for ARM. (r=gal) 2009-12-08 13:15:50 +00:00
Nicholas Nethercote
03809b83a9 Bug 528857 - nanojit: mismanagement of name lifetimes with TMFLAGS=assembly? r=graydon. 2009-12-07 21:06:41 -08:00
Nicholas Nethercote
15703de7bb Update nanojit-import-rev stamp. 2009-12-06 15:36:37 -08:00
Andreas Gal
97dc7a9174 Try to fix autoconf madness for bug 530896. 2009-12-05 16:53:16 -08:00
Andreas Gal
3ded1d4c80 Efficient Implementation of JSDOUBLE_IS_INT using SSE2 (original patch by Moh Haghighat/Intel, bug 530896, r=dvander). 2009-12-05 12:46:46 -08:00
David Anderson
51a679002f Fix scope chain traversal with let blocks (bug 523793, r=dmandelin,mrbkap). 2009-12-04 23:05:47 -08:00
David Anderson
8fb72a7a12 Get rid of TreeInfo and inline its members into TreeFragment (bug 525371, r=gal,lw) 2009-12-04 19:59:55 -08:00
Jason Orendorff
ad0e287615 Bug 532363 - TM: "Assertion failure: IsDenseArrayId(cx, obj, (jsid) prop), at ../jsarray.cpp". r=bzbarsky. 2009-12-04 15:38:25 -06:00
Nicholas Nethercote
3187530416 Bug 528857 - nanojit: mismanagement of name lifetimes with TMFLAGS=assembly? (NJ-only part). r=graydon.
--HG--
extra : convert_revision : cb855a65f046a59c28277766aa5d320df33159c2
2009-12-05 06:58:42 +11:00
Igor Bukanov
dfbcf19f40 bug 531682 - patching js1_4/Eval/jstests.list to include bug's test 2009-12-04 21:57:51 +03:00
Igor Bukanov
ac9a848ac5 bug 531037 - patching js1_4/Eval/jstests.list to include bug's test 2009-12-04 21:54:43 +03:00
Andreas Gal
fd6f74bc98 Add regress-532491.js to jstests.list (follow-up for bug 532491). 2009-12-04 10:46:09 -08:00
Boris Zbarsky
49f81f2fb2 Bug 532847. Can't assert that sprop has a shortid in callProp/setCallProp until we know the prop is special. r=brendan 2009-12-04 01:08:22 -05:00
Boris Zbarsky
b346e737a5 Bug 530240 followup. Can't assume vp[1] is an object here, in fact. Fixes orange. 2009-12-03 23:35:36 -05:00
Boris Zbarsky
b811feadbc Bug 532477 followup to fix bustage. 2009-12-03 23:10:08 -05:00
Boris Zbarsky
834d8db5e4 Bug 532477. Replace js_SetCallArg/js_SetCallVar with hand-crafted LIR in the common easy case of a Call object whose frame is no longer active at record time. r=dmandelin,brendan 2009-12-03 23:03:47 -05:00
Boris Zbarsky
fb6fe53972 Bug 530255. Replace GetFromClosure/GetClosureVar/GetClosureArg with hand-crafted LIR in the common easycase of a Call object whose frame is no longer active at record time, and make GetFromClosure use a direct read from the object's dslots if we discover that the frame became inactive between record and trace. r=dmandelin,brendan 2009-12-03 23:03:46 -05:00
Brendan Eich
f9a0ec438d Bleah. 2009-12-03 19:47:53 -08:00
Brendan Eich
7bfac5769d Add JSOP_ENUMELEM to gigundo-assert in LeaveTree (532787, r=me). 2009-12-03 19:47:19 -08:00
Boris Zbarsky
5319ea360b Bug 532823 followup. Fix where we add the 3+fp->argc. r=brendan 2009-12-03 22:43:13 -05:00
David Mandelin
a47f877d42 Bug 532823: fix slot computation for JSOP_NAME accessing outer vars defined in trace entry frame, r=bz 2009-12-03 18:48:45 -08:00
Jason Orendorff
b46379b4f6 Bug 530879 - Generators get incorrect arguments.length. Discovered by Donny Viszneki. r=brendan. 2009-12-03 16:12:09 -06:00
David Mandelin
90477b6487 Bug 530489: don't (incorrectly) trace custom equality ops, r=jorendorff 2009-12-03 13:02:36 -08:00
Andreas Gal
ab4554e731 Only consider an eval cache entry if the static level matches (532491, r=igor). 2009-12-03 12:12:39 -08:00
Boris Zbarsky
8365d1cfcb Bug 530240. Faster NormalizeThis for String objects. r=brendan 2009-12-03 14:39:55 -05:00
Boris Zbarsky
2e2e3eeb0c Bug 521423. Make JSString 4 words instead of 2; make substring() and company never have to copy. r=brendan 2009-12-03 14:39:42 -05:00
Jim Blandy
322d958de0 Bug 532041: Add missing call to reportCompare. r=orange jsreftests 2009-12-03 01:25:17 -08:00
Brendan Eich
ff0880a5f4 Test for last checkin (532043). 2009-12-02 21:51:18 -08:00
Brendan Eich
05f85209b1 Trace JSOP_ENUMELEM, for the group-assignment special case of destructuring assignment (532043, r=gal). 2009-12-02 21:50:04 -08:00
Brendan Eich
9ccccbbe6b Extra assertions, control flow cleanup in putProperty, and a crucial scope hashtable fix to removeProperty (stored was not reloaded from *spp; got rid of this ancient over-optimization by hand-coded 'register allocation'; 532096, r=mrbkap). 2009-12-02 19:13:31 -08:00
Jim Blandy
ff9fa29631 Bug 532254: Give TCF_FUN_PARAM_EVAL a distinct value. r=mrbkap
Regression test included.
2009-12-02 15:17:02 -08:00
Jim Blandy
dbab286e15 Bug 531972: Add parent dir jstests.list entries; call reportCompare as needed; fix anonymous function objects in js/src/tests/ecma_5/strict/13.1.js. r=bclary, r=mrbkap
While prior patches created new test directories
js/src/tests/ecma_5/strict and js/src/tests/js1_8_1/strict, they
failed to add jstests.list entries to their parent directories. This
adds them.

The strict tests generally were written to use assertEq, which is
simple and gives nice source positions in failure messages under the
JS shell. However, the jsreftests require each test file to call
reportCompare at least once. This adds a dummy call to reportCompare
to each file. It would be nice to make everything work in both
environments, perhaps using arguments.caller.

The test script js/src/tests/ecma_5/strict/13.1.js tried parsing
statements of the form 'function(x,x){}'. However, anonymous function
expressions are not allowed in a statement context when
JSOPTION_ANONFUNFIX is set. This is set under the browser, but clear
in the shell; bug 532233 suggests that the two be reconciled.
2009-12-02 15:13:14 -08:00
Jim Blandy
05b34d7c12 Bug 532041: Test that duplicate argument checks use JSFunction::u.i.names correctly. r=sayrer 2009-12-02 09:54:51 -08:00
Igor Bukanov
969bdae222 bug 531682 - fixing eval(source, scope) to match 191, 192 semantics. r=mrbkap 2009-12-02 19:22:34 +03:00
Nicholas Nethercote
a4408cec60 Bug 531347 - nanojit: rejig asm_call(). r=edwsmith.
--HG--
extra : convert_revision : 1c68f440a757a8cb002c8da9118d034a9c7d4fab
2009-12-01 18:50:07 -08:00
Steven Johnson
4732e1b682 nanojit/Assembler.cpp: when LIR_stqi calls asm_store32 twice, pass LIR_sti for the opcode, rather than op. (r=me)
--HG--
extra : convert_revision : 0da91726eca5ccbfed98d340e428d3303d5708f0
2009-12-01 17:40:25 -08:00
Steven Johnson
45a6270f4c Add new opcodes to allow load/store of 8-bit int, 16-bit int, and 32-bit floats. Initially implemented only for i386, other backend implementations to follow. See https://bugzilla.mozilla.org/show_bug.cgi?id=527083 for more detail. (r=rreitmai, nnethercote)
--HG--
extra : convert_revision : 7c5395e67078266797de2e2de6555974ee61acf7
2009-12-01 16:50:03 -08:00
David Anderson
4ab577e3c3 Merge. 2009-12-01 16:32:58 -08:00
David Anderson
b7f7a14f13 Backed out changeset 0082849624a5, potential orange. 2009-12-01 16:32:45 -08:00
Brendan Eich
f19c7e9d1b Fix js_FindDuplicateFormal to crack the fun->u.i.names union correctly, and spruce it up with C++ (532041, r=jimb). 2009-12-01 14:48:05 -08:00
David Anderson
c80f627585 Remove TreeInfo (bug 525371, r=lw). 2009-12-01 13:32:02 -08:00
Robert Sayre
3192563f6f Reland bug 473228 and bug 530507 2009-12-01 16:02:09 -05:00
Robert Sayre
03f335335d Relanding Tolerate race condition or broken resolve hook (530507, r=jorendorff). Backed out changeset fb34a7163a43 2009-12-01 15:54:01 -05:00
Robert Sayre
8dac81dafc Merge 2009-12-01 15:51:22 -05:00
Robert Sayre
4ea539c658 Relanding: Bye-bye middle-deletes and their O(n^2) worst case complexity; hello dictionary-mode scopes (473228, r=jorendorff). Backed out changeset ee7bfc1923ad 2009-12-01 15:49:15 -05:00
Rick Reitmaier
5be99c7ad2 Bug 500466 - avmshell crashes on P3 cpu machine with JIT enabled (r+nnethercote,edwsmith)
Copy x86 CPU detection code from jstracer into Nativei386;
allowing hosts to share the common code.

One potential issue with this patch is that the detection code is
executed each time an Assembler object is created.

If it becomes an issue, it might be worthwhile to add a tri-state
to config in order to capture the value post-test.

--HG--
extra : convert_revision : ab0a893ffe833f1562216186567d4e7798be45aa
2009-12-01 11:36:07 -08:00
Robert Sayre
8be5b171b9 Backed out changeset c03ebf340688. Bye-bye middle-deletes and their O(n^2) worst case complexity; hello dictionary-mode scopes (473228, r=jorendorff). 2009-12-01 09:56:16 -05:00
Robert Sayre
5d08f03267 Backed out changeset c696751593d6. Tolerate race condition or broken resolve hook (530507, r=jorendorff). 2009-12-01 09:54:38 -05:00
Nicholas Nethercote
ed2756a1e0 Backed out changeset 8d7d6dcce7eb (due to ARM and WinNT bustage).
--HG--
extra : convert_revision : 2d17a9b2e8daa8f3e89cd756a7eb23a41579f7e1
2009-12-01 15:16:57 +11:00
Nicholas Nethercote
e3584b76b3 Bug 527754 - CseFilter not able to handle downstream modification of instructions. r=rreitmai,gal.
--HG--
extra : convert_revision : 8d7d6dcce7ebda66b1aab48f40b46c1e7df2d91d
2009-12-01 14:56:44 +11:00
Blake Kaplan
f9ed6eeaa4 Bug 468506 - JS_GetFrameThis needs to call js_ComputeThis in more cases. r=brendan
--HG--
extra : rebase_source : 2a107feb26544159f04b60c27508338cef8fdf7f
2009-11-30 16:05:44 -05:00
David Anderson
30300db88d Recursion needs to fix up argsobj when it pops frames on trace (bug 531298, r=dmandelin). 2009-12-01 10:37:30 -08:00
Robert Sayre
5d34830070 Backout bug 473228 and its follow-up, temporarily, to attempt a clean merge of other stuff. 2009-12-01 09:57:20 -05:00
Robert Sayre
708784babe Merge backout. 2009-12-01 09:54:57 -05:00
Igor Bukanov
a3f5d5c07b bug 531037 - eval fixes. r=brendan 2009-12-01 00:01:11 +03:00
Robert Sayre
0340e89b31 Add a call to reportCompare so this test passes. 2009-11-30 14:15:50 -05:00
Luke Wagner
3dcb8555c2 Bug 530366 - don't use std::sort in jsregexp (r=dmandelin) 2009-11-30 09:03:43 -08:00
Robert Sayre
57d0498f8e Add a missing credit to trigger a re-compile. 2009-11-30 11:15:10 -05:00
Igor Bukanov
13fbc6f2c6 Backed out changeset b774250f04d3 - the landed patch for bug 424558 has regressed. 2009-11-30 15:33:04 +03:00
Nicholas Nethercote
b7cf8c804f Bug 531324 - nanojit: improve int32 constant generation in i386 backend. r=graydon.
--HG--
extra : convert_revision : 3b04b5fdd47f0469f040fb147d60ed4cd30d8c8e
2009-11-30 17:26:15 +11:00
Leon Sha
e913eb4c6a Bug 531218 - NJ: Remove unused _getfp for solaris from nanojit. r=stejohns.
--HG--
extra : convert_revision : 2d22cabbe865243948ddcad4bc73dba4fc0c5aef
2009-11-30 09:24:10 +08:00
Igor Bukanov
a09a76650d bug 424558, r=brendan 2009-11-29 20:33:57 +03:00
Jim Blandy
35c480afbf Bug 530018 - Add comment to explain why typedef is neceessary. (no r) 2009-11-27 17:05:21 -08:00
Leon Sha
1e26add917 Bug 530018 - js_DecompileToString Undefined symbol. r=jim 2009-11-27 09:22:24 +08:00
Nicholas Nethercote
2ea546e6fd Bug 531224 - TM: associate JS source locations with fragments properly. r=graydon. 2009-11-26 13:52:22 -08:00
Jim Blandy
35e434274a Bug 499524: Always check for duplicates when destructuring params are present. r=igor
Detect duplicate names in parameter lists that include destructuring
parameters, regardless of whether the duplication becomes before or
after the destructuring. Let strict mode complaints take care of
themselves after the body has been parsed.

In BindDestructuringArg, there should never be an entry in tc->decls
for the given name if the call to js_LookupLocal didn't detect a
duplicate argument, so we can simply assert that tc->decl.lookup
returns NULL, instead of checking it.

In HashLocalName, we can tighten the assertion: both the new and
existing entries must be JSLOCAL_ARG, since we detect all non-ARG
(i.e., destructuring) duplicates early.
2009-11-26 10:23:52 -08:00
Nicholas Nethercote
4437c0eac2 Bug 531165 - TM: move SoftFloatFilter upstream of CseFilter. r=gal. 2009-11-25 19:10:34 -08:00
Leon Sha<leon.sha@sun.com>
e93e6c4af5 Bug 530979 - NJ: Build errors for lirasm.cpp on solaris with sun studio. r=graydon
--HG--
extra : convert_revision : 69ef86e45856c850accc542111053c4387a8b804
2009-11-26 09:21:05 +08:00
Brendan Eich
7e754c5e8c See bug 533138. 2009-12-05 23:35:06 -08:00
Igor Bukanov
13dbd2ef1b bug 528116 - trace-test test case 2009-11-26 01:39:01 +03:00
Brendan Eich
5120898335 Tolerate race condition or broken resolve hook (530507, r=jorendorff). 2009-11-25 13:49:15 -08:00
Igor Bukanov
4f0dd855b8 bug 528116 - scope chain lookup fix when recording an eval script. r=dmandelin 2009-11-25 21:16:06 +03:00
David Mandelin
02f2a01692 Bug 530969: fix testing of XULRunner properties in jstests.py manifest parsing, r=njn 2009-11-24 18:57:09 -08:00
Robert Sayre
57982d9fff Merge mozilla-central to tracemonkey. 2009-11-25 10:48:43 -05:00
Leon Sha<leon.sha@sun.com>
26ceb9e49b Update nanojit-import-rev stamp. 2009-11-25 15:32:07 +08:00
Leon Sha<leon.sha@sun.com>
8b045f25a8 Bug 529849 - Assertion failed: _allocator.free & rmask(r) (../../../js/src/nanojit/Assembler.cpp:433). r=gal
--HG--
extra : convert_revision : 23ed78f42df2b7b1a590fc7e986e6d446ef4d3d4
2009-11-25 15:24:23 +08:00
Nicholas Nethercote
dfc1dd039d Bug 515313 - nanojit: finish killing reservations. r=edwsmith.
--HG--
extra : convert_revision : 1b6cb808f3048c25857613fa6e77e865fee51d8e
2009-11-24 23:00:23 -08:00
Nicholas Nethercote
a603d864d1 Bug 512181 - nanojit: rework TMFLAGS=assembly,regalloc,activation. r=edwsmith.
--HG--
extra : convert_revision : 43e64a1135f17761aad95ee7ce2d1692aa937579
2009-11-24 22:38:51 -08:00
Nicholas Nethercote
90a5b3e9bc Bug 505662 - nanojit: kill operandCount. r=graydon,edwsmith.
--HG--
extra : convert_revision : ab7d225a3c8b1562eb74336099abc564f770e7f3
2009-11-24 22:21:27 -08:00
Nicholas Nethercote
e97530faf2 Bug 512181 - nanojit: rework TMFLAGS=assembly,regalloc,activation (the TM-specific part only, which is independent of the NJ-specific part). r=graydon. 2009-11-24 22:42:16 -08:00
Andreas Gal
2579df36c1 -r 2009-11-24 19:35:17 -08:00
Andreas Gal
58b9ca067f Avoid frequent reallocs in Queue::ensure (530936, r=luke). 2009-11-24 17:04:24 -08:00
Nicholas Nethercote
7378bf1f05 Update nanojit-import-rev stamp. 2009-11-25 11:11:02 +11:00
Jacob Bramley
9e77d13c80 Add Nanojit configuration flags (such as --sse) to lirasm. (bug 526974, r=nnethercote)
--HG--
extra : convert_revision : baa27feb8fb4fdaf1ecb0839c4bd468e83da2aeb
2009-11-24 11:05:20 +00:00
Nicholas Nethercote
ac806a733d Bug 529900 - 64-bit - lots of assertions, crashes... r=edwsmith.
--HG--
extra : convert_revision : 3d99d6e37ba85c13d449352b8ce8283d4e0cbf0d
2009-11-24 15:30:04 +11:00
Nicholas Nethercote
b33368aede Bug 525379 - nanojit: make the _nIns/_nExitIns swap hack more consistent. r=edwsmith.
--HG--
extra : convert_revision : bad9394918255f4afcbff259153dc9d8c9afad25
2009-11-24 14:56:33 +11:00
Nicholas Nethercote
f0322be6c3 Bug 530713 - nanojit: fix LirReader::read() badness. r=edwsmith.
--HG--
extra : convert_revision : 39a8b47fd38af397e7fe0196637dc2e66cadb56b
2009-11-24 14:23:20 +11:00