Thread-safe exception throwing/handling

NEW
Assigned to

Status

Tamarin
Virtual Machine
7 years ago
7 years ago

People

(Reporter: Simon Wilkinson, Assigned: Garnet Chaney)

Tracking

(Depends on: 1 bug, Blocks: 3 bugs)

unspecified
Dependency tree / graph
Bug Flags:
flashplayer-qrb +

Details

Attachments

(1 attachment, 1 obsolete attachment)

(Reporter)

Description

7 years ago
Exceptions are currently thrown and handled per AvmCore, not per-thread.
However, for a multi-threaded VM, it would be useful to throw exceptions concurrently from any thread.
(Reporter)

Comment 1

7 years ago
Created attachment 461060 [details] [diff] [review]
Initial patch


The attached patch provides two things:

- Thread-local implementation of the current AvmCore fields which manage exceptions. This is a really simple implementation, and should be optimized more for the AvmCore's application-thread (as it will have to access a thread-local even when entering a try block).

- ExceptionSpecification: a mechanism for internal-VM threads to throw exceptions without having to execute AS constructors or class initializers.


The above is enabled via AVMFEATURE_BASIC_VM_THREAD_SAFETY
(Reporter)

Updated

7 years ago
Depends on: 555760, 555765, 582770
(Reporter)

Updated

7 years ago
Blocks: 582817

Updated

7 years ago
Blocks: 595012

Updated

7 years ago
Assignee: nobody → siwilkin
Flags: flashplayer-qrb+
(Reporter)

Updated

7 years ago
Assignee: siwilkin → gchaney
(Reporter)

Comment 2

7 years ago
Created attachment 525942 [details] [diff] [review]
Latest. TR rev 6090. Patch queue rev 277
Attachment #461060 - Attachment is obsolete: true
(Reporter)

Comment 3

7 years ago
(In reply to comment #2)
> Created attachment 525942 [details] [diff] [review]
> Latest. TR rev 6090. Patch queue rev 277

This feature is not ifdef'd in the latest patch.
AVMFEATURE_BASIC_VM_THREAD_SAFETY has been removed.
(Reporter)

Updated

7 years ago
Blocks: 650108
You need to log in before you can comment on or make changes to this bug.