Closed Bug 487216 Opened 16 years ago Closed 16 years ago

TM: Other builtins that call JS_malloc

Categories

(Core :: JavaScript Engine, defect)

Other Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jorendorff, Assigned: jorendorff)

References

Details

(Keywords: fixed1.9.1, Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file)

Spun off from bug 482015 comment 8. As bad as that bug if it bites, so probably a blocker.
Flags: blocking1.9.1?
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.
(In reply to comment #1) > Not entirely sure about js_AddProperty. The function may call js_ReallocSlots which uses OOM-reporting JS_realloc.
Attached patch v1Splinter Review
perf results coming
Assignee: general → jorendorff
Attachment #371506 - Flags: review?(gal)
Attachment #371506 - Flags: review?(gal) → review+
SunSpider, 50 runs: ** TOTAL **: *1.006x as slow* 2226.6ms +/- 0.2% 2240.2ms +/- 0.7% significant 14ms slower?
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
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
Whiteboard: fixed-in-tracemonkey
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Flags: blocking1.9.1? → blocking1.9.1+
Depends on: 705669
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: