hotspot/src/cpu/aarch64/vm/methodHandles_aarch64.cpp
changeset 32820 ec181adbf3b1
parent 29195 7d6208ea1775
child 33105 294e48b4f704
equal deleted inserted replaced
32819:a815f78586d2 32820:ec181adbf3b1
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
     3  * Copyright (c) 2014, Red Hat Inc. All rights reserved.
     3  * Copyright (c) 2014, Red Hat Inc. All rights reserved.
     4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     5  *
     5  *
     6  * This code is free software; you can redistribute it and/or modify it
     6  * This code is free software; you can redistribute it and/or modify it
     7  * under the terms of the GNU General Public License version 2 only, as
     7  * under the terms of the GNU General Public License version 2 only, as
   186   // here's where control starts out:
   186   // here's where control starts out:
   187   __ align(CodeEntryAlignment);
   187   __ align(CodeEntryAlignment);
   188   address entry_point = __ pc();
   188   address entry_point = __ pc();
   189 
   189 
   190   if (VerifyMethodHandles) {
   190   if (VerifyMethodHandles) {
       
   191     assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
       
   192 
   191     Label L;
   193     Label L;
   192     BLOCK_COMMENT("verify_intrinsic_id {");
   194     BLOCK_COMMENT("verify_intrinsic_id {");
   193     __ ldrb(rscratch1, Address(rmethod, Method::intrinsic_id_offset_in_bytes()));
   195     __ ldrh(rscratch1, Address(rmethod, Method::intrinsic_id_offset_in_bytes()));
   194     __ cmp(rscratch1, (int) iid);
   196     __ cmp(rscratch1, (int) iid);
   195     __ br(Assembler::EQ, L);
   197     __ br(Assembler::EQ, L);
   196     if (iid == vmIntrinsics::_linkToVirtual ||
   198     if (iid == vmIntrinsics::_linkToVirtual ||
   197         iid == vmIntrinsics::_linkToSpecial) {
   199         iid == vmIntrinsics::_linkToSpecial) {
   198       // could do this for all kinds, but would explode assembly code size
   200       // could do this for all kinds, but would explode assembly code size