Closed Bug 346029 Opened 18 years ago Closed 18 years ago

try-finally where try throws runs finally with exception pending

Categories

(Core :: JavaScript Engine, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla1.8.1beta2

People

(Reporter: brendan, Assigned: brendan)

References

Details

(Keywords: fixed1.8.1)

Attachments

(1 file)

Before, this could lead to confusion due to JS_IsExceptionPending usage and the like. Now it will lead to odd failure due to immediate rethrow on js_Interpret reentry (e.g., from eval). See bug 341821.

ECMA-262 Edition 3 12.14 semantics for the second production are clear.  We need to save the result of evaluating the try block while evaluating the finally, and propagate that result if the finally completes normally (not abruptly, e.g. by throwing or returning).

/be
Status: NEW → ASSIGNED
Priority: -- → P1
Attached patch fixSplinter Review
Shaver, it would be great if you could give this a look too.

/be
Attachment #230825 - Flags: superreview?(shaver)
Attachment #230825 - Flags: review?(mrbkap)
Flags: blocking1.8.1?
Flags: blocking1.8.1? → blocking1.8.1+
Comment on attachment 230825 [details] [diff] [review]
fix

sr=shaver
Attachment #230825 - Flags: superreview?(shaver) → superreview+
Attachment #230825 - Flags: review?(mrbkap) → review+
Fixed on trunk.

/be
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Attachment #230825 - Flags: approval1.8.1?
Comment on attachment 230825 [details] [diff] [review]
fix

a=mconnor on behalf of drivers for 1.8 branch
Attachment #230825 - Flags: approval1.8.1? → approval1.8.1+
Keywords: fixed1.8.1
Flags: in-testsuite-
Depends on: 346494
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: