Closed Bug 1020869 Opened 10 years ago Closed 10 years ago

Latin1 strings: support IdToTypeId, StringIsArrayIndex etc

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla32

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(1 file)

      No description provided.
Attached patch PatchSplinter Review
I also had to fix PutEscapedStringImpl, the inference spew calls it in debug builds. We should probably stop doing that if the spew is disabled though...
Attachment #8434827 - Flags: review?(bhackett1024)
Comment on attachment 8434827 [details] [diff] [review]
Patch

Review of attachment 8434827 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/src/jsinferinlines.h
@@ +163,5 @@
>  }
>  
> +template <class Range>
> +inline jsid
> +AtomToTypeId(Range cp, jsid id)

I think this would be clearer if the id parameter were removed, the return type changed to bool and the name was IdIsNumericTypeId.

@@ +198,5 @@
>  
>      /*
>       * Check for numeric strings, as in js_StringIsIndex, but allow negative
>       * and overflowing integers.
>       */

This comment should go in the above new function.

::: js/src/vm/String.h
@@ +710,5 @@
>      bool isFlat() const MOZ_DELETE;
>      JSFlatString &asFlat() const MOZ_DELETE;
>  
> +    template <typename CharT>
> +    bool isIndexSlow(const CharT *s, uint32_t *indexp) const;

Maybe make this static and pass in the length as well?  It just seems kind of weird to have a member function getting its own chars pointer passed in.
Attachment #8434827 - Flags: review?(bhackett1024) → review+
https://hg.mozilla.org/mozilla-central/rev/cd4218cd70f9
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: