# HG changeset patch # User Doug Simon # Date 1368732639 -7200 # Node ID 3e049a94d39160d7b8c4cc8fa55b8d119818d5e8 # Parent 8e5461c4c82ea904bd13e79218185d0ddfa9a618 replaced Log*Stub use of ForeignCallStub diff -r 8e5461c4c82e -r 3e049a94d391 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Thu May 16 21:26:10 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Thu May 16 21:30:39 2013 +0200 @@ -43,9 +43,6 @@ import static com.oracle.graal.hotspot.nodes.WriteBarrierPreStubCall.*; import static com.oracle.graal.hotspot.replacements.SystemSubstitutions.*; import static com.oracle.graal.hotspot.stubs.ExceptionHandlerStub.*; -import static com.oracle.graal.hotspot.stubs.LogObjectStub.*; -import static com.oracle.graal.hotspot.stubs.LogPrimitiveStub.*; -import static com.oracle.graal.hotspot.stubs.LogPrintfStub.*; import static com.oracle.graal.hotspot.stubs.NewArrayStub.*; import static com.oracle.graal.hotspot.stubs.NewInstanceStub.*; import static com.oracle.graal.hotspot.stubs.OSRMigrationEndStub.*; @@ -228,9 +225,6 @@ registerStubCall(NEW_ARRAY); registerStubCall(UNWIND_EXCEPTION_TO_CALLER); registerStubCall(NEW_INSTANCE); - registerStubCall(LOG_PRIMITIVE); - registerStubCall(LOG_PRINTF); - registerStubCall(LOG_OBJECT); registerStubCall(THREAD_IS_INTERRUPTED); registerStubCall(VM_ERROR); @@ -250,10 +244,7 @@ registerCRuntimeCall(EXCEPTION_HANDLER_FOR_RETURN_ADDRESS, c.exceptionHandlerForReturnAddressAddress); registerCRuntimeCall(NEW_ARRAY_C, c.newArrayAddress); registerCRuntimeCall(NEW_INSTANCE_C, c.newInstanceAddress); - registerCRuntimeCall(LOG_PRIMITIVE_C, c.logPrimitiveAddress); - registerCRuntimeCall(LOG_PRINTF_C, c.logObjectAddress); registerCRuntimeCall(VM_MESSAGE_C, c.vmMessageAddress); - registerCRuntimeCall(LOG_OBJECT_C, c.logObjectAddress); registerCRuntimeCall(THREAD_IS_INTERRUPTED_C, c.threadIsInterruptedAddress); registerCRuntimeCall(VM_ERROR_C, c.vmErrorAddress); @@ -296,9 +287,6 @@ link(new UnwindExceptionToCallerStub(this, replacements, target, foreignCalls.get(UNWIND_EXCEPTION_TO_CALLER))); link(new VerifyOopStub(this, replacements, target, foreignCalls.get(VERIFY_OOP))); link(new OSRMigrationEndStub(this, replacements, target, foreignCalls.get(OSR_MIGRATION_END))); - link(new LogPrimitiveStub(this, replacements, target, foreignCalls.get(LOG_PRIMITIVE))); - link(new LogObjectStub(this, replacements, target, foreignCalls.get(LOG_OBJECT))); - link(new LogPrintfStub(this, replacements, target, foreignCalls.get(LOG_PRINTF))); link(new VMErrorStub(this, replacements, target, foreignCalls.get(VM_ERROR))); linkForeignCall(IDENTITY_HASHCODE, config.identityHashCodeAddress, replacements); @@ -310,6 +298,9 @@ linkForeignCall(WRITE_BARRIER_PRE, config.writeBarrierPreAddress, replacements); linkForeignCall(WRITE_BARRIER_POST, config.writeBarrierPostAddress, replacements); linkForeignCall(NEW_MULTI_ARRAY, config.newMultiArrayAddress, replacements); + linkForeignCall(LOG_PRINTF, config.logPrintfAddress, replacements); + linkForeignCall(LOG_OBJECT, config.logObjectAddress, replacements); + linkForeignCall(LOG_PRIMITIVE, config.logPrimitiveAddress, replacements); } private static void link(Stub stub) { diff -r 8e5461c4c82e -r 3e049a94d391 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/LogObjectStub.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/LogObjectStub.java Thu May 16 21:26:10 2013 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package com.oracle.graal.hotspot.stubs; - -import static com.oracle.graal.hotspot.replacements.HotSpotReplacementsUtil.*; -import static com.oracle.graal.hotspot.stubs.StubUtil.*; - -import com.oracle.graal.api.code.*; -import com.oracle.graal.api.meta.*; -import com.oracle.graal.graph.Node.ConstantNodeParameter; -import com.oracle.graal.graph.Node.NodeIntrinsic; -import com.oracle.graal.hotspot.*; -import com.oracle.graal.hotspot.meta.*; -import com.oracle.graal.nodes.extended.*; -import com.oracle.graal.nodes.spi.*; -import com.oracle.graal.replacements.*; -import com.oracle.graal.word.*; - -/** - * Stub called from {@link Log}. - */ -public class LogObjectStub extends CRuntimeStub { - - public LogObjectStub(final HotSpotRuntime runtime, Replacements replacements, TargetDescription target, HotSpotForeignCallLinkage linkage) { - super(runtime, replacements, target, linkage); - } - - @Snippet - private static void logObject(Object object, int flags) { - logObjectC(LOG_OBJECT_C, thread(), object, flags); - } - - public static final ForeignCallDescriptor LOG_OBJECT_C = descriptorFor(LogObjectStub.class, "logObjectC"); - - @NodeIntrinsic(ForeignCallNode.class) - public static native void logObjectC(@ConstantNodeParameter ForeignCallDescriptor logObjectC, Word thread, Object object, int flags); -} diff -r 8e5461c4c82e -r 3e049a94d391 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/LogPrimitiveStub.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/LogPrimitiveStub.java Thu May 16 21:26:10 2013 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package com.oracle.graal.hotspot.stubs; - -import static com.oracle.graal.hotspot.replacements.HotSpotReplacementsUtil.*; -import static com.oracle.graal.hotspot.stubs.StubUtil.*; - -import com.oracle.graal.api.code.*; -import com.oracle.graal.api.meta.*; -import com.oracle.graal.graph.Node.ConstantNodeParameter; -import com.oracle.graal.graph.Node.NodeIntrinsic; -import com.oracle.graal.hotspot.*; -import com.oracle.graal.hotspot.meta.*; -import com.oracle.graal.nodes.extended.*; -import com.oracle.graal.nodes.spi.*; -import com.oracle.graal.replacements.*; -import com.oracle.graal.word.*; - -/** - * Stub called from {@link Log}. - */ -public class LogPrimitiveStub extends CRuntimeStub { - - public LogPrimitiveStub(final HotSpotRuntime runtime, Replacements replacements, TargetDescription target, HotSpotForeignCallLinkage linkage) { - super(runtime, replacements, target, linkage); - } - - @Snippet - private static void logPrimitive(char typeChar, long value, boolean newline) { - logPrimitivefC(LOG_PRIMITIVE_C, thread(), typeChar, value, newline); - } - - public static final ForeignCallDescriptor LOG_PRIMITIVE_C = descriptorFor(LogPrimitiveStub.class, "logPrimitivefC"); - - @NodeIntrinsic(ForeignCallNode.class) - public static native void logPrimitivefC(@ConstantNodeParameter ForeignCallDescriptor logPrimitivefC, Word thread, char typeChar, long value, boolean newline); -} diff -r 8e5461c4c82e -r 3e049a94d391 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/LogPrintfStub.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/LogPrintfStub.java Thu May 16 21:26:10 2013 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package com.oracle.graal.hotspot.stubs; - -import static com.oracle.graal.hotspot.replacements.HotSpotReplacementsUtil.*; -import static com.oracle.graal.hotspot.stubs.StubUtil.*; - -import com.oracle.graal.api.code.*; -import com.oracle.graal.api.meta.*; -import com.oracle.graal.graph.Node.ConstantNodeParameter; -import com.oracle.graal.graph.Node.NodeIntrinsic; -import com.oracle.graal.hotspot.*; -import com.oracle.graal.hotspot.meta.*; -import com.oracle.graal.nodes.extended.*; -import com.oracle.graal.nodes.spi.*; -import com.oracle.graal.replacements.*; -import com.oracle.graal.word.*; - -/** - * Stub called from {@link Log}. - */ -public class LogPrintfStub extends CRuntimeStub { - - public LogPrintfStub(final HotSpotRuntime runtime, Replacements replacements, TargetDescription target, HotSpotForeignCallLinkage linkage) { - super(runtime, replacements, target, linkage); - } - - @Snippet - private static void logPrintf(String format, long v1, long v2, long v3) { - logPrintfC(LOG_PRINTF_C, thread(), format, v1, v2, v3); - } - - public static final ForeignCallDescriptor LOG_PRINTF_C = descriptorFor(LogPrintfStub.class, "logPrintfC"); - - @NodeIntrinsic(ForeignCallNode.class) - public static native void logPrintfC(@ConstantNodeParameter ForeignCallDescriptor logPrintfC, Word thread, String format, long v1, long v2, long v3); -}