The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Name

SPVM::Document::NativeAPI::Precompile - SPVM Precompile Native APIs

Usage

  // Precompile Native API
  void* precompile_api = env->api->precompile;
  
  // New precompile
  void* precompile = precompile_api->new_object();
  
  // Free precompile
  precompile_api->free_object(precompile);

Description

SPVM Precompile Native APIs are public APIs to create precompile-source.

Ids Of Precompile Native APIs

Precompile native APIs have its IDs.

  0 new_object
  1 free_object
  2 set_runtime
  3 get_runtime
  4 build_class_source
  5 build_method_source

Precompile Native APIs

new_object

  void* (*new_object)();

Creates a new Precompile Native API object.

free_object

  void (*free_object)(void* precompile);

Frees a Precompile Native API object.

set_runtime

  void (*set_runtime)(void* precompile, void* runtime);

Sets a runtime to the Precompile Native API object.

get_runtime

  void* (*get_runtime)(void* precompile);

Gets the runtime from the Precompile Native API object.

build_class_source

  void (*build_class_source)(void* precompile, void* string_buffer, const char* class_name);

Builds a precompiled class source. The content is added at the end of the buffer of string buffer object.

build_method_source

  void (*build_method_source)(void* precompile, void* string_buffer, const char* class_name, const char* method_name);

Builds a precompiled method source. The content is added at the end of the buffer of string buffer object.