Opened 4 years ago
Closed 4 years ago
#1797 closed defect (fixed)
checked inline procedures should not call intern
| Reported by: | sjamaan | Owned by: | felix winkelmann |
|---|---|---|---|
| Priority: | major | Milestone: | 5.4 |
| Component: | core libraries | Version: | 5.3.0 |
| Keywords: | Cc: | ||
| Estimated difficulty: | easy |
Description
As found by Felix, inline safe procedures like C_i_char_equalp call C_i_check_char_2 which requires a call to intern0 to provide error reporting, sometimes more than once, even when there's no error.
This is highly inefficient and should be done differently. A quick fix would be to pass C_SCHEME_FALSE (or use the non-_2 version like C_i_check_char) but perhaps it's better to have C versions of the checking predicates that can call intern0 on a C string in case of error.
Change History (2)
comment:1 Changed 4 years ago by
| Owner: | set to felix winkelmann |
|---|---|
| Status: | new → accepted |
comment:2 Changed 4 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | accepted → closed |
Note: See
TracTickets for help on using
tickets.

Fixed with 2d1f3dbdb2a57cf01c6720648ad7cc5e8bc27d7c