Skip to content

Commit e8b35bf

Browse files
committed
Take array pointer for list traversal
1 parent 497c906 commit e8b35bf

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/rlang/env.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,11 @@ void r_env_coalesce(r_obj* env, r_obj* from) {
7575
}
7676

7777
r_ssize n = r_length(syms);
78+
r_obj* const * v_syms = r_list_cbegin(syms);
7879
enum r_env_binding_type* v_types = (enum r_env_binding_type*) r_int_begin(types);
7980

8081
for (r_ssize i = 0; i < n; ++i) {
81-
r_obj* sym = r_list_get(syms, i);
82+
r_obj* sym = v_syms[i];
8283

8384
if (r_env_has(env, sym)) {
8485
continue;
@@ -127,9 +128,10 @@ void r_env_coalesce(r_obj* env, r_obj* from) {
127128
static
128129
void env_coalesce_plain(r_obj* env, r_obj* from, r_obj* syms) {
129130
r_ssize n = r_length(syms);
131+
r_obj* const * v_syms = r_list_cbegin(syms);
130132

131133
for (r_ssize i = 0; i < n; ++i) {
132-
r_obj* sym = r_list_get(syms, i);
134+
r_obj* sym = v_syms[i];
133135

134136
if (r_env_has(env, sym)) {
135137
continue;

0 commit comments

Comments
 (0)