Skip to content

Commit 3c65140

Browse files
committed
Toss current container spec config op.
Not used in NQP itself, and we'll be changing how container stuff is handled.
1 parent 87b52fb commit 3c65140

File tree

2 files changed

+0
-39
lines changed

2 files changed

+0
-39
lines changed

src/QAST/Operations.nqp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1850,7 +1850,6 @@ QAST::Operations.add_core_pirop_mapping('setmethcache', 'publish_method_cache',
18501850
QAST::Operations.add_core_pirop_mapping('setmethcacheauth', 'set_method_cache_authoritativeness', '0Pi', :inlinable(1));
18511851
QAST::Operations.add_core_pirop_mapping('settypecache', 'publish_type_check_cache', '0PP', :inlinable(1));
18521852
QAST::Operations.add_core_pirop_mapping('objprimspec', 'repr_get_primitive_type_spec', 'IP', :inlinable(1));
1853-
QAST::Operations.add_core_pirop_mapping('setcontspec', 'set_container_spec', '0PPsP', :inlinable(1));
18541853
QAST::Operations.add_core_pirop_mapping('setinvokespec', 'set_invocation_spec', '0PPsP', :inlinable(1));
18551854

18561855
# lexical related opcodes

src/ops/nqp.ops

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2229,44 +2229,6 @@ inline op nqp_decontainerize(out PMC, invar PMC) :base_core {
22292229
$1 = decontainerize(interp, $2);
22302230
}
22312231

2232-
/*
2233-
2234-
=item set_container_spec
2235-
2236-
Sets the container spec for the type in $1 (it actaully sets it on
2237-
the s-table, so the type object or any instance of the type will do).
2238-
2239-
Either set $2 and $3 to a class handle and an attribute name, or set
2240-
$4 to a code ref for the FETCH method. Generally, $2/$3 take precedence
2241-
over $4.
2242-
2243-
=cut
2244-
2245-
*/
2246-
inline op set_container_spec(invar PMC, invar PMC, in STR, invar PMC) :base_core {
2247-
if ($1->vtable->base_type == smo_id) {
2248-
STable *st = STABLE($1);
2249-
2250-
/* Allocate and populate new container spec. */
2251-
ContainerSpec *new_spec = mem_allocate_zeroed_typed(ContainerSpec);
2252-
new_spec->value_slot.class_handle = $2;
2253-
new_spec->value_slot.attr_name = $3;
2254-
new_spec->fetch_method = $4;
2255-
2256-
/* Free any existing spec and put the new one in place. */
2257-
if (st->container_spec)
2258-
mem_sys_free(st->container_spec);
2259-
st->container_spec = new_spec;
2260-
PARROT_GC_WRITE_BARRIER(interp, STABLE_PMC($1));
2261-
ST_SC_WRITE_BARRIER(st);
2262-
}
2263-
else {
2264-
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
2265-
"Can only use set_container_spec with a SixModelObject");
2266-
}
2267-
}
2268-
2269-
22702232
/*
22712233

22722234
=item set_invocation_spec

0 commit comments

Comments
 (0)