18484582. Hardware Verification of Dynamically Generated Code simplified abstract (Apple Inc.)

From WikiPatents
Jump to navigation Jump to search

Hardware Verification of Dynamically Generated Code

Organization Name

Apple Inc.

Inventor(s)

Jeffrey E. Gonion of Campbell CA (US)

Michael D. Snyder of Cedar Park TX (US)

Filip J. Pizlo of Capitola CA (US)

Hardware Verification of Dynamically Generated Code - A simplified explanation of the abstract

This abstract first appeared for US patent application 18484582 titled 'Hardware Verification of Dynamically Generated Code

Simplified Explanation

The patent application describes a system that supports dynamically-generated code by ensuring that the code either remains executing within a predefined region of memory or exits to a valid exit address. The system includes software and hardware embodiments to achieve this.

  • The dynamically-generated code is scanned before execution to ensure that certain criteria are met, such as excluding disallowed instructions and controlling branch target addresses.
  • In the software embodiments, the system scans the code and checks for compliance with the criteria before allowing execution.
  • In the hardware embodiments, the system permits the execution of the dynamically-generated code but monitors it to ensure that the execution criteria are met.

Potential applications of this technology:

  • Dynamic code generation in virtual machines or interpreters.
  • Just-in-time (JIT) compilation in programming languages.
  • Code obfuscation and protection techniques.

Problems solved by this technology:

  • Ensuring the security and integrity of dynamically-generated code.
  • Preventing the execution of malicious or unauthorized code.
  • Enforcing compliance with predefined execution criteria.

Benefits of this technology:

  • Improved security by controlling the execution of dynamically-generated code.
  • Enhanced performance through efficient execution of dynamically-generated code.
  • Flexibility in supporting dynamic code generation in various software systems.


Original Abstract Submitted

In an embodiment, dynamically-generated code may be supported in the system by ensuring that the code either remains executing within a predefined region of memory or exits to one of a set of valid exit addresses. Software embodiments are described in which the dynamically-generated code is scanned prior to permitting execution of the dynamically-generated code to ensure that various criteria are met including exclusion of certain disallowed instructions and control of branch target addresses. Hardware embodiments are described in which the dynamically-generated code is permitted to executed but is monitored to ensure that the execution criteria are met.