mini_racer 0.17.0.pre12 → 0.17.0.pre13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b2323caa96e4a3fae90be312b1d8788f2f2e663e586849ef03e97968c24c83a3
4
- data.tar.gz: 5681ed08f41984354aa940919b295c0ff1d1fcfecc2a3a8e26b7f91874ae97d0
3
+ metadata.gz: 02c93cf015b4c5e591ce5f6b3f61b787c3c12ea1d98b33dde6879461140ef9bd
4
+ data.tar.gz: f77c6dbdee02fedcea41a2fe077aa71bc30c2c0dbc0630a1c09ebc90f075e4a1
5
5
  SHA512:
6
- metadata.gz: 65e746097f2db9dbe8d36c95ab55d7ff0f5f6a35cfbe92b09e8ed0071e83471193555fa1e0c104880c054a0ad8e4c9807cc524922723c28a67d8029f8af6e265
7
- data.tar.gz: 0c33c64e22d93312346d0edc6c4602a5bdb991b6c5077d8505d14b3b885469212f999e4a17ae5c32aa238416ebaab8354b0d3973b861e1f5923378776039a33d
6
+ metadata.gz: 5b9370d3e4aa2bb017e9c450651381bc3b11880bcfee9448949cdc1cb0a7c01a3bb0836112c10a32d2f9c199c687cea16a5374142e9ba5201b5c526e524b09dc
7
+ data.tar.gz: fecf25f26fa787280cc22eccd13deeee4dd554a36ee23e347149bc4e6d34b6a5eab623b8454d6ad0b6ad685e06e47cf8d45625ee015b033a1ed115ffb931e181
data/CHANGELOG CHANGED
@@ -1,4 +1,7 @@
1
- - 0.17.0.pre12 - 23-07-2025
1
+ - 0.17.0.pre13 - 04-02-2025
2
+ - Only issue idle GC once post dispatch - reduces CPU usage for auto cleanup - Sam Saffron
3
+
4
+ - 0.17.0.pre12 - 23-01-2025
2
5
  - Corrected off-by-one error with object serialization - Ben Noordhuis
3
6
 
4
7
  - 0.17.0.pre11 - 21-01-2025
@@ -728,6 +728,7 @@ static void dispatch(Context *c)
728
728
  void v8_thread_main(Context *c, struct State *pst)
729
729
  {
730
730
  struct timespec deadline;
731
+ bool issued_idle_gc = true;
731
732
 
732
733
  c->pst = pst;
733
734
  barrier_wait(&c->late_init);
@@ -737,8 +738,10 @@ void v8_thread_main(Context *c, struct State *pst)
737
738
  if (c->idle_gc > 0) {
738
739
  deadline = deadline_ms(c->idle_gc);
739
740
  pthread_cond_timedwait(&c->cv, &c->mtx, &deadline);
740
- if (deadline_exceeded(deadline))
741
+ if (deadline_exceeded(deadline) && !issued_idle_gc) {
741
742
  v8_low_memory_notification(c->pst);
743
+ issued_idle_gc = true;
744
+ }
742
745
  } else {
743
746
  pthread_cond_wait(&c->cv, &c->mtx);
744
747
  }
@@ -746,6 +749,7 @@ void v8_thread_main(Context *c, struct State *pst)
746
749
  if (!c->req.len)
747
750
  continue; // spurious wakeup or quit signal from other thread
748
751
  dispatch(c);
752
+ issued_idle_gc = false;
749
753
  pthread_cond_signal(&c->cv);
750
754
  }
751
755
  }
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MiniRacer
4
- VERSION = "0.17.0.pre12"
4
+ VERSION = "0.17.0.pre13"
5
5
  LIBV8_NODE_VERSION = "~> 22.7.0.4"
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_racer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0.pre12
4
+ version: 0.17.0.pre13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Saffron
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-22 00:00:00.000000000 Z
11
+ date: 2025-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -123,9 +123,9 @@ licenses:
123
123
  - MIT
124
124
  metadata:
125
125
  bug_tracker_uri: https://github.com/discourse/mini_racer/issues
126
- changelog_uri: https://github.com/discourse/mini_racer/blob/v0.17.0.pre12/CHANGELOG
127
- documentation_uri: https://www.rubydoc.info/gems/mini_racer/0.17.0.pre12
128
- source_code_uri: https://github.com/discourse/mini_racer/tree/v0.17.0.pre12
126
+ changelog_uri: https://github.com/discourse/mini_racer/blob/v0.17.0.pre13/CHANGELOG
127
+ documentation_uri: https://www.rubydoc.info/gems/mini_racer/0.17.0.pre13
128
+ source_code_uri: https://github.com/discourse/mini_racer/tree/v0.17.0.pre13
129
129
  post_install_message:
130
130
  rdoc_options: []
131
131
  require_paths: