comparison src/share/vm/interpreter/bytecodeInterpreter.hpp @ 1509:68d6683eaef7

6949423: remove tagged stack interpreter for Zero Summary: Missed Zero changes for 6943304. Reviewed-by: twisti Contributed-by: Gary Benson <gbenson@redhat.com>
author twisti
date Tue, 04 May 2010 02:33:59 -0700
parents 0fbdb4381b99
children c18cbe5936b8
comparison
equal deleted inserted replaced
1508:2ffde6cfe049 1509:68d6683eaef7
1 /* 1 /*
2 * Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved. 2 * Copyright 2002-2010 Sun Microsystems, Inc. All Rights Reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 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 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
508 static jfloat stack_float(intptr_t *tos, int offset); 508 static jfloat stack_float(intptr_t *tos, int offset);
509 static oop stack_object(intptr_t *tos, int offset); 509 static oop stack_object(intptr_t *tos, int offset);
510 static jdouble stack_double(intptr_t *tos, int offset); 510 static jdouble stack_double(intptr_t *tos, int offset);
511 static jlong stack_long(intptr_t *tos, int offset); 511 static jlong stack_long(intptr_t *tos, int offset);
512 512
513 static void tag_stack(intptr_t *tos, frame::Tag tag, int offset);
514
515 // only used for value types 513 // only used for value types
516 static void set_stack_slot(intptr_t *tos, address value, int offset); 514 static void set_stack_slot(intptr_t *tos, address value, int offset);
517 static void set_stack_int(intptr_t *tos, int value, int offset); 515 static void set_stack_int(intptr_t *tos, int value, int offset);
518 static void set_stack_float(intptr_t *tos, jfloat value, int offset); 516 static void set_stack_float(intptr_t *tos, jfloat value, int offset);
519 static void set_stack_object(intptr_t *tos, oop value, int offset); 517 static void set_stack_object(intptr_t *tos, oop value, int offset);
534 static jdouble locals_double(intptr_t* locals, int offset); 532 static jdouble locals_double(intptr_t* locals, int offset);
535 static jlong locals_long(intptr_t* locals, int offset); 533 static jlong locals_long(intptr_t* locals, int offset);
536 534
537 static address locals_long_at(intptr_t* locals, int offset); 535 static address locals_long_at(intptr_t* locals, int offset);
538 static address locals_double_at(intptr_t* locals, int offset); 536 static address locals_double_at(intptr_t* locals, int offset);
539
540 static void tag_locals(intptr_t *locals, frame::Tag tag, int offset);
541 537
542 static void set_locals_slot(intptr_t *locals, address value, int offset); 538 static void set_locals_slot(intptr_t *locals, address value, int offset);
543 static void set_locals_int(intptr_t *locals, jint value, int offset); 539 static void set_locals_int(intptr_t *locals, jint value, int offset);
544 static void set_locals_float(intptr_t *locals, jfloat value, int offset); 540 static void set_locals_float(intptr_t *locals, jfloat value, int offset);
545 static void set_locals_object(intptr_t *locals, oop value, int offset); 541 static void set_locals_object(intptr_t *locals, oop value, int offset);
555 551
556 // Support for dup and swap 552 // Support for dup and swap
557 static void copy_stack_slot(intptr_t *tos, int from_offset, int to_offset); 553 static void copy_stack_slot(intptr_t *tos, int from_offset, int to_offset);
558 554
559 #ifndef PRODUCT 555 #ifndef PRODUCT
560 static void verify_locals_tag(intptr_t *locals, frame::Tag tag, int offset);
561 static void verify_stack_tag(intptr_t *tos, frame::Tag tag, int offset);
562 static const char* C_msg(BytecodeInterpreter::messages msg); 556 static const char* C_msg(BytecodeInterpreter::messages msg);
563 void print(); 557 void print();
564 #endif // PRODUCT 558 #endif // PRODUCT
565 559
566 // Platform fields/methods 560 // Platform fields/methods