Skip to content

Instantly share code, notes, and snippets.

View rwy7's full-sized avatar
✌️

Robert Young rwy7

✌️
  • Sifive
  • Ontario, Canada
  • 16:05 (UTC -12:00)
View GitHub Profile

Keybase proof

I hereby claim:

  • I am rwy7 on github.
  • I am rwyoung (https://keybase.io/rwyoung) on keybase.
  • I have a public key whose fingerprint is 5B8F 1C9D 2A24 1BDE 3DDB A2E7 E6FA A214 58EC A358

To claim this, I am signing this object:

/*
example of building a bytecode handler table.
My full implementation here:
https://github.com/rwy0717/intbuilder/blob/master/intbuilder/include/BytecodeHandlerTable.hpp
The difference:
In the example, the handlers all take a single arg: the bytecode builder.
In the real implementation, the handler's take their VM state as a second argument.
static std::int64_t stack[8];
static std::int64_t* sp = stack;
class BadStackMethodBuilder : public OMR::JitBuilder::MethodBuilder {
public:
BadStackMethodBuilder(OMR::JitBuilder::TypeDictionary* t)
: OMR::JitBuilder::MethodBuilder(t) {
// SetReturnType(t->NoType);
#if !defined(OMR_BYTEBUFFER_HPP_)
#define OMR_BYTEBUFFER_HPP_
#include <cstdint>
#include <cstddef>
#include <cstdlib>
#include <cstring>
#include <cstdio>
--- upstream-master-cli-hpp 2019-02-13 10:36:24.110900173 -0500
+++ /Users/rwyoung/wsp/openj9-openjdk-jdk11/openj9/runtime/gc_glue_java/ScavengerDelegate.hpp 2019-02-06 16:52:43.411617730 -0500
@@ -1,6 +1,6 @@
/*******************************************************************************
- * Copyright (c) 1991, 2018 IBM Corp. and others
+ * Copyright (c) 2019, 2019 IBM Corp. and others
*
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which accompanies this
--- upstream-master-cli-cpp 2019-02-13 10:27:27.112689338 -0500
+++ /Users/rwyoung/wsp/openj9-openjdk-jdk11/openj9/runtime/gc_glue_java/ScavengerDelegate.cpp 2019-02-06 16:52:43.493697694 -0500
@@ -1,6 +1,6 @@
/*******************************************************************************
- * Copyright (c) 1991, 2018 IBM Corp. and others
+ * Copyright (c) 2019, 2019 IBM Corp. and others
*
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which accompanies this
#if !defined(AB_RC_HPP_)
#define AB_RC_HPP_
#include <Ab/PtrLike.hpp>
#include <Ab/StaticPoly.hpp>
#include <cassert>
#include <stdio.h>
namespace Ab {
// Branch factor, power of two.
static constexpr SizeP2 RADIX = SIZEP2_32;
enum class NodeKind {
LEAF = 1, BRANCH
};
class Node : public RefCounted {
public:
constexpr Node(NodeKind kind) noexcept : kind_(kind) {}
@rwy7
rwy7 / SIMPLIFY_BRANCH_ARITHMETIC.cpp
Created January 7, 2019 21:39
SIMPLIFY_BRANCH_ARITHMETIC
#define SIMPLIFY_BRANCH_ARITHMETIC(Type, Width) \
if ((firstChild->getOpCode().isSub() || firstChild->getOpCode().isAdd()) \
&& (firstChild->getSecondChild()->getOpCode().isLoadConst()) \
&& (secondChild->getOpCode().isSub() || secondChild->getOpCode().isAdd()) \
&& (secondChild->getSecondChild()->getOpCode().isLoadConst()) \
&& (firstChild->getReferenceCount() == 1) \
&& (secondChild->getReferenceCount() == 1)) { \
Width konst; \
if (firstChild->getOpCode().isSub()) {
/*******************************************************************************
* clang-format: off
* Copyright (c) 2017, 2018 IBM Corp. and others
*
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which accompanies this
* distribution and is available at http://eclipse.org/legal/epl-2.0
* or the Apache License, Version 2.0 which accompanies this distribution
* and is available at https://www.apache.org/licenses/LICENSE-2.0.
*