Class: MiniRacer::Snapshot
- Inherits:
-
Object
- Object
- MiniRacer::Snapshot
- Defined in:
- lib/mini_racer.rb,
lib/mini_racer/truffleruby.rb
Overview
`size` and `warmup!` public methods are defined in the C class
Instance Method Summary collapse
-
#initialize(str = '') ⇒ Snapshot
constructor
A new instance of Snapshot.
- #load(str) ⇒ Object
- #warmup!(src) ⇒ Object
- #warmup_unsafe!(src) ⇒ Object
Constructor Details
#initialize(str = '') ⇒ Snapshot
Returns a new instance of Snapshot.
425 426 427 428 429 430 431 432 433 434 435 436 437 438 |
# File 'lib/mini_racer.rb', line 425 def initialize(str = '') # ensure it first can load begin ctx = MiniRacer::Context.new ctx.eval(str) rescue MiniRacer::RuntimeError => e raise MiniRacer::SnapshotError.new, e., e.backtrace end @source = str # defined in the C class load(str) end |
Instance Method Details
#load(str) ⇒ Object
341 342 343 344 |
# File 'lib/mini_racer/truffleruby.rb', line 341 def load(str) raise TypeError, "wrong type argument #{str.class} (should be a string)" unless str.is_a?(String) # Intentionally noop since TruffleRuby mocks the snapshot API end |
#warmup!(src) ⇒ Object
440 441 442 443 444 445 446 447 448 449 450 451 452 453 |
# File 'lib/mini_racer.rb', line 440 def warmup!(src) # we have to do something here # we are bloating memory a bit but it is more correct # than hitting an exception when attempty to compile invalid source begin ctx = MiniRacer::Context.new ctx.eval(@source) ctx.eval(src) rescue MiniRacer::RuntimeError => e raise MiniRacer::SnapshotError.new, e., e.backtrace end warmup_unsafe!(src) end |
#warmup_unsafe!(src) ⇒ Object
346 347 348 349 350 351 |
# File 'lib/mini_racer/truffleruby.rb', line 346 def warmup_unsafe!(src) raise TypeError, "wrong type argument #{src.class} (should be a string)" unless src.is_a?(String) # Intentionally noop since TruffleRuby mocks the snapshot API # by replaying snapshot source before the first eval/call self end |