1
0
Fork 0
mirror of https://github.com/rubyjs/therubyracer synced 2023-03-27 23:21:42 -04:00
therubyracer/ext/v8/constraints.cc

49 lines
2.1 KiB
C++
Raw Normal View History

#include "rr.h"
namespace rr {
void ResourceConstraints::Init() {
ClassBuilder("ResourceConstraints").
defineSingletonMethod("new", &initialize).
defineMethod("max_young_space_size", &max_young_space_size).
defineMethod("set_max_young_space_size", &set_max_young_space_size).
defineMethod("max_old_space_size", &max_old_space_size).
defineMethod("set_max_old_space_size", &set_max_old_space_size).
defineMethod("max_executable_size", &set_max_executable_size).
defineMethod("set_max_executable_size", &set_max_executable_size).
store(&Class);
ModuleBuilder("V8::C").
defineSingletonMethod("SetResourceConstraints", &SetResourceConstraints);
}
VALUE ResourceConstraints::SetResourceConstraints(VALUE self, VALUE constraints) {
Void(v8::SetResourceConstraints(ResourceConstraints(constraints)));
}
VALUE ResourceConstraints::initialize(VALUE self) {
return ResourceConstraints(new v8::ResourceConstraints());
}
VALUE ResourceConstraints::max_young_space_size(VALUE self) {
return INT2FIX(ResourceConstraints(self)->max_young_space_size());
}
VALUE ResourceConstraints::set_max_young_space_size(VALUE self, VALUE value) {
Void(ResourceConstraints(self)->set_max_young_space_size(NUM2INT(value)));
}
VALUE ResourceConstraints::max_old_space_size(VALUE self) {
return INT2FIX(ResourceConstraints(self)->max_old_space_size());
}
VALUE ResourceConstraints::set_max_old_space_size(VALUE self, VALUE value) {
Void(ResourceConstraints(self)->set_max_old_space_size(NUM2INT(value)));
}
VALUE ResourceConstraints::max_executable_size(VALUE self) {
return INT2FIX(ResourceConstraints(self)->max_executable_size());
}
VALUE ResourceConstraints::set_max_executable_size(VALUE self, VALUE value) {
Void(ResourceConstraints(self)->set_max_executable_size(NUM2INT(value)));
}
// What do these even mean?
// uint32_t* stack_limit() const { return stack_limit_; }
// // Sets an address beyond which the VM's stack may not grow.
// void set_stack_limit(uint32_t* value) { stack_limit_ = value; }
}