Skip to content

Commit 2df13c7

Browse files
committed
Upgrade v8 to 1.3.13
1 parent be3ddde commit 2df13c7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+2564
-569
lines changed

deps/v8/AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Alexandre Vassalotti <[email protected]>
1010
Craig Schlenter <[email protected]>
1111
Daniel Andersson <[email protected]>
1212
Daniel James <[email protected]>
13+
Jan de Mooij <[email protected]>
1314
Jay Freeman <[email protected]>
1415
Joel Stanley <[email protected]>
1516
Matt Hanselman <[email protected]>

deps/v8/ChangeLog

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
2009-09-23: Version 1.3.13
2+
3+
Fixed uninitialized memory problem.
4+
5+
Improved heap profiler support.
6+
7+
8+
2009-09-22: Version 1.3.12
9+
10+
Changed behavior of |function|.toString() on built-in functions to
11+
be compatible with other implementations. Patch by Jan de Mooij.
12+
13+
Added Object::IsDirty in the API.
14+
15+
Optimized array construction; it is now handled purely in native
16+
code.
17+
18+
[ES5] Made properties of the arguments array enumerable.
19+
20+
[ES5] Added test suite adapter for the es5conform test suite.
21+
22+
[ES5] Added Object.keys function.
23+
24+
125
2009-09-15: Version 1.3.11
226

327
Fixed crash in error reporting during bootstrapping.

deps/v8/LICENSE

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@ This license applies to all parts of V8 that are not externally
22
maintained libraries. The externally maintained libraries used by V8
33
are:
44

5-
- PCRE test suite, located in test/mjsunit/regexp-pcre.js. This is
6-
based on the test suite from PCRE-7.3, which is copyrighted by the
7-
University of Cambridge and Google, Inc. The copyright notice and
8-
license are embedded in regexp-pcre.js.
5+
- PCRE test suite, located in
6+
test/mjsunit/third_party/regexp-pcre.js. This is based on the
7+
test suite from PCRE-7.3, which is copyrighted by the University
8+
of Cambridge and Google, Inc. The copyright notice and license
9+
are embedded in regexp-pcre.js.
10+
11+
- Layout tests, located in test/mjsunit/third_party. These are
12+
based on layout tests from webkit.org which are copyrighted by
13+
Apple Computer, Inc. and released under a 3-clause BSD license.
914

1015
- Dtoa, located under third_party/dtoa. This code is copyrighted by
1116
David M. Gay and released under an MIT license.

