[svn:parrot] r48171 - in branches/gsoc_instrument: . runtime/parrot/library/Instrument src/dynpmc t/dynpmc tools/build
khairul at svn.parrot.org
khairul at svn.parrot.org
Sat Jul 24 16:24:40 UTC 2010
Author: khairul
Date: Sat Jul 24 16:24:39 2010
New Revision: 48171
URL: https://trac.parrot.org/parrot/changeset/48171
Log:
Added tests for InstrumentVtable + Regenerated vtable stubs.
Added:
branches/gsoc_instrument/t/dynpmc/instrumentvtable.t (contents, props changed)
Modified:
branches/gsoc_instrument/MANIFEST
branches/gsoc_instrument/runtime/parrot/library/Instrument/EventLibrary.nqp
branches/gsoc_instrument/src/dynpmc/instrument.pmc
branches/gsoc_instrument/src/dynpmc/instrumentclass.pmc
branches/gsoc_instrument/src/dynpmc/instrumentstubbase.pmc
branches/gsoc_instrument/src/dynpmc/instrumentvtable.pmc
branches/gsoc_instrument/tools/build/gen_vtable_stubs.pl
Modified: branches/gsoc_instrument/MANIFEST
==============================================================================
--- branches/gsoc_instrument/MANIFEST Sat Jul 24 10:17:38 2010 (r48170)
+++ branches/gsoc_instrument/MANIFEST Sat Jul 24 16:24:39 2010 (r48171)
@@ -1690,6 +1690,7 @@
t/dynpmc/instrument.t [test]
t/dynpmc/instrumentgc.t [test]
t/dynpmc/instrumentop.t [test]
+t/dynpmc/instrumentvtable.t [test]
t/dynpmc/os.t [test]
t/dynpmc/pccmethod_test.t [test]
t/dynpmc/rational.t [test]
Modified: branches/gsoc_instrument/runtime/parrot/library/Instrument/EventLibrary.nqp
==============================================================================
--- branches/gsoc_instrument/runtime/parrot/library/Instrument/EventLibrary.nqp Sat Jul 24 10:17:38 2010 (r48170)
+++ branches/gsoc_instrument/runtime/parrot/library/Instrument/EventLibrary.nqp Sat Jul 24 16:24:39 2010 (r48171)
@@ -258,7 +258,7 @@
$class.remove_method_hook($_);
my $event := $method_prefix ~ $_;
- $dispatcher.register($event, $!callback);
+ $dispatcher.deregister($event, $!callback);
}
CATCH {
@@ -266,7 +266,6 @@
# We are trying to disable a hook that wasn't inserted.
# TODO: Ensure that the exception came from a place that we are expecting.
# Otherwise rethrow. (How to do that in NQP?)
- say("Disable: " ~ $!);
}
}
Modified: branches/gsoc_instrument/src/dynpmc/instrument.pmc
==============================================================================
--- branches/gsoc_instrument/src/dynpmc/instrument.pmc Sat Jul 24 10:17:38 2010 (r48170)
+++ branches/gsoc_instrument/src/dynpmc/instrument.pmc Sat Jul 24 16:24:39 2010 (r48171)
@@ -608,6 +608,34 @@
/* Detect any dynlib loading, for example during load_bytecode. */
detect_loadlib(interp);
+ /* Refresh the probes. */
+ {
+ PMC *iter, *probes;
+ STRING *enable, *disable, *attr_enabled;
+
+ enable = CONST_STRING(supervisor, "enable");
+ disable = CONST_STRING(supervisor, "disable");
+ attr_enabled = CONST_STRING(supervisor, "$!is_enabled");
+
+ GETATTR_Instrument_probes(supervisor, core->supervisor_pmc, probes);
+ iter = VTABLE_get_iter(supervisor, probes);
+
+ while (VTABLE_get_bool(supervisor, iter)) {
+ PMC *key, *obj, *enabled;
+ key = VTABLE_shift_pmc(supervisor, iter);
+ obj = VTABLE_get_pmc_keyed(supervisor, probes, key);
+
+ /* If this probe is disabled, ignore. */
+ enabled = VTABLE_get_attr_str(supervisor, obj, attr_enabled);
+ if (!VTABLE_get_integer(supervisor, enabled)) {
+ continue;
+ }
+
+ Parrot_pcc_invoke_method_from_c_args(supervisor, obj, disable, "->");
+ Parrot_pcc_invoke_method_from_c_args(supervisor, obj, enable, "->");
+ }
+ }
+
/* Setup an exception handler to handle exits and unhandled exceptions. */
if (setjmp(exc_handler.resume)) {
/* Check for exit or unhandled exception. */
Modified: branches/gsoc_instrument/src/dynpmc/instrumentclass.pmc
==============================================================================
--- branches/gsoc_instrument/src/dynpmc/instrumentclass.pmc Sat Jul 24 10:17:38 2010 (r48170)
+++ branches/gsoc_instrument/src/dynpmc/instrumentclass.pmc Sat Jul 24 16:24:39 2010 (r48171)
@@ -74,7 +74,7 @@
method_list = Parrot_pmc_new(INTERP, enum_class_ResizableStringArray);
iter = VTABLE_get_iter(supervised, methods);
- while(VTABLE_get_bool(supervised, iter)) {
+ while (VTABLE_get_bool(supervised, iter)) {
PMC *key;
key = VTABLE_shift_pmc(supervised, iter);
@@ -225,7 +225,7 @@
key = VTABLE_shift_pmc(INTERP, iter);
count = VTABLE_get_integer_keyed(INTERP, attr->instrumented_methods, key);
- if(count > 0) {
+ if (count > 0) {
VTABLE_push_pmc(INTERP, list, key);
}
}
Modified: branches/gsoc_instrument/src/dynpmc/instrumentstubbase.pmc
==============================================================================
--- branches/gsoc_instrument/src/dynpmc/instrumentstubbase.pmc Sat Jul 24 10:17:38 2010 (r48170)
+++ branches/gsoc_instrument/src/dynpmc/instrumentstubbase.pmc Sat Jul 24 16:24:39 2010 (r48171)
@@ -92,6 +92,9 @@
Parrot_InstrumentStubBase_attributes * const attr = PARROT_INSTRUMENTSTUBBASE(SELF);
Parrot_gc_mark_PMC_alive_fun(INTERP, attr->hook_count);
+
+ parrot_mark_hash(INTERP, attr->group_items);
+ parrot_mark_hash(INTERP, attr->item_groups);
}
/*
Modified: branches/gsoc_instrument/src/dynpmc/instrumentvtable.pmc
==============================================================================
--- branches/gsoc_instrument/src/dynpmc/instrumentvtable.pmc Sat Jul 24 10:17:38 2010 (r48170)
+++ branches/gsoc_instrument/src/dynpmc/instrumentvtable.pmc Sat Jul 24 16:24:39 2010 (r48171)
@@ -274,7 +274,7 @@
PMC *override;
override = Parrot_oo_find_vtable_override_for_class(supervised, _class, name);
- if(PMC_IS_NULL(override)) {
+ if (PMC_IS_NULL(override)) {
/* No override. */
/* Simply replace the stub with the original entry. */
entry = (size_t **) parrot_hash_get(INTERP, attr->name_offset, item);
@@ -4553,7 +4553,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->init(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -4567,6 +4566,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "init"));
+
+ ((_vtable *)orig_vtable)->init(interp, pmc);
return;
}
@@ -4583,7 +4584,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->init_pmc(interp, pmc, initializer);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, initializer);
@@ -4598,6 +4598,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "init_pmc"));
+
+ ((_vtable *)orig_vtable)->init_pmc(interp, pmc, initializer);
return;
}
@@ -4615,7 +4617,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->instantiate(interp, pmc, sig);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, sig);
@@ -4630,6 +4631,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "instantiate"));
+
+ ret = ((_vtable *)orig_vtable)->instantiate(interp, pmc, sig);
return ret;
}
@@ -4646,7 +4649,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->morph(interp, pmc, type);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, type);
@@ -4664,6 +4666,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "morph"));
+
+ ((_vtable *)orig_vtable)->morph(interp, pmc, type);
return;
}
@@ -4680,7 +4684,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->mark(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -4694,6 +4697,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "mark"));
+
+ ((_vtable *)orig_vtable)->mark(interp, pmc);
return;
}
@@ -4710,7 +4715,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->destroy(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -4724,6 +4728,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "destroy"));
+
+ ((_vtable *)orig_vtable)->destroy(interp, pmc);
return;
}
@@ -4741,7 +4747,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_namespace(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -4755,6 +4760,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "get_namespace"));
+
+ ret = ((_vtable *)orig_vtable)->get_namespace(interp, pmc);
return ret;
}
@@ -4772,7 +4779,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->getprop(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -4789,6 +4795,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "getprop"));
+
+ ret = ((_vtable *)orig_vtable)->getprop(interp, pmc, key);
return ret;
}
@@ -4805,7 +4813,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->setprop(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -4823,6 +4830,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "setprop"));
+
+ ((_vtable *)orig_vtable)->setprop(interp, pmc, key, value);
return;
}
@@ -4839,7 +4848,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->delprop(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -4856,6 +4864,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "delprop"));
+
+ ((_vtable *)orig_vtable)->delprop(interp, pmc, key);
return;
}
@@ -4873,7 +4883,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->getprops(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -4887,6 +4896,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "getprops"));
+
+ ret = ((_vtable *)orig_vtable)->getprops(interp, pmc);
return ret;
}
@@ -4904,7 +4915,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->type(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -4918,6 +4928,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "type"));
+
+ ret = ((_vtable *)orig_vtable)->type(interp, pmc);
return ret;
}
@@ -4935,7 +4947,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->name(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -4949,6 +4960,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "name"));
+
+ ret = ((_vtable *)orig_vtable)->name(interp, pmc);
return ret;
}
@@ -4966,7 +4979,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->clone(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -4980,6 +4992,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "clone"));
+
+ ret = ((_vtable *)orig_vtable)->clone(interp, pmc);
return ret;
}
@@ -4997,7 +5011,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->clone_pmc(interp, pmc, args);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, args);
@@ -5012,6 +5025,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "clone_pmc"));
+
+ ret = ((_vtable *)orig_vtable)->clone_pmc(interp, pmc, args);
return ret;
}
@@ -5029,7 +5044,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->find_method(interp, pmc, method_name);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -5046,6 +5060,8 @@
CONST_STRING(supervisor, "core"),
CONST_STRING(supervisor, "find_method"));
+
+ ret = ((_vtable *)orig_vtable)->find_method(interp, pmc, method_name);
return ret;
}
@@ -5063,7 +5079,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_integer(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -5077,6 +5092,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_integer"));
+
+ ret = ((_vtable *)orig_vtable)->get_integer(interp, pmc);
return ret;
}
@@ -5094,7 +5111,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_integer_keyed(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -5109,6 +5125,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_integer_keyed"));
+
+ ret = ((_vtable *)orig_vtable)->get_integer_keyed(interp, pmc, key);
return ret;
}
@@ -5126,7 +5144,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_integer_keyed_int(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -5143,6 +5160,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_integer_keyed_int"));
+
+ ret = ((_vtable *)orig_vtable)->get_integer_keyed_int(interp, pmc, key);
return ret;
}
@@ -5160,7 +5179,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_integer_keyed_str(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -5177,6 +5195,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_integer_keyed_str"));
+
+ ret = ((_vtable *)orig_vtable)->get_integer_keyed_str(interp, pmc, key);
return ret;
}
@@ -5194,7 +5214,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_number(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -5208,6 +5227,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_number"));
+
+ ret = ((_vtable *)orig_vtable)->get_number(interp, pmc);
return ret;
}
@@ -5225,7 +5246,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_number_keyed(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -5240,6 +5260,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_number_keyed"));
+
+ ret = ((_vtable *)orig_vtable)->get_number_keyed(interp, pmc, key);
return ret;
}
@@ -5257,7 +5279,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_number_keyed_int(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -5274,6 +5295,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_number_keyed_int"));
+
+ ret = ((_vtable *)orig_vtable)->get_number_keyed_int(interp, pmc, key);
return ret;
}
@@ -5291,7 +5314,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_number_keyed_str(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -5308,6 +5330,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_number_keyed_str"));
+
+ ret = ((_vtable *)orig_vtable)->get_number_keyed_str(interp, pmc, key);
return ret;
}
@@ -5325,7 +5349,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_string(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -5339,6 +5362,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_string"));
+
+ ret = ((_vtable *)orig_vtable)->get_string(interp, pmc);
return ret;
}
@@ -5356,7 +5381,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_repr(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -5370,6 +5394,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_repr"));
+
+ ret = ((_vtable *)orig_vtable)->get_repr(interp, pmc);
return ret;
}
@@ -5387,7 +5413,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_string_keyed(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -5402,6 +5427,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_string_keyed"));
+
+ ret = ((_vtable *)orig_vtable)->get_string_keyed(interp, pmc, key);
return ret;
}
@@ -5419,7 +5446,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_string_keyed_int(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -5436,6 +5462,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_string_keyed_int"));
+
+ ret = ((_vtable *)orig_vtable)->get_string_keyed_int(interp, pmc, key);
return ret;
}
@@ -5453,7 +5481,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_string_keyed_str(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -5470,6 +5497,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_string_keyed_str"));
+
+ ret = ((_vtable *)orig_vtable)->get_string_keyed_str(interp, pmc, key);
return ret;
}
@@ -5487,7 +5516,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_bool(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -5501,6 +5529,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_bool"));
+
+ ret = ((_vtable *)orig_vtable)->get_bool(interp, pmc);
return ret;
}
@@ -5518,7 +5548,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_pmc(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -5532,6 +5561,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_pmc"));
+
+ ret = ((_vtable *)orig_vtable)->get_pmc(interp, pmc);
return ret;
}
@@ -5549,7 +5580,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_pmc_keyed(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -5564,6 +5594,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_pmc_keyed"));
+
+ ret = ((_vtable *)orig_vtable)->get_pmc_keyed(interp, pmc, key);
return ret;
}
@@ -5581,7 +5613,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_pmc_keyed_int(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -5598,6 +5629,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_pmc_keyed_int"));
+
+ ret = ((_vtable *)orig_vtable)->get_pmc_keyed_int(interp, pmc, key);
return ret;
}
@@ -5615,7 +5648,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_pmc_keyed_str(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -5632,6 +5664,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_pmc_keyed_str"));
+
+ ret = ((_vtable *)orig_vtable)->get_pmc_keyed_str(interp, pmc, key);
return ret;
}
@@ -5649,7 +5683,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_pointer(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -5663,6 +5696,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_pointer"));
+
+ ret = ((_vtable *)orig_vtable)->get_pointer(interp, pmc);
return ret;
}
@@ -5680,7 +5715,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_pointer_keyed(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -5695,6 +5729,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_pointer_keyed"));
+
+ ret = ((_vtable *)orig_vtable)->get_pointer_keyed(interp, pmc, key);
return ret;
}
@@ -5712,7 +5748,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_pointer_keyed_int(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -5729,6 +5764,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_pointer_keyed_int"));
+
+ ret = ((_vtable *)orig_vtable)->get_pointer_keyed_int(interp, pmc, key);
return ret;
}
@@ -5746,7 +5783,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_pointer_keyed_str(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -5763,6 +5799,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "get_pointer_keyed_str"));
+
+ ret = ((_vtable *)orig_vtable)->get_pointer_keyed_str(interp, pmc, key);
return ret;
}
@@ -5779,7 +5817,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_integer_native(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -5796,6 +5833,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_integer_native"));
+
+ ((_vtable *)orig_vtable)->set_integer_native(interp, pmc, value);
return;
}
@@ -5812,7 +5851,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_integer_keyed(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -5830,6 +5868,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_integer_keyed"));
+
+ ((_vtable *)orig_vtable)->set_integer_keyed(interp, pmc, key, value);
return;
}
@@ -5846,7 +5886,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_integer_keyed_int(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -5866,6 +5905,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_integer_keyed_int"));
+
+ ((_vtable *)orig_vtable)->set_integer_keyed_int(interp, pmc, key, value);
return;
}
@@ -5882,7 +5923,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_integer_keyed_str(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -5902,6 +5942,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_integer_keyed_str"));
+
+ ((_vtable *)orig_vtable)->set_integer_keyed_str(interp, pmc, key, value);
return;
}
@@ -5918,7 +5960,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_number_native(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -5935,6 +5976,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_number_native"));
+
+ ((_vtable *)orig_vtable)->set_number_native(interp, pmc, value);
return;
}
@@ -5951,7 +5994,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_number_keyed(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -5969,6 +6011,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_number_keyed"));
+
+ ((_vtable *)orig_vtable)->set_number_keyed(interp, pmc, key, value);
return;
}
@@ -5985,7 +6029,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_number_keyed_int(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -6005,6 +6048,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_number_keyed_int"));
+
+ ((_vtable *)orig_vtable)->set_number_keyed_int(interp, pmc, key, value);
return;
}
@@ -6021,7 +6066,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_number_keyed_str(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -6041,6 +6085,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_number_keyed_str"));
+
+ ((_vtable *)orig_vtable)->set_number_keyed_str(interp, pmc, key, value);
return;
}
@@ -6057,7 +6103,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_string_native(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -6074,6 +6119,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_string_native"));
+
+ ((_vtable *)orig_vtable)->set_string_native(interp, pmc, value);
return;
}
@@ -6090,7 +6137,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->assign_string_native(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -6107,6 +6153,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "assign_string_native"));
+
+ ((_vtable *)orig_vtable)->assign_string_native(interp, pmc, value);
return;
}
@@ -6123,7 +6171,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_string_keyed(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -6141,6 +6188,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_string_keyed"));
+
+ ((_vtable *)orig_vtable)->set_string_keyed(interp, pmc, key, value);
return;
}
@@ -6157,7 +6206,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_string_keyed_int(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -6177,6 +6225,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_string_keyed_int"));
+
+ ((_vtable *)orig_vtable)->set_string_keyed_int(interp, pmc, key, value);
return;
}
@@ -6193,7 +6243,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_string_keyed_str(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -6213,6 +6262,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_string_keyed_str"));
+
+ ((_vtable *)orig_vtable)->set_string_keyed_str(interp, pmc, key, value);
return;
}
@@ -6229,7 +6280,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_bool(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -6246,6 +6296,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_bool"));
+
+ ((_vtable *)orig_vtable)->set_bool(interp, pmc, value);
return;
}
@@ -6262,7 +6314,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_pmc(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -6277,6 +6328,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_pmc"));
+
+ ((_vtable *)orig_vtable)->set_pmc(interp, pmc, value);
return;
}
@@ -6293,7 +6346,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->assign_pmc(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -6308,6 +6360,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "assign_pmc"));
+
+ ((_vtable *)orig_vtable)->assign_pmc(interp, pmc, value);
return;
}
@@ -6324,7 +6378,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_pmc_keyed(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -6340,6 +6393,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_pmc_keyed"));
+
+ ((_vtable *)orig_vtable)->set_pmc_keyed(interp, pmc, key, value);
return;
}
@@ -6356,7 +6411,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_pmc_keyed_int(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -6374,6 +6428,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_pmc_keyed_int"));
+
+ ((_vtable *)orig_vtable)->set_pmc_keyed_int(interp, pmc, key, value);
return;
}
@@ -6390,7 +6446,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_pmc_keyed_str(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -6408,6 +6463,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_pmc_keyed_str"));
+
+ ((_vtable *)orig_vtable)->set_pmc_keyed_str(interp, pmc, key, value);
return;
}
@@ -6424,7 +6481,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_pointer(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Pointer);
@@ -6441,6 +6497,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_pointer"));
+
+ ((_vtable *)orig_vtable)->set_pointer(interp, pmc, value);
return;
}
@@ -6457,7 +6515,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_pointer_keyed(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -6475,6 +6532,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_pointer_keyed"));
+
+ ((_vtable *)orig_vtable)->set_pointer_keyed(interp, pmc, key, value);
return;
}
@@ -6491,7 +6550,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_pointer_keyed_int(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -6511,6 +6569,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_pointer_keyed_int"));
+
+ ((_vtable *)orig_vtable)->set_pointer_keyed_int(interp, pmc, key, value);
return;
}
@@ -6527,7 +6587,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_pointer_keyed_str(interp, pmc, key, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -6547,6 +6606,8 @@
CONST_STRING(supervisor, "fetch"),
CONST_STRING(supervisor, "set_pointer_keyed_str"));
+
+ ((_vtable *)orig_vtable)->set_pointer_keyed_str(interp, pmc, key, value);
return;
}
@@ -6564,7 +6625,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->elements(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -6578,6 +6638,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "elements"));
+
+ ret = ((_vtable *)orig_vtable)->elements(interp, pmc);
return ret;
}
@@ -6595,7 +6657,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->pop_integer(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -6609,6 +6670,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "pop_integer"));
+
+ ret = ((_vtable *)orig_vtable)->pop_integer(interp, pmc);
return ret;
}
@@ -6626,7 +6689,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->pop_float(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -6640,6 +6702,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "pop_float"));
+
+ ret = ((_vtable *)orig_vtable)->pop_float(interp, pmc);
return ret;
}
@@ -6657,7 +6721,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->pop_string(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -6671,6 +6734,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "pop_string"));
+
+ ret = ((_vtable *)orig_vtable)->pop_string(interp, pmc);
return ret;
}
@@ -6688,7 +6753,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->pop_pmc(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -6702,6 +6766,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "pop_pmc"));
+
+ ret = ((_vtable *)orig_vtable)->pop_pmc(interp, pmc);
return ret;
}
@@ -6718,7 +6784,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->push_integer(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -6735,6 +6800,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "push_integer"));
+
+ ((_vtable *)orig_vtable)->push_integer(interp, pmc, value);
return;
}
@@ -6751,7 +6818,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->push_float(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -6768,6 +6834,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "push_float"));
+
+ ((_vtable *)orig_vtable)->push_float(interp, pmc, value);
return;
}
@@ -6784,7 +6852,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->push_string(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -6801,6 +6868,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "push_string"));
+
+ ((_vtable *)orig_vtable)->push_string(interp, pmc, value);
return;
}
@@ -6817,7 +6886,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->push_pmc(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -6832,6 +6900,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "push_pmc"));
+
+ ((_vtable *)orig_vtable)->push_pmc(interp, pmc, value);
return;
}
@@ -6849,7 +6919,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->shift_integer(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -6863,6 +6932,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "shift_integer"));
+
+ ret = ((_vtable *)orig_vtable)->shift_integer(interp, pmc);
return ret;
}
@@ -6880,7 +6951,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->shift_float(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -6894,6 +6964,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "shift_float"));
+
+ ret = ((_vtable *)orig_vtable)->shift_float(interp, pmc);
return ret;
}
@@ -6911,7 +6983,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->shift_string(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -6925,6 +6996,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "shift_string"));
+
+ ret = ((_vtable *)orig_vtable)->shift_string(interp, pmc);
return ret;
}
@@ -6942,7 +7015,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->shift_pmc(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -6956,6 +7028,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "shift_pmc"));
+
+ ret = ((_vtable *)orig_vtable)->shift_pmc(interp, pmc);
return ret;
}
@@ -6972,7 +7046,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->unshift_integer(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -6989,6 +7062,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "unshift_integer"));
+
+ ((_vtable *)orig_vtable)->unshift_integer(interp, pmc, value);
return;
}
@@ -7005,7 +7080,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->unshift_float(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -7022,6 +7096,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "unshift_float"));
+
+ ((_vtable *)orig_vtable)->unshift_float(interp, pmc, value);
return;
}
@@ -7038,7 +7114,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->unshift_string(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -7055,6 +7130,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "unshift_string"));
+
+ ((_vtable *)orig_vtable)->unshift_string(interp, pmc, value);
return;
}
@@ -7071,7 +7148,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->unshift_pmc(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -7086,6 +7162,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "unshift_pmc"));
+
+ ((_vtable *)orig_vtable)->unshift_pmc(interp, pmc, value);
return;
}
@@ -7102,7 +7180,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->splice(interp, pmc, value, offset, count);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -7123,6 +7200,8 @@
CONST_STRING(supervisor, "fetchsize"),
CONST_STRING(supervisor, "splice"));
+
+ ((_vtable *)orig_vtable)->splice(interp, pmc, value, offset, count);
return;
}
@@ -7140,7 +7219,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->add(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -7156,6 +7234,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "add"));
+
+ ret = ((_vtable *)orig_vtable)->add(interp, pmc, value, dest);
return ret;
}
@@ -7173,7 +7253,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->add_int(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -7191,6 +7270,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "add_int"));
+
+ ret = ((_vtable *)orig_vtable)->add_int(interp, pmc, value, dest);
return ret;
}
@@ -7208,7 +7289,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->add_float(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -7226,6 +7306,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "add_float"));
+
+ ret = ((_vtable *)orig_vtable)->add_float(interp, pmc, value, dest);
return ret;
}
@@ -7242,7 +7324,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_add(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -7260,6 +7341,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_add"));
+
+ ((_vtable *)orig_vtable)->i_add(interp, pmc, value);
return;
}
@@ -7276,7 +7359,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_add_int(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -7296,6 +7378,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_add_int"));
+
+ ((_vtable *)orig_vtable)->i_add_int(interp, pmc, value);
return;
}
@@ -7312,7 +7396,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_add_float(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -7332,6 +7415,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_add_float"));
+
+ ((_vtable *)orig_vtable)->i_add_float(interp, pmc, value);
return;
}
@@ -7349,7 +7434,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->subtract(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -7365,6 +7449,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "subtract"));
+
+ ret = ((_vtable *)orig_vtable)->subtract(interp, pmc, value, dest);
return ret;
}
@@ -7382,7 +7468,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->subtract_int(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -7400,6 +7485,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "subtract_int"));
+
+ ret = ((_vtable *)orig_vtable)->subtract_int(interp, pmc, value, dest);
return ret;
}
@@ -7417,7 +7504,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->subtract_float(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -7435,6 +7521,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "subtract_float"));
+
+ ret = ((_vtable *)orig_vtable)->subtract_float(interp, pmc, value, dest);
return ret;
}
@@ -7451,7 +7539,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_subtract(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -7469,6 +7556,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_subtract"));
+
+ ((_vtable *)orig_vtable)->i_subtract(interp, pmc, value);
return;
}
@@ -7485,7 +7574,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_subtract_int(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -7505,6 +7593,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_subtract_int"));
+
+ ((_vtable *)orig_vtable)->i_subtract_int(interp, pmc, value);
return;
}
@@ -7521,7 +7611,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_subtract_float(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -7541,6 +7630,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_subtract_float"));
+
+ ((_vtable *)orig_vtable)->i_subtract_float(interp, pmc, value);
return;
}
@@ -7558,7 +7649,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->multiply(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -7574,6 +7664,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "multiply"));
+
+ ret = ((_vtable *)orig_vtable)->multiply(interp, pmc, value, dest);
return ret;
}
@@ -7591,7 +7683,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->multiply_int(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -7609,6 +7700,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "multiply_int"));
+
+ ret = ((_vtable *)orig_vtable)->multiply_int(interp, pmc, value, dest);
return ret;
}
@@ -7626,7 +7719,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->multiply_float(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -7644,6 +7736,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "multiply_float"));
+
+ ret = ((_vtable *)orig_vtable)->multiply_float(interp, pmc, value, dest);
return ret;
}
@@ -7660,7 +7754,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_multiply(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -7678,6 +7771,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_multiply"));
+
+ ((_vtable *)orig_vtable)->i_multiply(interp, pmc, value);
return;
}
@@ -7694,7 +7789,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_multiply_int(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -7714,6 +7808,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_multiply_int"));
+
+ ((_vtable *)orig_vtable)->i_multiply_int(interp, pmc, value);
return;
}
@@ -7730,7 +7826,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_multiply_float(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -7750,6 +7845,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_multiply_float"));
+
+ ((_vtable *)orig_vtable)->i_multiply_float(interp, pmc, value);
return;
}
@@ -7767,7 +7864,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->divide(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -7783,6 +7879,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "divide"));
+
+ ret = ((_vtable *)orig_vtable)->divide(interp, pmc, value, dest);
return ret;
}
@@ -7800,7 +7898,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->divide_int(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -7818,6 +7915,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "divide_int"));
+
+ ret = ((_vtable *)orig_vtable)->divide_int(interp, pmc, value, dest);
return ret;
}
@@ -7835,7 +7934,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->divide_float(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -7853,6 +7951,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "divide_float"));
+
+ ret = ((_vtable *)orig_vtable)->divide_float(interp, pmc, value, dest);
return ret;
}
@@ -7869,7 +7969,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_divide(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -7887,6 +7986,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_divide"));
+
+ ((_vtable *)orig_vtable)->i_divide(interp, pmc, value);
return;
}
@@ -7903,7 +8004,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_divide_int(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -7923,6 +8023,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_divide_int"));
+
+ ((_vtable *)orig_vtable)->i_divide_int(interp, pmc, value);
return;
}
@@ -7939,7 +8041,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_divide_float(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -7959,6 +8060,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_divide_float"));
+
+ ((_vtable *)orig_vtable)->i_divide_float(interp, pmc, value);
return;
}
@@ -7976,7 +8079,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->floor_divide(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -7992,6 +8094,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "floor_divide"));
+
+ ret = ((_vtable *)orig_vtable)->floor_divide(interp, pmc, value, dest);
return ret;
}
@@ -8009,7 +8113,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->floor_divide_int(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -8027,6 +8130,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "floor_divide_int"));
+
+ ret = ((_vtable *)orig_vtable)->floor_divide_int(interp, pmc, value, dest);
return ret;
}
@@ -8044,7 +8149,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->floor_divide_float(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -8062,6 +8166,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "floor_divide_float"));
+
+ ret = ((_vtable *)orig_vtable)->floor_divide_float(interp, pmc, value, dest);
return ret;
}
@@ -8078,7 +8184,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_floor_divide(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8096,6 +8201,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_floor_divide"));
+
+ ((_vtable *)orig_vtable)->i_floor_divide(interp, pmc, value);
return;
}
@@ -8112,7 +8219,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_floor_divide_int(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -8132,6 +8238,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_floor_divide_int"));
+
+ ((_vtable *)orig_vtable)->i_floor_divide_int(interp, pmc, value);
return;
}
@@ -8148,7 +8256,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_floor_divide_float(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -8168,6 +8275,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_floor_divide_float"));
+
+ ((_vtable *)orig_vtable)->i_floor_divide_float(interp, pmc, value);
return;
}
@@ -8185,7 +8294,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->modulus(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8201,6 +8309,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "modulus"));
+
+ ret = ((_vtable *)orig_vtable)->modulus(interp, pmc, value, dest);
return ret;
}
@@ -8218,7 +8328,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->modulus_int(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -8236,6 +8345,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "modulus_int"));
+
+ ret = ((_vtable *)orig_vtable)->modulus_int(interp, pmc, value, dest);
return ret;
}
@@ -8253,7 +8364,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->modulus_float(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -8271,6 +8381,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "modulus_float"));
+
+ ret = ((_vtable *)orig_vtable)->modulus_float(interp, pmc, value, dest);
return ret;
}
@@ -8287,7 +8399,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_modulus(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8305,6 +8416,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_modulus"));
+
+ ((_vtable *)orig_vtable)->i_modulus(interp, pmc, value);
return;
}
@@ -8321,7 +8434,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_modulus_int(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -8341,6 +8453,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_modulus_int"));
+
+ ((_vtable *)orig_vtable)->i_modulus_int(interp, pmc, value);
return;
}
@@ -8357,7 +8471,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_modulus_float(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Float);
@@ -8377,6 +8490,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_modulus_float"));
+
+ ((_vtable *)orig_vtable)->i_modulus_float(interp, pmc, value);
return;
}
@@ -8393,7 +8508,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->increment(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -8410,6 +8524,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "increment"));
+
+ ((_vtable *)orig_vtable)->increment(interp, pmc);
return;
}
@@ -8426,7 +8542,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->decrement(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -8443,6 +8558,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "decrement"));
+
+ ((_vtable *)orig_vtable)->decrement(interp, pmc);
return;
}
@@ -8460,7 +8577,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->absolute(interp, pmc, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, dest);
@@ -8475,6 +8591,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "absolute"));
+
+ ret = ((_vtable *)orig_vtable)->absolute(interp, pmc, dest);
return ret;
}
@@ -8491,7 +8609,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_absolute(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -8508,6 +8625,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_absolute"));
+
+ ((_vtable *)orig_vtable)->i_absolute(interp, pmc);
return;
}
@@ -8525,7 +8644,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->neg(interp, pmc, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, dest);
@@ -8540,6 +8658,8 @@
CONST_STRING(supervisor, "math"),
CONST_STRING(supervisor, "neg"));
+
+ ret = ((_vtable *)orig_vtable)->neg(interp, pmc, dest);
return ret;
}
@@ -8556,7 +8676,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_neg(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -8573,6 +8692,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_neg"));
+
+ ((_vtable *)orig_vtable)->i_neg(interp, pmc);
return;
}
@@ -8590,7 +8711,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->is_equal(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8605,6 +8725,8 @@
CONST_STRING(supervisor, "cmp"),
CONST_STRING(supervisor, "is_equal"));
+
+ ret = ((_vtable *)orig_vtable)->is_equal(interp, pmc, value);
return ret;
}
@@ -8622,7 +8744,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->is_equal_num(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8637,6 +8758,8 @@
CONST_STRING(supervisor, "cmp"),
CONST_STRING(supervisor, "is_equal_num"));
+
+ ret = ((_vtable *)orig_vtable)->is_equal_num(interp, pmc, value);
return ret;
}
@@ -8654,7 +8777,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->is_equal_string(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8669,6 +8791,8 @@
CONST_STRING(supervisor, "cmp"),
CONST_STRING(supervisor, "is_equal_string"));
+
+ ret = ((_vtable *)orig_vtable)->is_equal_string(interp, pmc, value);
return ret;
}
@@ -8686,7 +8810,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->is_same(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8701,6 +8824,8 @@
CONST_STRING(supervisor, "cmp"),
CONST_STRING(supervisor, "is_same"));
+
+ ret = ((_vtable *)orig_vtable)->is_same(interp, pmc, value);
return ret;
}
@@ -8718,7 +8843,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->cmp(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8733,6 +8857,8 @@
CONST_STRING(supervisor, "cmp"),
CONST_STRING(supervisor, "cmp"));
+
+ ret = ((_vtable *)orig_vtable)->cmp(interp, pmc, value);
return ret;
}
@@ -8750,7 +8876,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->cmp_num(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8765,6 +8890,8 @@
CONST_STRING(supervisor, "cmp"),
CONST_STRING(supervisor, "cmp_num"));
+
+ ret = ((_vtable *)orig_vtable)->cmp_num(interp, pmc, value);
return ret;
}
@@ -8782,7 +8909,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->cmp_string(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8797,6 +8923,8 @@
CONST_STRING(supervisor, "cmp"),
CONST_STRING(supervisor, "cmp_string"));
+
+ ret = ((_vtable *)orig_vtable)->cmp_string(interp, pmc, value);
return ret;
}
@@ -8814,7 +8942,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->cmp_pmc(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8829,6 +8956,8 @@
CONST_STRING(supervisor, "cmp"),
CONST_STRING(supervisor, "cmp_pmc"));
+
+ ret = ((_vtable *)orig_vtable)->cmp_pmc(interp, pmc, value);
return ret;
}
@@ -8846,7 +8975,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->logical_or(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8862,6 +8990,8 @@
CONST_STRING(supervisor, "cmp"),
CONST_STRING(supervisor, "logical_or"));
+
+ ret = ((_vtable *)orig_vtable)->logical_or(interp, pmc, value, dest);
return ret;
}
@@ -8879,7 +9009,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->logical_and(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8895,6 +9024,8 @@
CONST_STRING(supervisor, "cmp"),
CONST_STRING(supervisor, "logical_and"));
+
+ ret = ((_vtable *)orig_vtable)->logical_and(interp, pmc, value, dest);
return ret;
}
@@ -8912,7 +9043,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->logical_xor(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -8928,6 +9058,8 @@
CONST_STRING(supervisor, "cmp"),
CONST_STRING(supervisor, "logical_xor"));
+
+ ret = ((_vtable *)orig_vtable)->logical_xor(interp, pmc, value, dest);
return ret;
}
@@ -8945,7 +9077,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->logical_not(interp, pmc, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, dest);
@@ -8960,6 +9091,8 @@
CONST_STRING(supervisor, "cmp"),
CONST_STRING(supervisor, "logical_not"));
+
+ ret = ((_vtable *)orig_vtable)->logical_not(interp, pmc, dest);
return ret;
}
@@ -8976,7 +9109,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_logical_not(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -8993,6 +9125,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_logical_not"));
+
+ ((_vtable *)orig_vtable)->i_logical_not(interp, pmc);
return;
}
@@ -9010,7 +9144,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->concatenate(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -9026,6 +9159,8 @@
CONST_STRING(supervisor, "string"),
CONST_STRING(supervisor, "concatenate"));
+
+ ret = ((_vtable *)orig_vtable)->concatenate(interp, pmc, value, dest);
return ret;
}
@@ -9043,7 +9178,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->concatenate_str(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -9061,6 +9195,8 @@
CONST_STRING(supervisor, "string"),
CONST_STRING(supervisor, "concatenate_str"));
+
+ ret = ((_vtable *)orig_vtable)->concatenate_str(interp, pmc, value, dest);
return ret;
}
@@ -9077,7 +9213,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_concatenate(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -9095,6 +9230,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_concatenate"));
+
+ ((_vtable *)orig_vtable)->i_concatenate(interp, pmc, value);
return;
}
@@ -9111,7 +9248,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_concatenate_str(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -9131,6 +9267,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_concatenate_str"));
+
+ ((_vtable *)orig_vtable)->i_concatenate_str(interp, pmc, value);
return;
}
@@ -9148,7 +9286,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->repeat(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -9164,6 +9301,8 @@
CONST_STRING(supervisor, "string"),
CONST_STRING(supervisor, "repeat"));
+
+ ret = ((_vtable *)orig_vtable)->repeat(interp, pmc, value, dest);
return ret;
}
@@ -9181,7 +9320,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->repeat_int(interp, pmc, value, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -9199,6 +9337,8 @@
CONST_STRING(supervisor, "string"),
CONST_STRING(supervisor, "repeat_int"));
+
+ ret = ((_vtable *)orig_vtable)->repeat_int(interp, pmc, value, dest);
return ret;
}
@@ -9215,7 +9355,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_repeat(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, value);
@@ -9233,6 +9372,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_repeat"));
+
+ ((_vtable *)orig_vtable)->i_repeat(interp, pmc, value);
return;
}
@@ -9249,7 +9390,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->i_repeat_int(interp, pmc, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -9269,6 +9409,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "i_repeat_int"));
+
+ ((_vtable *)orig_vtable)->i_repeat_int(interp, pmc, value);
return;
}
@@ -9285,7 +9427,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->substr(interp, pmc, offset, length, dest);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -9306,6 +9447,8 @@
CONST_STRING(supervisor, "string"),
CONST_STRING(supervisor, "substr"));
+
+ ((_vtable *)orig_vtable)->substr(interp, pmc, offset, length, dest);
return;
}
@@ -9323,7 +9466,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->substr_str(interp, pmc, offset, length);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -9343,6 +9485,8 @@
CONST_STRING(supervisor, "string"),
CONST_STRING(supervisor, "substr_str"));
+
+ ret = ((_vtable *)orig_vtable)->substr_str(interp, pmc, offset, length);
return ret;
}
@@ -9360,7 +9504,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->exists_keyed(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -9375,6 +9518,8 @@
CONST_STRING(supervisor, "exists"),
CONST_STRING(supervisor, "exists_keyed"));
+
+ ret = ((_vtable *)orig_vtable)->exists_keyed(interp, pmc, key);
return ret;
}
@@ -9392,7 +9537,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->exists_keyed_int(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -9409,6 +9553,8 @@
CONST_STRING(supervisor, "exists"),
CONST_STRING(supervisor, "exists_keyed_int"));
+
+ ret = ((_vtable *)orig_vtable)->exists_keyed_int(interp, pmc, key);
return ret;
}
@@ -9426,7 +9572,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->exists_keyed_str(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -9443,6 +9588,8 @@
CONST_STRING(supervisor, "exists"),
CONST_STRING(supervisor, "exists_keyed_str"));
+
+ ret = ((_vtable *)orig_vtable)->exists_keyed_str(interp, pmc, key);
return ret;
}
@@ -9460,7 +9607,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->defined(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -9474,6 +9620,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "defined"));
+
+ ret = ((_vtable *)orig_vtable)->defined(interp, pmc);
return ret;
}
@@ -9491,7 +9639,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->defined_keyed(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -9506,6 +9653,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "defined_keyed"));
+
+ ret = ((_vtable *)orig_vtable)->defined_keyed(interp, pmc, key);
return ret;
}
@@ -9523,7 +9672,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->defined_keyed_int(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -9540,6 +9688,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "defined_keyed_int"));
+
+ ret = ((_vtable *)orig_vtable)->defined_keyed_int(interp, pmc, key);
return ret;
}
@@ -9557,7 +9707,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->defined_keyed_str(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -9574,6 +9723,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "defined_keyed_str"));
+
+ ret = ((_vtable *)orig_vtable)->defined_keyed_str(interp, pmc, key);
return ret;
}
@@ -9590,7 +9741,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->delete_keyed(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -9605,6 +9755,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "delete_keyed"));
+
+ ((_vtable *)orig_vtable)->delete_keyed(interp, pmc, key);
return;
}
@@ -9621,7 +9773,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->delete_keyed_int(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -9638,6 +9789,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "delete_keyed_int"));
+
+ ((_vtable *)orig_vtable)->delete_keyed_int(interp, pmc, key);
return;
}
@@ -9654,7 +9807,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->delete_keyed_str(interp, pmc, key);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -9671,6 +9823,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "delete_keyed_str"));
+
+ ((_vtable *)orig_vtable)->delete_keyed_str(interp, pmc, key);
return;
}
@@ -9688,7 +9842,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_iter(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -9702,6 +9855,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "get_iter"));
+
+ ret = ((_vtable *)orig_vtable)->get_iter(interp, pmc);
return ret;
}
@@ -9719,7 +9874,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->hashvalue(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -9733,6 +9887,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "hashvalue"));
+
+ ret = ((_vtable *)orig_vtable)->hashvalue(interp, pmc);
return ret;
}
@@ -9750,7 +9906,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->invoke(interp, pmc, next);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Pointer);
@@ -9767,6 +9922,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "invoke"));
+
+ ret = ((_vtable *)orig_vtable)->invoke(interp, pmc, next);
return ret;
}
@@ -9784,7 +9941,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->can(interp, pmc, method);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -9801,6 +9957,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "can"));
+
+ ret = ((_vtable *)orig_vtable)->can(interp, pmc, method);
return ret;
}
@@ -9818,7 +9976,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->does_pmc(interp, pmc, role);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, role);
@@ -9833,6 +9990,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "does_pmc"));
+
+ ret = ((_vtable *)orig_vtable)->does_pmc(interp, pmc, role);
return ret;
}
@@ -9850,7 +10009,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->does(interp, pmc, role);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -9867,6 +10025,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "does"));
+
+ ret = ((_vtable *)orig_vtable)->does(interp, pmc, role);
return ret;
}
@@ -9884,7 +10044,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->isa_pmc(interp, pmc, _class);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, _class);
@@ -9899,6 +10058,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "isa_pmc"));
+
+ ret = ((_vtable *)orig_vtable)->isa_pmc(interp, pmc, _class);
return ret;
}
@@ -9916,7 +10077,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->isa(interp, pmc, _class);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -9933,6 +10093,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "isa"));
+
+ ret = ((_vtable *)orig_vtable)->isa(interp, pmc, _class);
return ret;
}
@@ -9950,7 +10112,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_attr_str(interp, pmc, idx);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -9967,6 +10128,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "get_attr_str"));
+
+ ret = ((_vtable *)orig_vtable)->get_attr_str(interp, pmc, idx);
return ret;
}
@@ -9984,7 +10147,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_attr_keyed(interp, pmc, key, idx);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -10002,6 +10164,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "get_attr_keyed"));
+
+ ret = ((_vtable *)orig_vtable)->get_attr_keyed(interp, pmc, key, idx);
return ret;
}
@@ -10018,7 +10182,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_attr_str(interp, pmc, idx, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -10039,6 +10202,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "set_attr_str"));
+
+ ((_vtable *)orig_vtable)->set_attr_str(interp, pmc, idx, value);
return;
}
@@ -10055,7 +10220,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->set_attr_keyed(interp, pmc, key, idx, value);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, key);
@@ -10077,6 +10241,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "set_attr_keyed"));
+
+ ((_vtable *)orig_vtable)->set_attr_keyed(interp, pmc, key, idx, value);
return;
}
@@ -10094,7 +10260,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->get_class(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -10108,6 +10273,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "get_class"));
+
+ ret = ((_vtable *)orig_vtable)->get_class(interp, pmc);
return ret;
}
@@ -10124,7 +10291,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->add_parent(interp, pmc, parent);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, parent);
@@ -10142,6 +10308,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "add_parent"));
+
+ ((_vtable *)orig_vtable)->add_parent(interp, pmc, parent);
return;
}
@@ -10158,7 +10326,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->remove_parent(interp, pmc, parent);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, parent);
@@ -10176,6 +10343,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "remove_parent"));
+
+ ((_vtable *)orig_vtable)->remove_parent(interp, pmc, parent);
return;
}
@@ -10192,7 +10361,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->add_role(interp, pmc, role);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, role);
@@ -10210,6 +10378,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "add_role"));
+
+ ((_vtable *)orig_vtable)->add_role(interp, pmc, role);
return;
}
@@ -10226,7 +10396,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->remove_role(interp, pmc, role);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, role);
@@ -10244,6 +10413,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "remove_role"));
+
+ ((_vtable *)orig_vtable)->remove_role(interp, pmc, role);
return;
}
@@ -10260,7 +10431,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->add_attribute(interp, pmc, name, type);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -10281,6 +10451,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "add_attribute"));
+
+ ((_vtable *)orig_vtable)->add_attribute(interp, pmc, name, type);
return;
}
@@ -10297,7 +10469,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->remove_attribute(interp, pmc, name);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -10317,6 +10488,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "remove_attribute"));
+
+ ((_vtable *)orig_vtable)->remove_attribute(interp, pmc, name);
return;
}
@@ -10333,7 +10506,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->add_method(interp, pmc, method_name, sub_pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -10354,6 +10526,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "add_method"));
+
+ ((_vtable *)orig_vtable)->add_method(interp, pmc, method_name, sub_pmc);
return;
}
@@ -10370,7 +10544,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->remove_method(interp, pmc, method_name);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -10390,6 +10563,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "remove_method"));
+
+ ((_vtable *)orig_vtable)->remove_method(interp, pmc, method_name);
return;
}
@@ -10406,7 +10581,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->add_vtable_override(interp, pmc, vtable_name, sub_pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -10427,6 +10601,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "add_vtable_override"));
+
+ ((_vtable *)orig_vtable)->add_vtable_override(interp, pmc, vtable_name, sub_pmc);
return;
}
@@ -10443,7 +10619,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->remove_vtable_override(interp, pmc, vtable_name);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -10463,6 +10638,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "remove_vtable_override"));
+
+ ((_vtable *)orig_vtable)->remove_vtable_override(interp, pmc, vtable_name);
return;
}
@@ -10480,7 +10657,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->inspect(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -10494,6 +10670,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "inspect"));
+
+ ret = ((_vtable *)orig_vtable)->inspect(interp, pmc);
return ret;
}
@@ -10511,7 +10689,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->inspect_str(interp, pmc, what);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_String);
@@ -10528,6 +10705,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "inspect_str"));
+
+ ret = ((_vtable *)orig_vtable)->inspect_str(interp, pmc, what);
return ret;
}
@@ -10544,7 +10723,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->freeze(interp, pmc, info);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, info);
@@ -10559,6 +10737,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "freeze"));
+
+ ((_vtable *)orig_vtable)->freeze(interp, pmc, info);
return;
}
@@ -10575,7 +10755,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->thaw(interp, pmc, info);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, info);
@@ -10593,6 +10772,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "thaw"));
+
+ ((_vtable *)orig_vtable)->thaw(interp, pmc, info);
return;
}
@@ -10609,7 +10790,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->thawfinish(interp, pmc, info);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, info);
@@ -10627,6 +10807,8 @@
CONST_STRING(supervisor, "write"),
CONST_STRING(supervisor, "thawfinish"));
+
+ ((_vtable *)orig_vtable)->thawfinish(interp, pmc, info);
return;
}
@@ -10643,7 +10825,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->visit(interp, pmc, info);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
VTABLE_push_pmc(supervisor, params, info);
@@ -10658,6 +10839,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "visit"));
+
+ ((_vtable *)orig_vtable)->visit(interp, pmc, info);
return;
}
@@ -10674,7 +10857,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->share(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -10688,6 +10870,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "share"));
+
+ ((_vtable *)orig_vtable)->share(interp, pmc);
return;
}
@@ -10705,7 +10889,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ret = ((_vtable *)orig_vtable)->share_ro(interp, pmc);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
@@ -10719,6 +10902,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "share_ro"));
+
+ ret = ((_vtable *)orig_vtable)->share_ro(interp, pmc);
return ret;
}
@@ -10735,7 +10920,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- ((_vtable *)orig_vtable)->init_int(interp, pmc, initializer);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
VTABLE_push_pmc(supervisor, params, pmc);
temp = Parrot_pmc_new(supervisor, enum_class_Integer);
@@ -10752,6 +10936,8 @@
CONST_STRING(supervisor, "main"),
CONST_STRING(supervisor, "init_int"));
+
+ ((_vtable *)orig_vtable)->init_int(interp, pmc, initializer);
return;
}
Added: branches/gsoc_instrument/t/dynpmc/instrumentvtable.t
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/gsoc_instrument/t/dynpmc/instrumentvtable.t Sat Jul 24 16:24:39 2010 (r48171)
@@ -0,0 +1,408 @@
+#!./parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/dynpmc/instrumentvtable.t - test the InstrumentVtable dynpmc
+
+=head1 SYNOPSIS
+
+ % prove t/dynpmc/instrumentvtable.t
+
+=head1 DESCRIPTION
+
+Tests the vtable notification interface provided by the InstrumentVtable pmc.
+
+=cut
+
+.include 'call_bits.pasm'
+.loadlib 'os'
+
+.sub main :main
+ .include 'test_more.pir'
+
+ # Load the Instrument library.
+ load_bytecode 'Instrument/InstrumentLib.pbc'
+
+ plan(22)
+
+ setup()
+ test_creation()
+ test_attaching()
+ test_insertion()
+ test_removal()
+ test_notification()
+ cleanup()
+
+ .return()
+.end
+
+
+.sub setup
+ # Create a simple program to test that events are raised.
+ .local string program
+ program = <<'PROG'
+.sub main :main
+ $P0 = new ['TestClass']
+ $I0 = isa $P0, 'TestClass'
+.end
+
+.namespace ['TestClass']
+.sub '' :anon :init :load
+ $P0 = newclass ['TestClass']
+.end
+
+# Test override.
+.sub init :vtable :method
+ # Do nothing.
+.end
+
+PROG
+
+ # Write to file.
+ .local pmc fh
+ fh = new ['FileHandle']
+ fh.'open'('t/dynpmc/instrumentvtable-test1.pir', 'w')
+ fh.'puts'(program)
+ fh.'close'()
+.end
+
+.sub cleanup
+ # Remove the test program.
+ .local pmc os
+ os = new ['OS']
+ os.'rm'('t/dynpmc/instrumentvtable-test1.pir')
+.end
+
+.sub test_creation
+ # InstrumentVtable is supposed to be instantiated with
+ # an Instrument instance.
+ # Check:
+ # 1. init throws an exception.
+ # 2. init_pmc initialises without any exception.
+ $P0 = new ['Instrument']
+
+ ## Scenario 1: Call init.
+
+ # Set up exception handler.
+ $P1 = new ['ExceptionHandler']
+ set_addr $P1, INIT_OK
+ push_eh $P1
+
+ $P2 = new ['InstrumentVtable']
+
+ ok(0, 'Creation: Init did not throw exception.')
+
+ goto INIT_END
+
+ INIT_OK:
+ ok(1, 'Creation: Init threw exception.')
+ INIT_END:
+
+ ## Scenario 2: Call init_pmc.
+ $P3 = new ['InstrumentVtable'], $P0
+ $I0 = isa $P3, 'InstrumentVtable'
+ is($I0, 1, 'Creation: init_pmc successful.')
+.end
+
+.sub test_attaching
+ # Test attaching an InstrumentVtable instance to a class.
+ # Check:
+ # 1. Attaching to an exisiting class is fine.
+ # 2. Attaching to a non-existent class throws an exception.
+ $P0 = new ['Instrument']
+
+ ## Scenario 1: Attach to an existing class (Sub)
+ $P1 = new ['InstrumentVtable'], $P0
+ $P1.'attach_to_class'('Sub')
+ ok(1, 'Attach: Existing class ok.')
+
+ ## Scenario 2: Attach to a non-existing class (Suba)
+ # Set up exception handler.
+ $P2 = new ['ExceptionHandler']
+ set_addr $P2, ATTACH_OK
+ push_eh $P2
+
+ $P1 = new ['InstrumentVtable'], $P0
+ $P1.'attach_to_class'('Suba')
+
+ ok(0, 'Attach: Attaching to non-existent class did not throw exception.')
+
+ goto ATTACH_END
+
+ ATTACH_OK:
+ ok(1, 'Attach: Attaching to non-existent class threw exception.')
+ ATTACH_END:
+.end
+
+.sub test_insertion
+ # Test inserting a hook into the vtables of a class.
+ # Check:
+ # 1. Insert 1 hook and check that there is 1 hook in the hook list.
+ # 2. Insert 1 hook twice and check that there is only 1 entry in the hook list.
+ # 3. Insert 2 different hooks and check that there are 2 entries in the hook list.
+ # 4. Insert a hook group and check that the hook list matches that in the group.
+ # (Group is obtained by querying the get_hook_list method.)
+ $P0 = new ['Instrument']
+
+ ## Scenario 1: Insert 1 hook.
+ $P1 = new ['InstrumentVtable'], $P0
+ $P1.'attach_to_class'('Sub')
+ $P1.'insert_hook'('init')
+ $P2 = $P1.'get_instrumented_list'()
+
+ $I0 = $P2
+ $S0 = $P2[0]
+ is($I0, 1, 'Insert: 1: Count ok.')
+ is($S0, 'init', 'Insert: 1: Name ok.')
+
+ ## Scenario 2: Insert 1 hook twice.
+ $P1 = new ['InstrumentVtable'], $P0
+ $P1.'attach_to_class'('Sub')
+ $P1.'insert_hook'('init')
+ $P1.'insert_hook'('init')
+ $P2 = $P1.'get_instrumented_list'()
+
+ $I0 = $P2
+ $S0 = $P2[0]
+ is($I0, 1, 'Insert: 2: Count ok.')
+ is($S0, 'init', 'Insert: 2: Name ok.')
+
+ ## Scenario 3: Insert 2 different hooks.
+ $P1 = new ['InstrumentVtable'], $P0
+ $P1.'attach_to_class'('Sub')
+ $P1.'insert_hook'('init')
+ $P1.'insert_hook'('init_pmc')
+ $P2 = $P1.'get_instrumented_list'()
+
+ $I0 = $P2
+ $I1 = find_in_list($P2, 'init')
+ $I2 = find_in_list($P2, 'init_pmc')
+ $I3 = $I1 + $I2
+ is($I0, 2, 'Insert: 3: Count ok.')
+ is($I3, 2, 'Insert: 3: Name ok.')
+
+ ## Scenario 4: Insert a group of hooks.
+ $P1 = new ['InstrumentVtable'], $P0
+ $P1.'attach_to_class'('Sub')
+ $P1.'insert_hook'('write')
+ $P2 = $P1.'get_instrumented_list'()
+ $P3 = $P1.'get_hook_list'('write')
+
+ $I0 = $P2
+ $I1 = $P3
+ $I2 = is_same_set($P2, $P3)
+ is($I0, $I1, 'Insert: 4: Count ok.')
+ is($I2, 1, 'Insert: 4: Group ok.')
+.end
+
+.sub test_removal
+ # Test removal of inserted hooks into the vtable of a class.
+ # Check:
+ # 1. Removal of an inserted hook.
+ # 2. A hook inserted twice and removed once will still be active.
+ # 3. Removing a group of hooks.
+ # 4. Removing a non-existent hook will throw an exception.
+ $P0 = new ['Instrument']
+
+ ## Scenario 1: Remove a single hook.
+ $P1 = new ['InstrumentVtable'], $P0
+ $P1.'attach_to_class'('Sub')
+ $P1.'insert_hook'('init')
+ $P1.'remove_hook'('init')
+ $P2 = $P1.'get_instrumented_list'()
+
+ $I0 = $P2
+ is($I0, 0, 'Remove: 1: Count ok.')
+
+ ## Scenario 2: Remove a hook inserted twice.
+ $P1 = new ['InstrumentVtable'], $P0
+ $P1.'attach_to_class'('Sub')
+ $P1.'insert_hook'('init')
+ $P1.'insert_hook'('init')
+ $P1.'remove_hook'('init')
+ $P2 = $P1.'get_instrumented_list'()
+
+ $I0 = $P2
+ $S0 = $P2[0]
+ is($I0, 1, 'Remove: 2: Count ok.')
+ is($S0, 'init', 'Remove: 2: Name ok.')
+
+ ## Scenario 3: Remove a group of hooks.
+ $P1 = new ['InstrumentVtable'], $P0
+ $P1.'attach_to_class'('Sub')
+ $P1.'insert_hook'('write')
+ $P1.'remove_hook'('write')
+ $P2 = $P1.'get_instrumented_list'()
+
+ $I0 = $P2
+ is($I0, 0, 'Remove: 3: Count ok.')
+
+ ## Scenario 4: Remove a non-existent hook.
+ $P2 = new ['ExceptionHandler']
+ set_addr $P2, ATTACH_OK
+ push_eh $P2
+
+ $P1 = new ['InstrumentVtable'], $P0
+ $P1.'attach_to_class'('Sub')
+ $P1.'remove_hook'('init')
+
+ ok(0, 'Remove: 4: Removing a non-existent hook did not throw exception.')
+
+ goto ATTACH_END
+
+ ATTACH_OK:
+ ok(1, 'Remove: 4: Removing a non-existent hook threw exception.')
+ ATTACH_END:
+.end
+
+.sub test_notification
+ # Test that notifications work, a class that is defined/loaded at runtime
+ # is instrumented and also vtable overrides work.
+ # In short, TestClass is only defined at runtime, has vtable overrides,
+ # and this tests all of it.
+ # Uses Instrument::Event::Class.
+ # Check:
+ # 1. The event is raised.
+ $P0 = new ['Instrument']
+ $P1 = get_hll_global ['Instrument';'Event'], 'Class'
+ $P2 = $P1.'new'()
+
+ $P2.'inspect_class'('TestClass')
+ $P2.'inspect_vtable'('init')
+ $P2.'callback'('test_notification_cb')
+
+ $P0.'attach'($P2)
+
+ # Set the arg list.
+ $S0 = 't/dynpmc/instrumentvtable-test1.pir'
+ $P3 = new ['ResizableStringArray']
+ push $P3, $S0
+
+ # Prepare the globals.
+ $P4 = new ['Hash']
+ set_global '%notification', $P4
+
+ $P0.'run'($S0, $P3)
+
+ # Check that the callback was called.
+ # Check that the event was fired.
+ $P9 = get_global '%notification'
+
+ # Event fired.
+ $I0 = $P9['called']
+ is($I0, 1, 'Event: Event fired.')
+
+ # Test line.
+ $I0 = $P9['line']
+ is($I0, 2, 'Event: Line ok.')
+
+ # Test file.
+ $S0 = $P9['file']
+ is($S0, 't/dynpmc/instrumentvtable-test1.pir', 'Event: File ok.')
+
+ # Test sub.
+ $S0 = $P9['sub']
+ is($S0, 'main', 'Event: Sub ok.')
+
+ # Test event.
+ $P10 = $P9['event']
+ $S0 = join '::', $P10
+ is($S0, 'Class::TestClass::vtable::core::init', 'Event: Event ok')
+.end
+
+.sub test_notification_cb
+ .param pmc data
+
+ $P0 = get_global '%notification'
+ $P0['called'] = 1
+
+ $P1 = data['event']
+ $P0['event'] = $P1
+
+ $I0 = data['line']
+ $P0['line'] = $I0
+
+ $S0 = data['file']
+ $P0['file'] = $S0
+
+ $S0 = data['sub']
+ $P0['sub'] = $S0
+.end
+
+
+## Helper: Find an item in the list.
+.sub find_in_list
+ .param pmc list
+ .param pmc item
+
+ $I0 = list
+
+ TOP:
+ dec $I0
+ unless $I0 >= 0 goto END
+
+ $P0 = list[$I0]
+ if $P0 == item goto FOUND
+
+ goto TOP
+ END:
+
+ # Not found.
+ .return(0)
+
+ FOUND:
+ .return(1)
+.end
+
+# Helper sub: Check if 2 sets with unique items are the same.
+.sub is_same_set
+ .param pmc arr1
+ .param pmc arr2
+ .local pmc hash
+
+ $I0 = arr1
+ $I1 = arr2
+ if $I0 != $I1 goto NO
+
+ hash = new ['Hash']
+
+ # Build the comparison hash
+ $I3 = 0
+ INSERT_LOOP:
+ if $I3 >= $I0 goto END_INSERT_LOOP
+
+ $S0 = arr1[$I3]
+ hash[$S0] = 1
+
+ inc $I3
+ goto INSERT_LOOP
+ END_INSERT_LOOP:
+
+ # Check the contents of arr2
+ $I3 = 0
+ CHECK_LOOP:
+ if $I3 >= $I0 goto END_CHECK_LOOP
+
+ $S0 = arr2[$I3]
+ $I4 = exists hash[$S0]
+
+ if $I4 == 0 goto NO
+
+ inc $I3
+ goto CHECK_LOOP
+ END_CHECK_LOOP:
+
+ YES:
+ .return(1)
+
+ NO:
+ .return(0)
+.end
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/gsoc_instrument/tools/build/gen_vtable_stubs.pl
==============================================================================
--- branches/gsoc_instrument/tools/build/gen_vtable_stubs.pl Sat Jul 24 10:17:38 2010 (r48170)
+++ branches/gsoc_instrument/tools/build/gen_vtable_stubs.pl Sat Jul 24 16:24:39 2010 (r48171)
@@ -241,7 +241,6 @@
GETATTR_InstrumentVtable_original_struct(interp, instr_vt, orig_vtable);
GETATTR_InstrumentVtable_supervisor(interp, instr_vt, supervisor);
- $ret_ret ((_vtable *)orig_vtable)->$name($param_list_flat);
params = Parrot_pmc_new(supervisor, enum_class_ResizablePMCArray);
$instr_params
@@ -251,6 +250,8 @@
params);
$events
+
+ $ret_ret ((_vtable *)orig_vtable)->$name($param_list_flat);
return$ret_last;
}
More information about the parrot-commits
mailing list