Skip to content

Commit c7cb4da

Browse files
committed
Upgrade V8 to 2.1.0
1 parent c723acc commit c7cb4da

File tree

214 files changed

+20096
-11840
lines changed

Some content is hidden

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

214 files changed

+20096
-11840
lines changed

deps/v8/AUTHORS

+1
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+
Erich Ocean <[email protected]>
1314
Jan de Mooij <[email protected]>
1415
Jay Freeman <[email protected]>
1516
Joel Stanley <[email protected]>

deps/v8/ChangeLog

+29
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,32 @@
1+
2010-02-03: Version 2.1.0
2+
3+
Values are now always wrapped in objects when used as a receiver.
4+
(issue 223).
5+
6+
[ES5] Implemented Object.getOwnPropertyNames.
7+
8+
[ES5] Restrict JSON.parse to only accept strings that conforms to the
9+
JSON grammar.
10+
11+
Improvement of debugger agent (issue 549 and 554).
12+
13+
Fixed problem with skipped stack frame in profiles (issue 553).
14+
15+
Solaris support by Erich Ocean <[email protected]> and Ryan Dahl
16+
17+
18+
Fix a bug that Math.round() returns incorrect results for huge
19+
integers.
20+
21+
Fix enumeration order for objects created from some constructor
22+
functions (isue http://crbug.com/3867).
23+
24+
Fix arithmetic on some integer constants (issue 580).
25+
26+
Numerous performance improvements including porting of previous IA-32
27+
optimizations to x64 and ARM architectures.
28+
29+
130
2010-01-14: Version 2.0.6
231

332
Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,

deps/v8/SConstruct

+11-13
Original file line numberDiff line numberDiff line change
@@ -280,18 +280,12 @@ V8_EXTRA_FLAGS = {
280280
},
281281
'msvc': {
282282
'all': {
283-
'WARNINGFLAGS': ['/WX', '/wd4355', '/wd4800']
283+
'WARNINGFLAGS': ['/W3', '/WX', '/wd4355', '/wd4800']
284284
},
285285
'library:shared': {
286286
'CPPDEFINES': ['BUILDING_V8_SHARED'],
287287
'LIBS': ['winmm', 'ws2_32']
288288
},
289-
'arch:ia32': {
290-
'WARNINGFLAGS': ['/W3']
291-
},
292-
'arch:x64': {
293-
'WARNINGFLAGS': ['/W3']
294-
},
295289
'arch:arm': {
296290
'CPPDEFINES': ['V8_TARGET_ARCH_ARM'],
297291
# /wd4996 is to silence the warning about sscanf
@@ -317,7 +311,8 @@ MKSNAPSHOT_EXTRA_FLAGS = {
317311
'LIBS': ['execinfo', 'pthread']
318312
},
319313
'os:solaris': {
320-
'LIBS': ['pthread', 'socket', 'nsl', 'rt']
314+
'LIBS': ['m', 'pthread', 'socket', 'nsl', 'rt'],
315+
'LINKFLAGS': ['-mt']
321316
},
322317
'os:openbsd': {
323318
'LIBS': ['execinfo', 'pthread']
@@ -369,7 +364,8 @@ CCTEST_EXTRA_FLAGS = {
369364
'LIBS': ['execinfo', 'pthread']
370365
},
371366
'os:solaris': {
372-
'LIBS': ['pthread', 'socket', 'nsl', 'rt']
367+
'LIBS': ['m', 'pthread', 'socket', 'nsl', 'rt'],
368+
'LINKFLAGS': ['-mt']
373369
},
374370
'os:openbsd': {
375371
'LIBS': ['execinfo', 'pthread']
@@ -431,7 +427,8 @@ SAMPLE_FLAGS = {
431427
},
432428
'os:solaris': {
433429
'LIBPATH' : ['/usr/local/lib'],
434-
'LIBS': ['pthread', 'socket', 'nsl', 'rt']
430+
'LIBS': ['m', 'pthread', 'socket', 'nsl', 'rt'],
431+
'LINKFLAGS': ['-mt']
435432
},
436433
'os:openbsd': {
437434
'LIBPATH' : ['/usr/local/lib'],
@@ -543,7 +540,8 @@ D8_FLAGS = {
543540
'LIBS': ['pthread'],
544541
},
545542
'os:solaris': {
546-
'LIBS': ['pthread', 'socket', 'nsl', 'rt']
543+
'LIBS': ['m', 'pthread', 'socket', 'nsl', 'rt'],
544+
'LINKFLAGS': ['-mt']
547545
},
548546
'os:openbsd': {
549547
'LIBS': ['pthread'],
@@ -693,7 +691,7 @@ SIMPLE_OPTIONS = {
693691
def GetOptions():
694692
result = Options()
695693
result.Add('mode', 'compilation mode (debug, release)', 'release')
696-
result.Add('sample', 'build sample (shell, process)', '')
694+
result.Add('sample', 'build sample (shell, process, lineprocessor)', '')
697695
result.Add('env', 'override environment settings (NAME0:value0,NAME1:value1,...)', '')
698696
result.Add('importenv', 'import environment settings (NAME0,NAME1,...)', '')
699697
for (name, option) in SIMPLE_OPTIONS.iteritems():
@@ -761,7 +759,7 @@ def IsLegal(env, option, values):
761759
def VerifyOptions(env):
762760
if not IsLegal(env, 'mode', ['debug', 'release']):
763761
return False
764-
if not IsLegal(env, 'sample', ["shell", "process"]):
762+
if not IsLegal(env, 'sample', ["shell", "process", "lineprocessor"]):
765763
return False
766764
if not IsLegal(env, 'regexp', ["native", "interpreted"]):
767765
return False

deps/v8/include/v8-debug.h

+40-1
Original file line numberDiff line numberDiff line change
@@ -224,9 +224,11 @@ class EXPORT Debug {
224224
* be processed. Note that debug messages will only be processed if there is
225225
* a V8 break. This can happen automatically by using the option
226226
* --debugger-auto-break.
227+
* \param provide_locker requires that V8 acquires v8::Locker for you before
228+
* calling handler
227229
*/
228230
static void SetDebugMessageDispatchHandler(
229-
DebugMessageDispatchHandler handler);
231+
DebugMessageDispatchHandler handler, bool provide_locker = false);
230232

231233
/**
232234
* Run a JavaScript function in the debugger.
@@ -263,6 +265,43 @@ class EXPORT Debug {
263265
*/
264266
static bool EnableAgent(const char* name, int port,
265267
bool wait_for_connection = false);
268+
269+
/**
270+
* Makes V8 process all pending debug messages.
271+
*
272+
* From V8 point of view all debug messages come asynchronously (e.g. from
273+
* remote debugger) but they all must be handled synchronously: V8 cannot
274+
* do 2 things at one time so normal script execution must be interrupted
275+
* for a while.
276+
*
277+
* Generally when message arrives V8 may be in one of 3 states:
278+
* 1. V8 is running script; V8 will automatically interrupt and process all
279+
* pending messages (however auto_break flag should be enabled);
280+
* 2. V8 is suspended on debug breakpoint; in this state V8 is dedicated
281+
* to reading and processing debug messages;
282+
* 3. V8 is not running at all or has called some long-working C++ function;
283+
* by default it means that processing of all debug message will be deferred
284+
* until V8 gets control again; however, embedding application may improve
285+
* this by manually calling this method.
286+
*
287+
* It makes sense to call this method whenever a new debug message arrived and
288+
* V8 is not already running. Method v8::Debug::SetDebugMessageDispatchHandler
289+
* should help with the former condition.
290+
*
291+
* Technically this method in many senses is equivalent to executing empty
292+
* script:
293+
* 1. It does nothing except for processing all pending debug messages.
294+
* 2. It should be invoked with the same precautions and from the same context
295+
* as V8 script would be invoked from, because:
296+
* a. with "evaluate" command it can do whatever normal script can do,
297+
* including all native calls;
298+
* b. no other thread should call V8 while this method is running
299+
* (v8::Locker may be used here).
300+
*
301+
* "Evaluate" debug command behavior currently is not specified in scope
302+
* of this method.
303+
*/
304+
static void ProcessDebugMessages();
266305
};
267306

268307

0 commit comments

Comments
 (0)