deps/v8/include/v8.h

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1238,6 +1238,15 @@ class V8EXPORT Object : public Value {
12381238
bool SetHiddenValue(Handle<String> key, Handle<Value> value);
12391239
Local<Value> GetHiddenValue(Handle<String> key);
12401240
bool DeleteHiddenValue(Handle<String> key);
1241+
1242+
/**
1243+
* Returns true if this is an instance of an api function (one
1244+
* created from a function created from a function template) and has
1245+
* been modified since it was created. Note that this method is
1246+
* conservative and may return true for objects that haven't actually
1247+
* been modified.
1248+
*/
1249+
bool IsDirty();
12411250

12421251
/**
12431252
* Clone this object with a fast but shallow copy. Values will point
@@ -1537,19 +1546,19 @@ enum AccessType {
15371546

15381547
/**
15391548
* Returns true if cross-context access should be allowed to the named
1540-
* property with the given key on the global object.
1549+
* property with the given key on the host object.
15411550
*/
1542-
typedef bool (*NamedSecurityCallback)(Local<Object> global,
1551+
typedef bool (*NamedSecurityCallback)(Local<Object> host,
15431552
Local<Value> key,
15441553
AccessType type,
15451554
Local<Value> data);
15461555

15471556

15481557
/**
15491558
* Returns true if cross-context access should be allowed to the indexed
1550-
* property with the given index on the global object.
1559+
* property with the given index on the host object.
15511560
*/
1552-
typedef bool (*IndexedSecurityCallback)(Local<Object> global,
1561+
typedef bool (*IndexedSecurityCallback)(Local<Object> host,
15531562
uint32_t index,
15541563
AccessType type,
15551564
Local<Value> data);

deps/v8/src/SConscript

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,15 @@ SOURCES = {
4242
'debug.cc', 'debug-agent.cc', 'disassembler.cc', 'execution.cc',
4343
'factory.cc', 'flags.cc', 'frame-element.cc', 'frames.cc',
4444
'func-name-inferrer.cc', 'global-handles.cc', 'handles.cc',
45-
'hashmap.cc', 'heap.cc', 'ic.cc', 'interpreter-irregexp.cc',
46-
'jsregexp.cc', 'jump-target.cc', 'log.cc', 'log-utils.cc',
47-
'mark-compact.cc', 'messages.cc', 'objects.cc', 'oprofile-agent.cc',
48-
'parser.cc', 'property.cc', 'regexp-macro-assembler.cc',
49-
'regexp-macro-assembler-irregexp.cc', 'regexp-stack.cc',
50-
'register-allocator.cc', 'rewriter.cc', 'runtime.cc', 'scanner.cc',
51-
'scopeinfo.cc', 'scopes.cc', 'serialize.cc', 'snapshot-common.cc',
52-
'spaces.cc', 'string-stream.cc', 'stub-cache.cc', 'token.cc', 'top.cc',
45+
'hashmap.cc', 'heap.cc', 'heap-profiler.cc', 'ic.cc',
46+
'interpreter-irregexp.cc', 'jsregexp.cc', 'jump-target.cc',
47+
'log.cc', 'log-utils.cc', 'mark-compact.cc', 'messages.cc',
48+
'objects.cc', 'oprofile-agent.cc', 'parser.cc', 'property.cc',
49+
'regexp-macro-assembler.cc', 'regexp-macro-assembler-irregexp.cc',
50+
'regexp-stack.cc', 'register-allocator.cc', 'rewriter.cc',
51+
'runtime.cc', 'scanner.cc', 'scopeinfo.cc', 'scopes.cc',
52+
'serialize.cc', 'snapshot-common.cc', 'spaces.cc',
53+
'string-stream.cc', 'stub-cache.cc', 'token.cc', 'top.cc',
5354
'unicode.cc', 'usage-analyzer.cc', 'utils.cc', 'v8-counters.cc',
5455
'v8.cc', 'v8threads.cc', 'variables.cc', 'version.cc',
5556
'virtual-frame.cc', 'zone.cc'

deps/v8/src/api.cc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1191,6 +1191,7 @@ v8::TryCatch::TryCatch()
11911191
exception_(i::Heap::the_hole_value()),
11921192
message_(i::Smi::FromInt(0)),
11931193
is_verbose_(false),
1194+
can_continue_(true),
11941195
capture_message_(true),
11951196
js_handler_(NULL) {
11961197
i::Top::RegisterTryCatchHandler(this);
@@ -1988,7 +1989,8 @@ Local<Array> v8::Object::GetPropertyNames() {
19881989
ENTER_V8;
19891990
v8::HandleScope scope;
19901991
i::Handle<i::JSObject> self = Utils::OpenHandle(this);
1991-
i::Handle<i::FixedArray> value = i::GetKeysInFixedArrayFor(self);
1992+
i::Handle<i::FixedArray> value =
1993+
i::GetKeysInFixedArrayFor(self, i::INCLUDE_PROTOS);
19921994
// Because we use caching to speed up enumeration it is important
19931995
// to never change the result of the basic enumeration function so
19941996
// we clone the result.
@@ -2155,6 +2157,11 @@ void v8::Object::TurnOnAccessCheck() {
21552157
}
21562158

21572159

2160+
bool v8::Object::IsDirty() {
2161+
return Utils::OpenHandle(this)->IsDirty();
2162+
}
2163+
2164+
21582165
Local<v8::Object> v8::Object::Clone() {
21592166
ON_BAILOUT("v8::Object::Clone()", return Local<Object>());
21602167
ENTER_V8;

deps/v8/src/arm/builtins-arm.cc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,22 @@ void Builtins::Generate_Adaptor(MacroAssembler* masm, CFunctionId id) {
5151
}
5252

5353

54+
void Builtins::Generate_ArrayCode(MacroAssembler* masm) {
55+
// Just jump to the generic array code.
56+
Code* code = Builtins::builtin(Builtins::ArrayCodeGeneric);
57+
Handle<Code> array_code(code);
58+
__ Jump(array_code, RelocInfo::CODE_TARGET);
59+
}
60+
61+
62+
void Builtins::Generate_ArrayConstructCode(MacroAssembler* masm) {
63+
// Just jump to the generic construct code.
64+
Code* code = Builtins::builtin(Builtins::JSConstructStubGeneric);
65+
Handle<Code> generic_construct_stub(code);
66+
__ Jump(generic_construct_stub, RelocInfo::CODE_TARGET);
67+
}
68+
69+
5470
void Builtins::Generate_JSConstructCall(MacroAssembler* masm) {
5571
// ----------- S t a t e -------------
5672
// -- r0 : number of arguments

deps/v8/src/arm/codegen-arm.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4335,7 +4335,7 @@ static void CountLeadingZeros(
43354335
Register source,
43364336
Register scratch,
43374337
Register zeros) {
4338-
#ifdef __ARM_ARCH_5__
4338+
#ifdef CAN_USE_ARMV5_INSTRUCTIONS
43394339
__ clz(zeros, source); // This instruction is only supported after ARM5.
43404340
#else
43414341
__ mov(zeros, Operand(0));

deps/v8/src/arm/constants-arm.h

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,30 @@
4343
# define USE_THUMB_INTERWORK 1
4444
#endif
4545

46+
#if defined(__ARM_ARCH_5T__) || \
47+
defined(__ARM_ARCH_5TE__) || \
48+
defined(__ARM_ARCH_6__) || \
49+
defined(__ARM_ARCH_7A__) || \
50+
defined(__ARM_ARCH_7__)
51+
# define CAN_USE_ARMV5_INSTRUCTIONS 1
52+
# define CAN_USE_THUMB_INSTRUCTIONS 1
53+
#endif
54+
55+
#if defined(__ARM_ARCH_6__) || \
56+
defined(__ARM_ARCH_7A__) || \
57+
defined(__ARM_ARCH_7__)
58+
# define CAN_USE_ARMV6_INSTRUCTIONS 1
59+
#endif
60+
61+
#if defined(__ARM_ARCH_7A__) || \
62+
defined(__ARM_ARCH_7__)
63+
# define CAN_USE_ARMV7_INSTRUCTIONS 1
64+
#endif
65+
4666
// Simulator should support ARM5 instructions.
4767
#if !defined(__arm__)
48-
# define __ARM_ARCH_5__ 1
49-
# define __ARM_ARCH_5T__ 1
68+
# define CAN_USE_ARMV5_INSTRUCTIONS 1
69+
# define CAN_USE_THUMB_INSTRUCTIONS 1
5070
#endif
5171

5272
namespace assembler {

deps/v8/src/arm/macro-assembler-arm.cc

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -52,21 +52,15 @@ MacroAssembler::MacroAssembler(void* buffer, int size)
5252

5353

5454
// We do not support thumb inter-working with an arm architecture not supporting
55-
// the blx instruction (below v5t)
56-
#if defined(USE_THUMB_INTERWORK)
57-
#if !defined(__ARM_ARCH_5T__) && \
58-
!defined(__ARM_ARCH_5TE__) && \
59-
!defined(__ARM_ARCH_6__) && \
60-
!defined(__ARM_ARCH_7A__) && \
61-
!defined(__ARM_ARCH_7__)
62-
// add tests for other versions above v5t as required
63-
#error "for thumb inter-working we require architecture v5t or above"
64-
#endif
55+
// the blx instruction (below v5t). If you know what CPU you are compiling for
56+
// you can use -march=armv7 or similar.
57+
#if defined(USE_THUMB_INTERWORK) && !defined(CAN_USE_THUMB_INSTRUCTIONS)
58+
# error "For thumb inter-working we require an architecture which supports blx"
6559
#endif
6660

6761

6862
// Using blx may yield better code, so use it when required or when available
69-
#if defined(USE_THUMB_INTERWORK) || defined(__ARM_ARCH_5__)
63+
#if defined(USE_THUMB_INTERWORK) || defined(CAN_USE_ARMV5_INSTRUCTIONS)
7064
#define USE_BLX 1
7165
#endif
7266

0 commit comments

Comments
 (0)