You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by mf...@apache.org on 2007/07/17 17:12:14 UTC
svn commit: r556943 - in /harmony/enhanced/drlvm/trunk/vm/jitrino/src:
jet/cg.cpp jet/jet.cpp jet/rt.cpp shared/ControlFlowGraph.cpp
shared/ControlFlowGraph.h shared/HashTable.h
Author: mfursov
Date: Tue Jul 17 08:12:13 2007
New Revision: 556943
URL: http://svn.apache.org/viewvc?view=rev&rev=556943
Log:
Cosmetic fixes (UNUSED markers) for
HARMONY-3855
HARMONY-4004
HARMONY-4047
HARMONY-4048
+ removal of deprecated parameter in ControlFlowGraph.cpp.
Modified:
harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg.cpp
harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/jet.cpp
harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp
harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.cpp
harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.h
harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/HashTable.h
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg.cpp?view=diff&rev=556943&r1=556942&r2=556943
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg.cpp Tue Jul 17 08:12:13 2007
@@ -34,7 +34,7 @@
#include <jit_runtime_support.h>
#include <jit_intf.h>
#include <jni_types.h>
-
+#include "port_threadunsafe.h"
/**
* @file
@@ -122,7 +122,9 @@
{
assert(obj.jt() == jobj);
if (obj.has(VA_NZ)) {
+ UNSAFE_REGION_START
STATS_INC(Stats::npesEliminated,1);
+ UNSAFE_REGION_END
if (is_set(DBG_TRACE_CG)) {
dbg(";;>check.npe for %s - skipped\n",
to_str(obj.as_opnd()).c_str());
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/jet.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/jet.cpp?view=diff&rev=556943&r1=556942&r2=556943
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/jet.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/jet.cpp Tue Jul 17 08:12:13 2007
@@ -630,14 +630,14 @@
static TlsStore<TlsLogStreams> tlslogstreams;
-
+static Mutex logInfoLock;
/*
Because CompilationContext is a transient object (it created on start of compilation
and destroyed on end of compilation for every method), LogStreams table cannot reside
in it. Thread-local storage (TLS) is used to keep LogStreams.
On the other hand, different Jits can run on the same thread, so several LogStreams
- have to be keept for single thread.
+ have to be kept for single thread.
To optimize access, pointer to LogStreams is cached in CompilationContext.
*/
@@ -654,7 +654,9 @@
TlsLogStreams* sp = tlslogstreams.get();
if (sp == 0)
{ // new thread
+ logInfoLock.lock();
++thread_nb;
+ logInfoLock.unlock();
sp = new TlsLogStreams();
tlslogstreams.put(sp);
}
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp?view=diff&rev=556943&r1=556942&r2=556943
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp Tue Jul 17 08:12:13 2007
@@ -31,6 +31,8 @@
#include "jit_import.h"
#include "jit_intf.h"
+#include "port_threadunsafe.h"
+
#if !defined(_IPF_)
#include "enc_ia32.h"
#endif
@@ -164,6 +166,7 @@
// restore callee-save regs
//
#ifdef _DEBUG
+ UNSAFE_REGION_START
// presumption: only GP registers can be callee-save
static bool do_check = true;
for (unsigned i=0; do_check && i<ar_num; i++) {
@@ -171,6 +174,7 @@
assert(!is_callee_save(ar) || is_gr(ar));
}
do_check = false;
+ UNSAFE_REGION_END
#endif
#if defined(_EM64T_) || defined(_IPF_)
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.cpp?view=diff&rev=556943&r1=556942&r2=556943
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.cpp Tue Jul 17 08:12:13 2007
@@ -697,13 +697,13 @@
}
-void ControlFlowGraph::spliceFlowGraphInline(CFGInst* instAfter, ControlFlowGraph& inlineFG, bool keepDispatch) {
+void ControlFlowGraph::spliceFlowGraphInline(CFGInst* instAfter, ControlFlowGraph& inlineFG) {
Node* node = instAfter->getNode();
Edge* edgeToInlined = NULL;
if (node->getLastInst() == instAfter) {
edgeToInlined = node->getUnconditionalEdge();
} else {//WARN: no label inst created -> possible problems if method is used in HLO
- Node* newBlock = splitNodeAtInstruction(instAfter, true, keepDispatch, NULL);
+ Node* newBlock = splitNodeAtInstruction(instAfter, true, false, NULL);
assert(newBlock->getInDegree() == 1);
edgeToInlined = newBlock->getInEdges().front();
}
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.h?view=diff&rev=556943&r1=556942&r2=556943
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.h Tue Jul 17 08:12:13 2007
@@ -1467,12 +1467,8 @@
* inlined after this instruction
* @param[in] inlineFG - the flow graph to inline. Must have valid unwind
* and return nodes
- * @param[in] keepDispatch - indicates if both nodes after the splitting must
- * have the same dispatch as the initial node had.
- * If <code>FALSE</code> the <code>Dispatch</code> node
- * is moved to the node with a higher post-num.
*/
- void spliceFlowGraphInline(CFGInst* instAfter, ControlFlowGraph& inlineFG, bool keepDispatch=true);
+ void spliceFlowGraphInline(CFGInst* instAfter, ControlFlowGraph& inlineFG);
/**
* Inlines <code>inlineFG</code> info given CFG retargeting the edge to the
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/HashTable.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/HashTable.h?view=diff&rev=556943&r1=556942&r2=556943
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/HashTable.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/shared/HashTable.h Tue Jul 17 08:12:13 2007
@@ -27,6 +27,7 @@
#include <assert.h>
#include "Dlink.h"
#include "MemoryManager.h"
+#include "port_threadunsafe.h"
namespace Jitrino {
@@ -110,15 +111,21 @@
protected:
virtual HashTableLink* lookupEntry(void* key) const {
#ifdef _DEBUG
+ UNSAFE_REGION_START
((HashTableImpl *)this)->numLookup++;
+ UNSAFE_REGION_END
#endif
for (HashTableLink* e = table[getTableIndex(key)]; e != NULL; e = e->next) {
#ifdef _DEBUG
+ UNSAFE_REGION_START
((HashTableImpl *)this)->numLookupEntry++;
+ UNSAFE_REGION_END
#endif
if (equals(e->keyPtr,key)) {
#ifdef _DEBUG
+ UNSAFE_REGION_START
((HashTableImpl *)this)->numFound++;
+ UNSAFE_REGION_END
#endif
return e;
}