< prev index next >

src/share/vm/interpreter/templateTable.hpp

Print this page


   1 /*
   2  * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


 324  static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(bool arg    ), bool arg    );
 325   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(TosState tos), TosState tos);
 326   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(Operation op), Operation op);
 327   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(Condition cc), Condition cc);
 328 
 329   friend class Template;
 330 
 331   // InterpreterMacroAssembler::is_a(), etc., need TemplateTable::call_VM().
 332   friend class InterpreterMacroAssembler;
 333 
 334  public:
 335   // Initialization
 336   static void initialize();
 337   static void pd_initialize();
 338 
 339   // Templates
 340   static Template* template_for     (Bytecodes::Code code)  { Bytecodes::check     (code); return &_template_table     [code]; }
 341   static Template* template_for_wide(Bytecodes::Code code)  { Bytecodes::wide_check(code); return &_template_table_wide[code]; }
 342 
 343   // Platform specifics
 344 #ifdef TARGET_ARCH_MODEL_x86_32


 345 # include "templateTable_x86_32.hpp"
 346 #endif
 347 #ifdef TARGET_ARCH_MODEL_x86_64
 348 # include "templateTable_x86_64.hpp"
 349 #endif
 350 #ifdef TARGET_ARCH_MODEL_sparc
 351 # include "templateTable_sparc.hpp"
 352 #endif
 353 #ifdef TARGET_ARCH_MODEL_zero
 354 # include "templateTable_zero.hpp"
 355 #endif
 356 #ifdef TARGET_ARCH_MODEL_arm
 357 # include "templateTable_arm.hpp"
 358 #endif
 359 #ifdef TARGET_ARCH_MODEL_ppc_32
 360 # include "templateTable_ppc_32.hpp"
 361 #endif
 362 #ifdef TARGET_ARCH_MODEL_ppc_64
 363 # include "templateTable_ppc_64.hpp"
 364 #endif
 365 #ifdef TARGET_ARCH_MODEL_aarch64
 366 # include "templateTable_aarch64.hpp"
 367 #endif
 368 
 369 };
 370 #endif /* !CC_INTERP */
 371 
 372 #endif // SHARE_VM_INTERPRETER_TEMPLATETABLE_HPP
   1 /*
   2  * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


 324  static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(bool arg    ), bool arg    );
 325   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(TosState tos), TosState tos);
 326   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(Operation op), Operation op);
 327   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(Condition cc), Condition cc);
 328 
 329   friend class Template;
 330 
 331   // InterpreterMacroAssembler::is_a(), etc., need TemplateTable::call_VM().
 332   friend class InterpreterMacroAssembler;
 333 
 334  public:
 335   // Initialization
 336   static void initialize();
 337   static void pd_initialize();
 338 
 339   // Templates
 340   static Template* template_for     (Bytecodes::Code code)  { Bytecodes::check     (code); return &_template_table     [code]; }
 341   static Template* template_for_wide(Bytecodes::Code code)  { Bytecodes::wide_check(code); return &_template_table_wide[code]; }
 342 
 343   // Platform specifics
 344 #if defined TEMPLATETABLE_MD_HPP
 345 # include TEMPLATETABLE_MD_HPP
 346 #elif defined TARGET_ARCH_MODEL_x86_32
 347 # include "templateTable_x86_32.hpp"
 348 #elif defined TARGET_ARCH_MODEL_x86_64

 349 # include "templateTable_x86_64.hpp"
 350 #elif defined TARGET_ARCH_MODEL_sparc

 351 # include "templateTable_sparc.hpp"
 352 #elif defined TARGET_ARCH_MODEL_zero

 353 # include "templateTable_zero.hpp"
 354 #elif defined TARGET_ARCH_MODEL_ppc_64







 355 # include "templateTable_ppc_64.hpp"
 356 #elif defined TARGET_ARCH_MODEL_aarch64

 357 # include "templateTable_aarch64.hpp"
 358 #endif
 359 
 360 };
 361 #endif /* !CC_INTERP */
 362 
 363 #endif // SHARE_VM_INTERPRETER_TEMPLATETABLE_HPP
< prev index next >