Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [omr-dev] Minimal FrontEnd.hpp extension

I'm not super familiar with this area, but I believe they exist to facilitate the implementation of languages that require the use of a stack atlas. For example, in OpenJ9, these functions are implemented in

https://github.com/eclipse/openj9/blob/cb042382f25e0c011944abff60bf2bbbbac226d1/runtime/compiler/runtime/MetaData.cpp#L690

https://github.com/eclipse/openj9/blob/cb042382f25e0c011944abff60bf2bbbbac226d1/runtime/compiler/runtime/MetaData.cpp#L880

https://github.com/eclipse/openj9/blob/cb042382f25e0c011944abff60bf2bbbbac226d1/runtime/compiler/runtime/MetaData.cpp#L723

Someone more familiar with this concept and code would be able to give a much better explanation as to why a language might require a stack atlas.

Regards,

Irwin D'Souza
JIT Compiler Developer
IBM Runtime Technologies
Email: dsouzai@xxxxxxxxxx
Phone: 905-413-2956


Inactive hide details for Dibyendu Majumdar ---06/01/2018 04:45:47 PM---Hi, I am looking at the FrontEnd.hpp files in testcompiDibyendu Majumdar ---06/01/2018 04:45:47 PM---Hi, I am looking at the FrontEnd.hpp files in testcompiler and JitBuilder

From: Dibyendu Majumdar <mobile@xxxxxxxxxxxxxxx>
To: omr developer discussions <omr-dev@xxxxxxxxxxx>
Date: 06/01/2018 04:45 PM
Subject: [omr-dev] Minimal FrontEnd.hpp extension
Sent by: omr-dev-bounces@xxxxxxxxxxx





Hi,

I am looking at the FrontEnd.hpp files in testcompiler and JitBuilder
projects. I am trying to understand what following are for - and if
they are needed.

  void encodeStackMap(
     TR_GCStackMap *map,
     uint8_t *location,
     bool encodeFourByteOffsets,
     uint32_t bytesPerStackMap,
     TR::Compilation *comp);

  bool mapsAreIdentical(
     TR_GCStackMap *mapCursor,
     TR_GCStackMap *nextMapCursor,
     TR::GCStackAtlas *stackAtlas,
     TR::Compilation *comp);

  uint8_t *createStackAtlas(
     bool encodeFourByteOffsets,
     uint32_t numberOfSlotsMapped,
     uint32_t bytesPerStackMap,
     uint8_t *encodedAtlasBaseAddress,
     uint32_t atlasSizeInBytes,
     TR::Compilation *comp);

  uint32_t
     calculateSizeOfStackAtlas(
     bool encodeFourByteOffsets,
     uint32_t numberOfSlotsMapped,
     uint32_t bytesPerStackMap,
     TR::Compilation *comp);

Thanks and Regards
Dibyendu
_______________________________________________
omr-dev mailing list
omr-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/omr-dev





Back to the top