Closed Bug 486410 Opened 15 years ago Closed 15 years ago

AS Debugger fixes

Categories

(Tamarin Graveyard :: Virtual Machine, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: rreitmai, Assigned: rreitmai)

References

Details

Attachments

(5 files, 1 obsolete file)

This bug is a holding pot for various debugger issues encountered during integration.
placing here to keep a record of what changes were needed, will formally rearrange for submit once all issues are resolved.

(1) GC::CleanStack needs to be disabled for debugger, due to threading issues.  The debugger executes code on multiple threads and in so doing rememberedStackTop can get set to multiple thread local stack values; boom.

(2) Added DebuggerCheck filter for debug debugger builds to verifier that the LIR being generated for traits is correct. 

(3) bug in call to localSet() needed to use 'loc' not 'i'

(4) In MethodEnv:debugEnter() frameTraits should not be cleared out.

(5) StackTrace.scopeBase() disabled until bug 484039 is fixed

(6) LIR_live now extends the lifetime of LIR_alloc's instructions to the point of the live reference.  Other expressions continue to work as they did before, i.e. their lifetime is extended to the bottom of loops.
can you generate the patch with hg diff -- all the files in that patch seem mashed together?
even better, rebase to tamarin-redux too
Poated a redux based version of the patch for others to use - Will pull it apart for review shortly.
LIR_live now extends the lifetime of LIR_alloc's instructions to the point
of the live reference.  Other expressions continue to work as they did before,
i.e. their lifetime is extended to the bottom of loops.
Attachment #370916 - Flags: review?(edwsmith)
Fixes a bug in call to localSet() needed to use 'loc' not 'i' and introduces DebuggerCheck filter for debug debugger builds to verifier that the
LIR being generated for traits is correct.
Attachment #370917 - Flags: review?(edwsmith)
GC::CleanStack needs to be disabled for debugger, due to threading issues. 
The debugger executes code on multiple threads and in so doing
rememberedStackTop can get set to multiple thread local stack values; boom.

Also note: Steven's comment :

"ok, but keep in mind that AIR always runs with SCRIPT_DEBUGGER — if the code doesn’t check for presence of a debuuger at runtime (vs compiletime), maybe it should"

which implies this is not the correct solution. Can you suggest otherwise?
Attachment #370919 - Flags: review?(treilly)
Attachment #370919 - Attachment is patch: true
Attachment #370919 - Attachment mime type: application/octet-stream → text/plain
StackTrace.scopeBase() disabled until bug 484039 is fixed
Attachment #370920 - Flags: review?(stejohns)
Attachment #370920 - Flags: review?(stejohns) → review+
Comment on attachment 370916 [details] [diff] [review]
ver 1 - live extension for LIR_alloc

adding commentage such as "... because LIR_alloca memory is presumed referenced indirectly until the point of LIR_live"
Attachment #370916 - Flags: review?(edwsmith) → review+
Comment on attachment 370917 [details] [diff] [review]
ver 1 - cgen fixes and filter

Please add comments explaining what DebuggerCheck is and how it works.
Attachment #370917 - Flags: review?(edwsmith) → review+
Attachment #370919 - Flags: review?(treilly) → review+
Comment on attachment 370919 [details] [diff] [review]
ver 1 - clean stack disabled for debugger builds

This won't work b/c AIR always defines DEBUGGER.
Attachment #370919 - Flags: review+ → review-
Comment on attachment 370919 [details] [diff] [review]
ver 1 - clean stack disabled for debugger builds

Obsolete see https://bugzilla.mozilla.org/show_bug.cgi?id=487032
Attachment #370919 - Attachment is obsolete: true
99e9cf0046a2: Fixes for bug 486410 - AS debugging (r=stejohns/edwsmith) - rev 1679
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Depends on: 481230
Blocks: 481230
No longer depends on: 481230
No longer blocks: 481230
Depends on: 481230
Blocks: 484039
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: