Closed
      
        Bug 1070465
      
      
        Opened 11 years ago
          Closed 11 years ago
      
        
    
  
Assertion failure: tagCount > 0, at jit/CodeGenerator.cpp   
    Categories
(Core :: JavaScript Engine: JIT, defect)
Tracking
()
        RESOLVED
        FIXED
        
    
  
        
            mozilla35
        
    
  
| Tracking | Status | |
|---|---|---|
| firefox35 | --- | affected | 
People
(Reporter: gkw, Assigned: shu)
References
Details
(Keywords: assertion, regression, testcase, Whiteboard: [jsbugmon:update])
Attachments
(2 files, 1 obsolete file)
| 
        
        
         6.22 KB,
          text/plain         
       | 
      Details | |
| 
        
        
         2.20 KB,
          patch         
       | 
      
           jandem
 :
              
              review+
           | 
      Details | Diff | Splinter Review | 
{
    while (x && 0) {}
    let x
}
asserts js debug shell on m-c changeset c8e325eee9e1 with --ion-eager --no-threads at Assertion failure: tagCount > 0, at jit/CodeGenerator.cpp.
Debug configure flags:
CC="clang -Qunused-arguments" CXX="clang++ -Qunused-arguments" AR=ar sh /Users/skywalker/trees/mozilla-central/js/src/configure --target=x86_64-apple-darwin12.5.0 --enable-debug --enable-optimize --enable-nspr-build --enable-more-deterministic --with-ccache --enable-gczeal --enable-debug-symbols --disable-tests
=== Tinderbox Build Bisection Results by autoBisect ===
The "good" changeset has the timestamp "20140915155135" and the hash "170ce237e4a0".
The "bad" changeset has the timestamp "20140915164436" and the hash "b7f4709b34c3".
Likely regression window: https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=170ce237e4a0&tochange=b7f4709b34c3
Shu-yu, is bug 1001090 a possible regressor? (Guessing that bug is related because the changeset range involves that bug and also the testcase includes "let".)
Flags: needinfo?(shu)
| Assignee | ||
          Comment 1•11 years ago
           
         | 
      ||
        Attachment #8492677 -
        Flags: review?(jdemooij)
| Assignee | ||
          Updated•11 years ago
           
         | 
      
Flags: needinfo?(shu)
| Reporter | ||
          Comment 2•11 years ago
           
         | 
      ||
          Comment 3•11 years ago
           
         | 
      ||
Comment on attachment 8492677 [details] [diff] [review]
Give JS_UNINITIALIZED_LEXICAL constants unknown type sets in Ion.
Review of attachment 8492677 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/jit/IonBuilder.cpp
@@ +11092,5 @@
> +    // TODO We could track uninitialized lexicals more precisely by tracking
> +    // them in type sets.
> +    MConstant *c = constant(MagicValue(JS_UNINITIALIZED_LEXICAL));
> +    LifoAlloc *lifoAlloc = alloc().lifoAlloc();
> +    types::TemporaryTypeSet *unknown =
This looks a lot like what we do in MConstant::MConstant for objects. Can we move this code over there?
        Attachment #8492677 -
        Flags: review?(jdemooij)
| Reporter | ||
          Comment 4•11 years ago
           
         | 
      ||
Shu-yu, assigning to you as you worked on the first patch. :)
Assignee: nobody → shu
Status: NEW → ASSIGNED
| Assignee | ||
          Comment 5•11 years ago
           
         | 
      ||
Good suggestion. This is much cleaner.
        Attachment #8492677 -
        Attachment is obsolete: true
        Attachment #8497097 -
        Flags: review?(jdemooij)
          Comment 6•11 years ago
           
         | 
      ||
Comment on attachment 8497097 [details] [diff] [review]
Give JS_UNINITIALIZED_LEXICAL constants unknown type sets in Ion.
Review of attachment 8497097 [details] [diff] [review]:
-----------------------------------------------------------------
Thanks!
        Attachment #8497097 -
        Flags: review?(jdemooij) → review+
| Assignee | ||
          Comment 7•11 years ago
           
         | 
      ||
          Comment 8•11 years ago
           
         | 
      ||
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
          You need to log in
          before you can comment on or make changes to this bug.
        
Description
•