InvalidByteCodeError.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 17 Jun 2015 06:22:00 +0100
branchjv
changeset 18487 8735bd9eee2f
parent 17911 a99f15c5efa5
permissions -rw-r--r--
Use inlined FNV1a hash for String ...and do not use __symbolHash(). Although currently the VM also uses FNV1a hash for Symbols, the __symbolHash() does not handle properly character with codepoint 0 (because '\0' is used as a string terminator). This causes problems with Unicode16/32Strigs whose version of FNV1a hash is using object size from header to determine string's end. Added Symbol>>hash that actually *uses* the __symbolHash() to make sure it's hash is the the same as used bu the VM. Symbols with zeroes are rare and there's no Unicode16/32Symbol. This commit fixes issue #65.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7587
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
     1
"
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
     2
 COPYRIGHT (c) 2003 by eXept Software AG
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
     3
              All Rights Reserved
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
     4
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
     5
 This software is furnished under a license and may be used
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
     6
 only in accordance with the terms of that license and with the
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
     8
 be provided or otherwise made available to, or used by, any
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
     9
 other person.  No title to or ownership of the software is
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    10
 hereby transferred.
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    11
"
7145
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libbasic' }"
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
InvalidCodeError subclass:#InvalidByteCodeError
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
	instanceVariableNames:''
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	classVariableNames:''
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	poolDictionaries:''
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	category:'Kernel-Exceptions-ExecutionErrors'
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
7231
5e1250b3f7f6 comments
Claus Gittinger <cg@exept.de>
parents: 7145
diff changeset
    21
!InvalidByteCodeError class methodsFor:'documentation'!
5e1250b3f7f6 comments
Claus Gittinger <cg@exept.de>
parents: 7145
diff changeset
    22
7587
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    23
copyright
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    24
"
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    25
 COPYRIGHT (c) 2003 by eXept Software AG
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    26
              All Rights Reserved
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    27
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    28
 This software is furnished under a license and may be used
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    29
 only in accordance with the terms of that license and with the
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    31
 be provided or otherwise made available to, or used by, any
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    32
 other person.  No title to or ownership of the software is
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    33
 hereby transferred.
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    34
"
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    35
!
89864caa2665 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7231
diff changeset
    36
7231
5e1250b3f7f6 comments
Claus Gittinger <cg@exept.de>
parents: 7145
diff changeset
    37
documentation
5e1250b3f7f6 comments
Claus Gittinger <cg@exept.de>
parents: 7145
diff changeset
    38
"
5e1250b3f7f6 comments
Claus Gittinger <cg@exept.de>
parents: 7145
diff changeset
    39
    Triggered by the VM, if an invalid bytecode is encountered in a method/block
5e1250b3f7f6 comments
Claus Gittinger <cg@exept.de>
parents: 7145
diff changeset
    40
"
5e1250b3f7f6 comments
Claus Gittinger <cg@exept.de>
parents: 7145
diff changeset
    41
! !
7145
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
7602
d048f13cd50a Exception classes initialize themself.
Stefan Vogel <sv@exept.de>
parents: 7587
diff changeset
    43
!InvalidByteCodeError class methodsFor:'initialization'!
d048f13cd50a Exception classes initialize themself.
Stefan Vogel <sv@exept.de>
parents: 7587
diff changeset
    44
d048f13cd50a Exception classes initialize themself.
Stefan Vogel <sv@exept.de>
parents: 7587
diff changeset
    45
initialize
d048f13cd50a Exception classes initialize themself.
Stefan Vogel <sv@exept.de>
parents: 7587
diff changeset
    46
    NotifierString := 'invalid byteCode in code-object - not executable'.
d048f13cd50a Exception classes initialize themself.
Stefan Vogel <sv@exept.de>
parents: 7587
diff changeset
    47
! !
d048f13cd50a Exception classes initialize themself.
Stefan Vogel <sv@exept.de>
parents: 7587
diff changeset
    48
7145
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
!InvalidByteCodeError class methodsFor:'documentation'!
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
version
17892
d86c8bd5ece3 Merged with CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17869
diff changeset
    52
    ^ '$Header: /cvs/stx/stx/libbasic/InvalidByteCodeError.st,v 1.4 2003/09/05 10:28:30 stefan Exp $'
17761
b0e5971141bc Added Lookup and BuiltinLookup classes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17711
diff changeset
    53
!
b0e5971141bc Added Lookup and BuiltinLookup classes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17711
diff changeset
    54
b0e5971141bc Added Lookup and BuiltinLookup classes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17711
diff changeset
    55
version_SVN
17911
a99f15c5efa5 Updated with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17910
diff changeset
    56
    ^ '$Id: InvalidByteCodeError.st 10761 2012-01-19 11:46:00Z vranyj1 $'
7145
a2a21668f317 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
! !
7602
d048f13cd50a Exception classes initialize themself.
Stefan Vogel <sv@exept.de>
parents: 7587
diff changeset
    58
17846
24edc476ac18 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17845
diff changeset
    59
InvalidByteCodeError initialize!
17892
d86c8bd5ece3 Merged with CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17869
diff changeset
    60
17910
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
    61
17911
a99f15c5efa5 Updated with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17910
diff changeset
    62