src/cpu/mips/vm/vm_version_mips.cpp

changeset 9459
814e9e335067
parent 9251
1ccc5a3b3671
child 9578
191e90d9878f
     1.1 --- a/src/cpu/mips/vm/vm_version_mips.cpp	Thu Feb 21 10:14:02 2019 +0800
     1.2 +++ b/src/cpu/mips/vm/vm_version_mips.cpp	Tue Mar 05 17:00:17 2019 +0800
     1.3 @@ -1,6 +1,6 @@
     1.4  /*
     1.5   * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
     1.6 - * Copyright (c) 2015, 2018, Loongson Technology. All rights reserved.
     1.7 + * Copyright (c) 2015, 2019, Loongson Technology. All rights reserved.
     1.8   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.9   *
    1.10   * This code is free software; you can redistribute it and/or modify it
    1.11 @@ -42,38 +42,8 @@
    1.12  #ifdef TARGET_OS_FAMILY_bsd
    1.13  # include "os_bsd.inline.hpp"
    1.14  #endif
    1.15 -/*
    1.16 -int VM_Version::_cpu;
    1.17 -int VM_Version::_model;
    1.18 -int VM_Version::_stepping;
    1.19 -int VM_Version::_cpuFeatures;
    1.20 -const char*           VM_Version::_features_str = "";
    1.21 -VM_Version::CpuidInfo VM_Version::_cpuid_info   = { 0, };
    1.22 -
    1.23 -static BufferBlob* stub_blob;
    1.24 -static const int stub_size = 300;
    1.25 -
    1.26 -extern "C" {
    1.27 -  typedef void (*getPsrInfo_stub_t)(void*);
    1.28 -}
    1.29 -static getPsrInfo_stub_t getPsrInfo_stub = NULL;
    1.30 -*/
    1.31  int VM_Version::_features = VM_Version::unknown_m;
    1.32  const char* VM_Version::_features_str = "";
    1.33 -/*
    1.34 -class VM_Version_StubGenerator: public StubCodeGenerator {
    1.35 - public:
    1.36 -
    1.37 -  VM_Version_StubGenerator(CodeBuffer *c) : StubCodeGenerator(c) {}
    1.38 -
    1.39 -  address generate_getPsrInfo() {
    1.40 -  };
    1.41 -};
    1.42 -
    1.43 -
    1.44 -void VM_Version::get_processor_features() {
    1.45 -}
    1.46 -*/
    1.47  void VM_Version::initialize() {
    1.48  
    1.49    _features = determine_features();
    1.50 @@ -96,15 +66,13 @@
    1.51        MaxVectorSize = 8;
    1.52      }
    1.53    }
    1.54 -/*
    1.55 - *
    1.56 - * 2017/5/17:
    1.57 - * Vector optimization of MIPS works in most cases, but cannot pass hotspot/test/compiler/6340864/TestFloatVect.java.
    1.58 - * Vector optimization was closed by default.
    1.59 - * The reasons:
    1.60 - * 1. The kernel does not have emulation of PS instructions yet, so the emulation of PS instructions must be done in JVM, see JVM_handle_linux_signal.
    1.61 - * 2. It seems the gcc4.4.7 had some bug related to ucontext_t, which is used in signal handler to emulate PS instructions.
    1.62 - */
    1.63 +  //
    1.64 +  // Vector optimization of MIPS works in most cases, but cannot pass hotspot/test/compiler/6340864/TestFloatVect.java.
    1.65 +  // Vector optimization was closed by default.
    1.66 +  // The reasons:
    1.67 +  // 1. The kernel does not have emulation of PS instructions yet, so the emulation of PS instructions must be done in JVM, see JVM_handle_linux_signal.
    1.68 +  // 2. It seems the gcc4.4.7 had some bug related to ucontext_t, which is used in signal handler to emulate PS instructions.
    1.69 +  //
    1.70    if (FLAG_IS_DEFAULT(MaxVectorSize)) {
    1.71      MaxVectorSize = 0;
    1.72    }

mercurial