Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7863359
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 2, 20262026-06-02T23:27:29+00:00 2026-06-02T23:27:29+00:00

Lets say I want to create a new programming language or use some language

  • 0

Lets say I want to create a new programming language or use some language not supported by MS (Haskell, Java… whatever) but want to be able to code against windows 8 metro/winRT.

I know that all apps in Metro UI are sandboxed.
I know that I can program in native C++, so I assume that I can do it also in C or assembly.
But:

  1. Is it possible to create a JIT that will produce assembly code on the fly – like CLR JIT- without breaking sandbox restrictions?
  2. Assuming that I will use only API allowed in Metro sandbox is it possible to not use XAML as UI interface? – Can I use Direct2D/DirectX directly?
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-02T23:27:31+00:00Added an answer on June 2, 2026 at 11:27 pm

    As near as I can tell, it is way too early to make the call on this. I personally don’t know how to write a jitter without using VirtualProtect(), the core winapi function that lets you turn a chunk of memory with machine code generated by the jitter into executable code.

    There are a number of native winapi functions available to a WinRT app. The list of blessed system functions is available here. The memory related apis are pretty limited, VirtualQuery is the only one in the list that comes close.

    So how do the current language projections do it? Let’s have a look. The CLR has a projection, it gets loaded into any Metro app you write in a managed language like C#. Running dumpbin.exe /imports on c:\windows\microsoft.net\framework\v4.0.30319\clr.dll generates a pretty big list of dependencies on Windows DLLs. A snippet from that dump:

    Dump of file clr.dll
    
    File Type: DLL
    
      Section contains the following imports:
    
        KERNEL32.dll
    ...
    
                  430 RaiseException
                  581 VirtualAlloc
                  584 VirtualFree
                  589 VirtualQuery
                  587 VirtualProtect          <=== here!
                  339 HeapDestroy
                  336 HeapAlloc
                  342 HeapValidate
                  540 SleepEx
                  547 SwitchToThread
                  ... etc
    

    Another language projection is for javascript, implemented in the “Chakra” engine. Hard to figure out exactly what DLL implements that engine, it’s just a code name. Running a sample Javascript project with unmanaged debugging enabled reveals “jscript9.dll” loaded. Let’s do dumpbin.exe /imports on this one:

      ....
      6898F4D5    10D DebugBreak
      6891FDA1    55E TerminateProcess
      6898EF9E    57E UnhandledExceptionFilter
      6891FD58    43C RaiseException
      68903BB7    59E VirtualProtect                 <=== here!
      6A218590    366 InterlockedPushEntrySList
      6A2185A9    365 InterlockedPopEntrySList
      6A2195AA    35C InitializeSListHead
      689026F9    598 VirtualAlloc
      68902852    59B VirtualFree
      6890603E    4A2 ResetWriteWatch
      ...etc
    

    Well, it is there. It would have to be. Trouble is, right now you can’t call this function. It certainly wouldn’t pass scrutiny from the Store validator.

    This needs to stew, at least until the real WinRT becomes available, the one that runs on ARM cores. Not just the one that runs on top of Win32 that you now have running in the Windows 8 Consumer Preview. And can readily take advantage of existing winapi functions, not just the trimmed list. That’s going to be around the end of the year, probably. Real hardware won’t be in your hands until summer of next year.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Lets say I have List<string> = new List<string>() {20,26,32} I want to create a
Let's say I create an instance of a class and want to assign some
Lets say you had a simple form to create a new article object in
Lets say that I have a drop down list that I want to create
i want to create a php with mysql to do the following: lets say
Lets say you want to create a listing of widgets The Widget Manufacturers all
Let's say that you want to create a dead simple BlogEditor and, one of
I want to create an object, let's say a Pie. class Pie def initialize(name,
I want to create variables inside a function from a dictionary. Let's say I
Lets say I want to implement a smart pointer a_ptr which can be compared

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.