Skip to content

Commit e3fe72e

Browse files
committed
Remove psych patches
PullRequest: truffleruby/728
2 parents 918d6c3 + 227226b commit e3fe72e

File tree

7 files changed

+14
-91
lines changed

7 files changed

+14
-91
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ Changes:
1010
have been removed.
1111
* Our experimental JRuby-compatible Java interop has been removed - use
1212
`Polyglot` and `Java` instead.
13+
* The Trufle handle patches applied to `psych` C extension have now been removed.
14+
* The `rb_tr_handle_*` functions have been removed as they are no
15+
longer used in any C extension patches.
1316

1417
Bug fixes:
1518

lib/cext/include/truffleruby/truffleruby.h

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,6 @@ int rb_tr_flags(VALUE value);
3636
void rb_tr_add_flags(VALUE value, int flags);
3737
bool rb_tr_hidden_p(VALUE value);
3838

39-
// Handles
40-
41-
void *rb_tr_handle_for_managed(VALUE managed);
42-
void *rb_tr_handle_for_managed_leaking(VALUE managed);
43-
void *rb_tr_handle_if_managed(VALUE managed);
44-
void *rb_tr_handle_if_managed_leaking(VALUE managed);
45-
VALUE rb_tr_managed_from_handle_or_null(void *handle);
46-
VALUE rb_tr_managed_from_handle(void *handle);
47-
VALUE rb_tr_managed_from_handle_release(void *handle);
48-
VALUE rb_tr_managed_if_handle(void *handle);
49-
void rb_tr_release_handle(void *handle);
50-
void rb_tr_release_if_handle(void *handle);
5139

5240
// Managed Structs
5341

src/main/c/cext/ruby.c

Lines changed: 0 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -2828,69 +2828,6 @@ VALUE rb_java_to_string(VALUE obj) {
28282828
return RUBY_CEXT_INVOKE("rb_java_to_string", obj);
28292829
}
28302830

2831-
// Handles
2832-
2833-
void *rb_tr_handle_for_managed(VALUE managed) {
2834-
return truffle_handle_for_managed(managed);
2835-
}
2836-
2837-
void *rb_tr_handle_for_managed_leaking(VALUE managed) {
2838-
rb_tr_log_warning("rb_tr_handle_for_managed without matching rb_tr_release_handle; handles will be leaking");
2839-
return rb_tr_handle_for_managed(managed);
2840-
}
2841-
2842-
void *rb_tr_handle_if_managed(VALUE pointer) {
2843-
if (polyglot_is_value(pointer)) {
2844-
return rb_tr_handle_for_managed(pointer);
2845-
} else {
2846-
return pointer;
2847-
}
2848-
}
2849-
2850-
void *rb_tr_handle_if_managed_leaking(VALUE pointer) {
2851-
if (polyglot_is_value(pointer)) {
2852-
return rb_tr_handle_if_managed_leaking(pointer);
2853-
} else {
2854-
return pointer;
2855-
}
2856-
}
2857-
2858-
VALUE rb_tr_managed_from_handle_or_null(void *handle) {
2859-
if (handle == NULL) {
2860-
return NULL;
2861-
} else {
2862-
return rb_tr_managed_from_handle(handle);
2863-
}
2864-
}
2865-
2866-
VALUE rb_tr_managed_if_handle(void *pointer) {
2867-
if (truffle_is_handle_to_managed(pointer)) {
2868-
return rb_tr_managed_from_handle(pointer);
2869-
} else {
2870-
return pointer;
2871-
}
2872-
}
2873-
2874-
VALUE rb_tr_managed_from_handle(void *handle) {
2875-
return truffle_managed_from_handle(handle);
2876-
}
2877-
2878-
VALUE rb_tr_managed_from_handle_release(void *handle) {
2879-
VALUE managed = rb_tr_managed_from_handle(handle);
2880-
rb_tr_release_handle(handle);
2881-
return managed;
2882-
}
2883-
2884-
void rb_tr_release_if_handle(void *pointer) {
2885-
if (truffle_is_handle_to_managed(pointer)) {
2886-
truffle_release_handle(pointer);
2887-
}
2888-
}
2889-
2890-
void rb_tr_release_handle(void *handle) {
2891-
truffle_release_handle(handle);
2892-
}
2893-
28942831
// Managed Structs
28952832

