Closed
Bug 487216
Opened 16 years ago
Closed 16 years ago
TM: Other builtins that call JS_malloc
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: jorendorff, Assigned: jorendorff)
References
Details
(Keywords: fixed1.9.1, Whiteboard: fixed-in-tracemonkey)
Attachments
(1 file)
4.21 KB,
patch
|
gal
:
review+
|
Details | Diff | Splinter Review |
Spun off from bug 482015 comment 8. As bad as that bug if it bites, so probably a blocker.
Flags: blocking1.9.1?
Assignee | ||
Comment 1•16 years ago
|
||
Here's the list of functions that can (I think) end up in JS_malloc or JS_ReportOutOfMemory. Not entirely sure about js_AddProperty.
js_AddProperty
js_ArrayCompPush
js_Array_1str
js_Array_dense_setelem
js_ConcatStrings
js_NewUninitializedArray
js_StringToNumber (!) (via js_strtointeger)
js_String_getelem
Andreas doesn't want me to add a hack in JS_malloc (and friends) like the one in js_NewGCThing:
if (!JS_ON_TRACE(cx)) // too cute? andreas thinks so
JS_ReportOutOfMemory(cx);
But I don't see a better way to fix this.
Comment 2•16 years ago
|
||
(In reply to comment #1)
> Not entirely sure about js_AddProperty.
The function may call js_ReallocSlots which uses OOM-reporting JS_realloc.
Assignee | ||
Comment 3•16 years ago
|
||
perf results coming
Assignee: general → jorendorff
Attachment #371506 -
Flags: review?(gal)
Updated•16 years ago
|
Attachment #371506 -
Flags: review?(gal) → review+
Assignee | ||
Comment 4•16 years ago
|
||
SunSpider, 50 runs:
** TOTAL **: *1.006x as slow* 2226.6ms +/- 0.2% 2240.2ms +/- 0.7% significant
14ms slower?
Assignee | ||
Comment 5•16 years ago
|
||
TEST COMPARISON FROM TO DETAILS
=============================================================================
** TOTAL **: *1.006x as slow* 2226.6ms +/- 0.2% 2240.2ms +/- 0.7% significant
=============================================================================
3d: *1.010x as slow* 341.4ms +/- 0.3% 344.9ms +/- 1.4% significant
cube: ?? 95.8ms +/- 0.5% 96.2ms +/- 1.8% not conclusive: might be *1.004x as slow*
morph: *1.014x as slow* 63.8ms +/- 0.6% 64.7ms +/- 1.9% significant
raytrace: *1.012x as slow* 181.7ms +/- 0.4% 184.0ms +/- 1.3% significant
access: *1.016x as slow* 290.8ms +/- 0.3% 295.4ms +/- 1.3% significant
binary-trees: *1.009x as slow* 83.6ms +/- 0.3% 84.3ms +/- 0.8% significant
fannkuch: *1.019x as slow* 122.1ms +/- 0.5% 124.5ms +/- 2.0% significant
nbody: *1.016x as slow* 57.6ms +/- 0.3% 58.6ms +/- 1.4% significant
nsieve: *1.021x as slow* 27.5ms +/- 0.6% 28.0ms +/- 1.5% significant
bitops: - 76.3ms +/- 0.6% 75.8ms +/- 0.6%
3bit-bits-in-byte: - 3.5ms +/- 4.1% 3.5ms +/- 4.4%
bits-in-byte: - 17.0ms +/- 0.6% 17.0ms +/- 0.8%
bitwise-and: - 4.4ms +/- 3.2% 4.4ms +/- 3.2%
nsieve-bits: 1.009x as fast 51.3ms +/- 0.5% 50.9ms +/- 0.5% significant
controlflow: ?? 68.7ms +/- 0.4% 68.8ms +/- 0.4% not conclusive: might be *1.001x as slow*
recursive: ?? 68.7ms +/- 0.4% 68.8ms +/- 0.4% not conclusive: might be *1.001x as slow*
crypto: - 143.6ms +/- 1.4% 143.4ms +/- 1.3%
aes: - 82.0ms +/- 2.2% 81.5ms +/- 2.0%
md5: ?? 45.2ms +/- 0.9% 45.6ms +/- 1.1% not conclusive: might be *1.009x as slow*
sha1: - 16.3ms +/- 1.0% 16.3ms +/- 1.3%
date: ?? 386.5ms +/- 0.4% 388.3ms +/- 0.9% not conclusive: might be *1.005x as slow*
format-tofte: ?? 138.2ms +/- 0.7% 138.7ms +/- 0.9% not conclusive: might be *1.004x as slow*
format-xparb: ?? 248.3ms +/- 0.4% 249.5ms +/- 1.1% not conclusive: might be *1.005x as slow*
math: - 89.6ms +/- 0.9% 88.9ms +/- 1.1%
cordic: 1.028x as fast 42.7ms +/- 1.4% 41.5ms +/- 1.6% significant
partial-sums: *1.012x as slow* 32.8ms +/- 0.8% 33.2ms +/- 0.9% significant
spectral-norm: ?? 14.1ms +/- 1.1% 14.3ms +/- 1.3% not conclusive: might be *1.008x as slow*
regexp: *1.023x as slow* 90.2ms +/- 0.6% 92.3ms +/- 2.0% significant
dna: *1.023x as slow* 90.2ms +/- 0.6% 92.3ms +/- 2.0% significant
string: ?? 739.4ms +/- 0.2% 742.4ms +/- 0.7% not conclusive: might be *1.004x as slow*
base64: *1.017x as slow* 38.3ms +/- 0.6% 39.0ms +/- 2.1% significant
fasta: *1.021x as slow* 159.3ms +/- 0.3% 162.6ms +/- 0.9% significant
tagcloud: *1.007x as slow* 214.4ms +/- 0.3% 215.9ms +/- 1.3% significant
unpack-code: 1.013x as fast 259.6ms +/- 0.4% 256.3ms +/- 0.8% significant
validate-input: *1.012x as slow* 67.8ms +/- 0.3% 68.6ms +/- 0.7% significant
Assignee | ||
Comment 6•16 years ago
|
||
But if I also revert the previous changeset (bug 482015):
TEST COMPARISON FROM TO DETAILS
=============================================================================
** TOTAL **: 1.011x as fast 2226.6ms +/- 0.2% 2201.5ms +/- 0.2% significant
=============================================================================
3d: ?? 341.4ms +/- 0.3% 342.4ms +/- 0.3% not conclusive: might be *1.003x as slow*
cube: - 95.8ms +/- 0.5% 95.5ms +/- 0.6%
morph: *1.023x as slow* 63.8ms +/- 0.6% 65.3ms +/- 0.4% significant
raytrace: - 181.7ms +/- 0.4% 181.7ms +/- 0.4%
access: *1.011x as slow* 290.8ms +/- 0.3% 294.0ms +/- 0.2% significant
binary-trees: *1.031x as slow* 83.6ms +/- 0.3% 86.2ms +/- 0.3% significant
fannkuch: ?? 122.1ms +/- 0.5% 122.7ms +/- 0.2% not conclusive: might be *1.005x as slow*
nbody: 1.006x as fast 57.6ms +/- 0.3% 57.3ms +/- 0.5% significant
nsieve: *1.015x as slow* 27.5ms +/- 0.6% 27.9ms +/- 1.3% significant
bitops: - 76.3ms +/- 0.6% 75.7ms +/- 0.8%
3bit-bits-in-byte: - 3.5ms +/- 4.1% 3.4ms +/- 4.1%
bits-in-byte: - 17.0ms +/- 0.6% 16.9ms +/- 1.2%
bitwise-and: ?? 4.4ms +/- 3.2% 4.5ms +/- 3.4% not conclusive: might be *1.014x as slow*
nsieve-bits: 1.009x as fast 51.3ms +/- 0.5% 50.9ms +/- 0.4% significant
controlflow: - 68.7ms +/- 0.4% 68.5ms +/- 0.3%
recursive: - 68.7ms +/- 0.4% 68.5ms +/- 0.3%
crypto: - 143.6ms +/- 1.4% 141.8ms +/- 0.6%
aes: - 82.0ms +/- 2.2% 80.6ms +/- 0.9%
md5: - 45.2ms +/- 0.9% 44.9ms +/- 0.4%
sha1: ?? 16.3ms +/- 1.0% 16.4ms +/- 1.2% not conclusive: might be *1.002x as slow*
date: 1.021x as fast 386.5ms +/- 0.4% 378.4ms +/- 0.6% significant
format-tofte: 1.009x as fast 138.2ms +/- 0.7% 137.0ms +/- 0.3% significant
format-xparb: 1.028x as fast 248.3ms +/- 0.4% 241.5ms +/- 0.9% significant
math: 1.031x as fast 89.6ms +/- 0.9% 86.9ms +/- 0.3% significant
cordic: 1.060x as fast 42.7ms +/- 1.4% 40.3ms +/- 0.4% significant
partial-sums: - 32.8ms +/- 0.8% 32.7ms +/- 0.5%
spectral-norm: 1.016x as fast 14.1ms +/- 1.1% 13.9ms +/- 0.8% significant
regexp: - 90.2ms +/- 0.6% 89.8ms +/- 0.5%
dna: - 90.2ms +/- 0.6% 89.8ms +/- 0.5%
string: 1.021x as fast 739.4ms +/- 0.2% 723.9ms +/- 0.4% significant
base64: 1.056x as fast 38.3ms +/- 0.6% 36.3ms +/- 0.4% significant
fasta: *1.010x as slow* 159.3ms +/- 0.3% 160.9ms +/- 0.3% significant
tagcloud: 1.011x as fast 214.4ms +/- 0.3% 212.1ms +/- 0.9% significant
unpack-code: 1.048x as fast 259.6ms +/- 0.4% 247.7ms +/- 0.3% significant
validate-input: 1.012x as fast 67.8ms +/- 0.3% 66.9ms +/- 0.5% significant
Assignee | ||
Comment 7•16 years ago
|
||
Assignee | ||
Updated•16 years ago
|
Whiteboard: fixed-in-tracemonkey
Comment 8•16 years ago
|
||
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Updated•16 years ago
|
Flags: blocking1.9.1? → blocking1.9.1+
Comment 9•16 years ago
|
||
Keywords: fixed1.9.1
You need to log in
before you can comment on or make changes to this bug.
Description
•