28962833
void* rb_tr_new_managed_struct_internal(void *type) {

src/main/c/psych/yaml/api.c

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11

22
#include "yaml_private.h"
3-
#include "ruby.h"
43

54
/*
65
* Get the library version.
@@ -216,8 +215,6 @@ YAML_DECLARE(void)
216215
yaml_parser_delete(yaml_parser_t *parser)
217216
{
218217
assert(parser); /* Non-NULL parser object expected. */
219-
220-
rb_tr_release_if_handle(parser->read_handler_data);
221218

222219
BUFFER_DEL(parser, parser->raw_buffer);
223220
BUFFER_DEL(parser, parser->buffer);
@@ -292,7 +289,7 @@ yaml_parser_set_input_string(yaml_parser_t *parser,
292289
assert(input); /* Non-NULL input string expected. */
293290

294291
parser->read_handler = yaml_string_read_handler;
295-
parser->read_handler_data = rb_tr_handle_if_managed(parser);
292+
parser->read_handler_data = parser;
296293

297294
parser->input.string.start = input;
298295
parser->input.string.current = input;
@@ -311,7 +308,7 @@ yaml_parser_set_input_file(yaml_parser_t *parser, FILE *file)
311308
assert(file); /* Non-NULL file object expected. */
312309

313310
parser->read_handler = yaml_file_read_handler;
314-
parser->read_handler_data = rb_tr_handle_for_managed(parser);
311+
parser->read_handler_data = parser;
315312

316313
parser->input.file = file;
317314
}
@@ -329,7 +326,7 @@ yaml_parser_set_input(yaml_parser_t *parser,
329326
assert(handler); /* Non-NULL read handler expected. */
330327

331328
parser->read_handler = handler;
332-
parser->read_handler_data = rb_tr_handle_for_managed(data);
329+
parser->read_handler_data = data;
333330
}
334331

335332
/*
@@ -390,8 +387,6 @@ YAML_DECLARE(void)
390387
yaml_emitter_delete(yaml_emitter_t *emitter)
391388
{
392389
assert(emitter); /* Non-NULL emitter object expected. */
393-
394-
rb_tr_release_handle(emitter->write_handler_data);
395390

396391
BUFFER_DEL(emitter, emitter->buffer);
397392
BUFFER_DEL(emitter, emitter->raw_buffer);
@@ -462,7 +457,7 @@ yaml_emitter_set_output_string(yaml_emitter_t *emitter,
462457
assert(output); /* Non-NULL output string expected. */
463458

464459
emitter->write_handler = yaml_string_write_handler;
465-
emitter->write_handler_data = rb_tr_handle_for_managed(emitter);
460+
emitter->write_handler_data = emitter;
466461

467462
emitter->output.string.buffer = output;
468463
emitter->output.string.size = size;
@@ -482,7 +477,7 @@ yaml_emitter_set_output_file(yaml_emitter_t *emitter, FILE *file)
482477
assert(file); /* Non-NULL file object expected. */
483478

484479
emitter->write_handler = yaml_file_write_handler;
485-
emitter->write_handler_data = rb_tr_handle_for_managed(emitter);
480+
emitter->write_handler_data = emitter;
486481

487482
emitter->output.file = file;
488483
}
@@ -500,7 +495,7 @@ yaml_emitter_set_output(yaml_emitter_t *emitter,
500495
assert(handler); /* Non-NULL handler object expected. */
501496

502497
emitter->write_handler = handler;
503-
emitter->write_handler_data = rb_tr_handle_for_managed(data);
498+
emitter->write_handler_data = data;
504499
}
505500

506501
/*
@@ -1394,3 +1389,5 @@ yaml_document_append_mapping_pair(yaml_document_t *document,
13941389

13951390
return 1;
13961391
}
1392+
1393+

src/main/c/psych/yaml/reader.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ yaml_parser_update_raw_buffer(yaml_parser_t *parser)
118118

119119
/* Call the read handler to fill the buffer. */
120120

121-
if (!parser->read_handler(rb_tr_managed_if_handle(parser->read_handler_data), parser->raw_buffer.last,
121+
if (!parser->read_handler(parser->read_handler_data, parser->raw_buffer.last,
122122
parser->raw_buffer.end - parser->raw_buffer.last, &size_read)) {
123123
return yaml_parser_set_reader_error(parser, "input error",
124124
parser->offset, -1);

src/main/c/psych/yaml/writer.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ yaml_emitter_flush(yaml_emitter_t *emitter)
5050

5151
if (emitter->encoding == YAML_UTF8_ENCODING)
5252
{
53-
if (((yaml_write_handler_t *)emitter->write_handler)(truffle_managed_from_handle(emitter->write_handler_data),
53+
if (emitter->write_handler(emitter->write_handler_data,
5454
emitter->buffer.start,
5555
emitter->buffer.last - emitter->buffer.start)) {
5656
emitter->buffer.last = emitter->buffer.start;
@@ -125,7 +125,7 @@ yaml_emitter_flush(yaml_emitter_t *emitter)
125125

126126
/* Write the raw buffer. */
127127

128-
if (((yaml_write_handler_t *)emitter->write_handler)(truffle_managed_from_handle(emitter->write_handler_data),
128+
if (emitter->write_handler(emitter->write_handler_data,
129129
emitter->raw_buffer.start,
130130
emitter->raw_buffer.last - emitter->raw_buffer.start)) {
131131
emitter->buffer.last = emitter->buffer.start;

src/main/c/psych/yaml/yaml.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ extern "C" {
1919
#include <stdio.h>
2020
#include <string.h>
2121

22-
#include <ruby.h>
23-
2422
/**
2523
* @defgroup export Export Definitions
2624
* @{

0 commit comments

Comments
 (0)