fschneider@chromium.org
64bc213c2a
Check for negative 0 when deciding whether a constant has type Integer32.
...
Review URL: http://codereview.chromium.org/1225005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 16:37:27 +00:00
fschneider@chromium.org
764d8a9530
Fix Win32 build.
...
Use correct constants for min/max-int.
Review URL: http://codereview.chromium.org/1239004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 15:55:15 +00:00
fschneider@chromium.org
51495beb78
Store type information with constants.
...
Instead of testing the value of a constant frame element to determine
the type we compute its type information at construction time.
This speeds up querying the type information during code generation.
This change also adds support for Integer32 constants and sets
the type information accordingly.
Review URL: http://codereview.chromium.org/1277001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 15:29:41 +00:00
kmillikin@chromium.org
c0c1ebcaa4
Revert "Inline floating point compare"
...
This reverts svn revisons r4220 and r4233.
Review URL: http://codereview.chromium.org/1279001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 14:26:14 +00:00
ager@chromium.org
652335b995
Implement support for reattaching a global object to a context. This
...
can be used to use the same global object for different contexts at
different points in time.
Review URL: http://codereview.chromium.org/1207003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 13:24:46 +00:00
pfeldman@chromium.org
54f0a5b221
Expose debug context into the native code. This change is doing several things:
...
1) Exposes Local<Context> v8::Debug::GetDebugContext().
Rationale: We can already get debugger context instance using various workarounds,
so exposing it explicitly in the API only makes things more clear.
2) Removes debugger.HasJavaScriptFrames() requirement for entering debugger context.
Rationale: Sometimes we'd like to call into debugger from the external native code.
3) Makes Debugger v8::Debug::Call execute on debugger context's global object.
Rationale: This is somewhat arguable, but temporary measure. We've agreed that we
should introduce a DebugAPI object that would expose necessary API in the debug-delay.
The problem is that it would take some time to define this API and it is not really
convenient to do that on the v8 land given the difference in v8 / host lifecycle.
The plan is to compose this API as a Debug.* wrapper outside v8 by means of exposing
debugger context's global object here, and once API settles down, upstream it to v8 and
start making Debug::Calls on this new DebugAPI object instead.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 13:09:02 +00:00
fschneider@chromium.org
3503ee2ae4
Add primitive type and string type to the number info.
...
This change adds two new type attributes to the lattice
defined in the class NumberInfo. Currently the new types
are not used yet.
I plan to rename NumberInfo into TypeInfo as a separate change.
Review URL: http://codereview.chromium.org/1249002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 12:34:27 +00:00
ager@chromium.org
71e792a82c
Revert revisions 4241, 4243 and 4247 because of Windows build errors
...
and test failures.
TBR=serya@chromium.org
Review URL: http://codereview.chromium.org/1269003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 11:48:01 +00:00
kmillikin@chromium.org
5e4dfe85d0
Fix presubmit error (multiple statements on the same line).
...
TBR=fschneider@chromium.org
Review URL: http://codereview.chromium.org/1257002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 11:22:56 +00:00
serya@chromium.org
b5127faa57
Fix conform test.
...
Review URL: http://codereview.chromium.org/1217007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 11:11:33 +00:00
kmillikin@chromium.org
15fd3ea54c
Initial support for marking live code.
...
As part of aggressive dead code elimination, we initially assume all
flow-graph instructions are not live. We mark those that are critical
and recursively all their children. The children of variable
references (VariableProxies occurring as rvalues) include all their
reaching definitions.
Review URL: http://codereview.chromium.org/1159005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 10:36:18 +00:00
lrn@chromium.org
7a86128753
Added flag for seeding the random generator deterministically.
...
Review URL: http://codereview.chromium.org/1247003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 10:32:23 +00:00
serya@chromium.org
d219d68b77
Fixing build in debug mode.
...
Review URL: http://codereview.chromium.org/1225003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 09:48:58 +00:00
antonm@chromium.org
ce73259f7e
Pass the proper number of fields to update remembered set for.
...
By oversight kPointerSize more fields were passed.
BUG=39128
Review URL: http://codereview.chromium.org/1265001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 09:26:28 +00:00
serya@chromium.org
2bd9919788
StringToDouble rewritten not using String::Get and memory allocations.
...
It converts the number to "canonical" form removing insignificant digits,
leading zerroes and spaces what guarantees to fit a fixed size buffer and
does not changes result of strtod.
Review URL: http://codereview.chromium.org/1096002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 08:51:03 +00:00
kmillikin@chromium.org
5c8d66a53d
Prepare push to trunk. Now working on version 2.1.9.
...
Review URL: http://codereview.chromium.org/1217006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 08:12:14 +00:00
whesse@chromium.org
c3b5e22764
Fix an error in optimized modulus operator, add unit test.
...
Review URL: http://codereview.chromium.org/1118008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 15:18:00 +00:00
sgjesse@chromium.org
01bcdbcdb1
MIPS simple function calls
...
This lands http://codereview.chromium.org/1018001 .
Patch by Alexandre Rames <alexandre.rames@gmail.com> from Sigma Designs Inc.
Mads, please just have to look at the new flag --disable-native-files (two files not in the mips directory).
Review URL: http://codereview.chromium.org/1140004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 15:04:45 +00:00
sgjesse@chromium.org
0c6a3f4864
Fix GetName and Print for CompareStub
...
Review URL: http://codereview.chromium.org/1108006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 14:59:36 +00:00
oleg@chromium.org
fe6522e80d
Fix bug http://code.google.com/p/v8/issues/detail?id=659 . Move the limits check for date before the time zone offset is applied.
...
Review URL: http://codereview.chromium.org/1075016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 14:47:02 +00:00
erik.corry@gmail.com
3672624b45
Fix pop push optimization to work with partial snapshots (correct
...
registration of external references in Proxy objects).
I moved the declaration of the two functions to stub-cache.h
because with all the types they use it's hard to declare them
anywhere else. But the actual definition is still in runtime.cc
near to the place where they are used.
Review URL: http://codereview.chromium.org/1079012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 14:33:42 +00:00
whesse@chromium.org
a191788398
Add binary operations with constants to the safe-int32 expression compiler.
...
Review URL: http://codereview.chromium.org/1089004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 14:24:41 +00:00
antonm@chromium.org
d1c0dd177e
Trim underlying fixed array by one element from the left when doing shift.
...
For now this trick is only done to objects in new space, see comments
for reasons.
Review URL: http://codereview.chromium.org/1076010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 14:05:16 +00:00
vegorov@chromium.org
b7833cb5f1
Port of optimized ICs for external and pixel arrays from ia32 to ARM.
...
Review URL: http://codereview.chromium.org/993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 13:38:04 +00:00
kmillikin@chromium.org
65115c2857
Mark all loop conditions.
...
Previously we marked compare operations that occurred as for loop
conditions so as to avoid inlining the floating-point code for them.
Begin marking all expressions that occur as any loop condition
(because they are never dead code).
Review URL: http://codereview.chromium.org/1074009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 13:36:38 +00:00
mikhail.naganov@gmail.com
4d1f8cbfd6
New GCCallbacks with additional parameters.
...
Author: Ilya Tikhonovsky <loislo@chromium.org>
Original issue: http://codereview.chromium.org/1094002
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/1165004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 13:11:44 +00:00
fschneider@chromium.org
04a5802d80
Add iterative primitive type analysis.
...
This change adds a data-flow pass to statically determine
if a variable contains a primitive type.
It requires building the flow graph and computing reaching
definitions as pre-requisites. The analysis annotates all
VariableProxy nodes with the result.
Review URL: http://codereview.chromium.org/1132005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 13:01:37 +00:00
oleg@chromium.org
f08648dc4c
Modify FastD2I to use static_cast instead of lrint(). Benchmarks show that it's much faster this way.
...
Review URL: http://codereview.chromium.org/1128010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 12:48:42 +00:00
kasperl@chromium.org
9dfb673fab
Remove the last of the obsolete *-delay.js files. This one
...
is replaced by src/liveedit-debugger.js.
Review URL: http://codereview.chromium.org/1158005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 12:36:41 +00:00
sgjesse@chromium.org
9240342ad6
Inline floating point compare
...
Inline floating point compare instead of calling the stub when the following conditions are met:
* Code is in a loop
* Compare is not a for loop condition
* Compare is not an equal comparison
This inlined code handles heap number to heap number and heap number to smi compare. It can also handle smi to smi compare, but whenever there is a chance of comparing two smis the smi compare is inlined before the inlined floating point compare. Support for non SSE2 hardware is included.
A new set of variants of the compare stub without the floating point comparison code is called if the inline comapre fails due to the operands not beeing heap numbers or smis.
The virtual frame has been extended with a branch taking two live results to be carried through to the destination. This makes this change much simpler as the inlined code have two live results in registers and a number of bailouts.
CompareStub::GetName needs to be updated as well. I will do that as a separate change.
Also inlined equality check if both operands can't be NaN. This can only provide positive equals if it is the same object.
Review URL: http://codereview.chromium.org/1117011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 12:36:31 +00:00
kasperl@chromium.org
c7d9885ba1
Bring back source line accidentally removed in r4217.
...
Review URL: http://codereview.chromium.org/1153008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 12:31:52 +00:00
kasperl@chromium.org
73470162de
Fix issue 658 by adapting the d8.cc code to the new types of
...
scripts (either a JSFunction or a SharedFunctionInfo).
Review URL: http://codereview.chromium.org/1077010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 12:23:15 +00:00
kasperl@chromium.org
7d6a3b433f
Merge the partial_snapshots branch back into bleeding_edge. For
...
now, the custom call generator stuff is disabled.
Review URL: http://codereview.chromium.org/1094014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 11:40:38 +00:00
kasperl@chromium.org
c2427115db
Fix issue 656 on ARM.
...
TBR=iposva@chromium.org
Review URL: http://codereview.chromium.org/1117010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 07:14:25 +00:00
kasperl@chromium.org
4ddc744f47
Fix issue 656 on x64.
...
TBR=iposva@chromium.org
Review URL: http://codereview.chromium.org/1081014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 06:58:48 +00:00
kasperl@chromium.org
aa55407a70
Fix issue 656 on x86.
...
TBR=iposva@chromium.org
Review URL: http://codereview.chromium.org/1159004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 06:40:29 +00:00
iposva@chromium.org
a1ec99c05d
- Remove function boilerplate objects and use SharedFunctionInfos in
...
their place.
- Add one field to the SharedFunctionInfo to remember the number of
literals used in this function.
Review URL: http://codereview.chromium.org/669240
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 06:04:44 +00:00
sgjesse@chromium.org
ef2e46d1cc
Use bit fields to calculate compare stub minor key
...
Review URL: http://codereview.chromium.org/1081010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-22 14:31:28 +00:00
mikhail.naganov@gmail.com
71754ebe81
Add multithreading test for SamplingCircularQueue, fix implementation.
...
This is for the case of Linux, where sampling is done using SIGPROF
signal handler which is executed in the context of an interrupted
thread. In this case, my previous implementation with TLS doesn't
work.
Review URL: http://codereview.chromium.org/1138004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-22 14:23:45 +00:00
kmillikin@chromium.org
82a673b8bf
Include initial definitions in reaching definitions analysis.
...
Include the initial definitions for parameters on input to the
function, and the initial definition of stack-allocated locals as
undefined.
Review URL: http://codereview.chromium.org/1155006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-22 14:07:18 +00:00
fschneider@chromium.org
43fd945eee
Loop peeling for inner loops.
...
This change adds the option to peel off the first iteration of inner loops.
Loop peeling is off by default and can enabled by a flag. It also requires building a flow graph.
As part of this I added the possibility to clone AST nodes.
Review URL: http://codereview.chromium.org/998001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-22 13:21:32 +00:00
whesse@chromium.org
eebcea1473
Prepare push to trunk. Now working on version 2.1.8.
...
Review URL: http://codereview.chromium.org/1164001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-22 12:19:18 +00:00
whesse@chromium.org
fde714bb5b
Revert change 4201.
...
Review URL: http://codereview.chromium.org/1113007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-22 12:16:11 +00:00
fschneider@chromium.org
03089b6644
Fix code generation for fast smi loops to support parameters as well.
...
This change fixes an assert we hit when we recognized a fast smi loop
with a parameter as the loop variable.
BUG=650
Review URL: http://codereview.chromium.org/1138003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-22 11:55:12 +00:00
kaznacheev@chromium.org
fafd5dd599
Porting binary op ICs to arm
...
Review URL: http://codereview.chromium.org/883001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-22 11:07:22 +00:00
peter.rybin@gmail.com
898b0ca759
Fix broken build: disable stale assert
...
Review URL: http://codereview.chromium.org/1094008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-21 00:23:03 +00:00
peter.rybin@gmail.com
386b67862f
Explicitly declare temporary cooked frames state
...
Review URL: http://codereview.chromium.org/995006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-20 22:37:15 +00:00
erik.corry@gmail.com
1b7df23f7c
Implement function calls on ARM using the blx instruction when
...
available. Using blx will allow the CPU to predict the return address
fo the function, resulting in better overall performamce.
This is a copy of http://codereview.chromium.org/1113002 by
rodolph.perfetta@googlemail.com
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 14:05:11 +00:00
mikhail.naganov@gmail.com
89b040894e
Add a few tests to ProfilerEventsProcessor.
...
Review URL: http://codereview.chromium.org/1084009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 13:51:01 +00:00
mikhail.naganov@gmail.com
cc43970611
Really fix ARM build (this time verified locally.)
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/1154001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 13:49:28 +00:00
mikhail.naganov@gmail.com
f7ba38332b
Fix ARM build (GCC 3 'all member functions in class are private' warning.)
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/1084010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 13:07:43 +00:00
fschneider@chromium.org
ebf9e6e8e2
Remove unused LivenessAnalyzer class.
...
Also remove unused attributes related to it from the ast.
Review URL: http://codereview.chromium.org/1117003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 12:54:35 +00:00
ager@chromium.org
a8a7a74bb3
Fix presubmit errors.
...
I will lint my code, I will lint my code, I will lint my code. :)
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/1115007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 12:53:55 +00:00
ager@chromium.org
1bf60267e7
Port number-dictionary probing in generated code to x64.
...
BUG=640
Review URL: http://codereview.chromium.org/1113001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 12:26:45 +00:00
floitschV8@gmail.com
05beab6b1f
Rename files containing underscores.
...
Review URL: http://codereview.chromium.org/1102002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 12:15:24 +00:00
lrn@chromium.org
4db15f1235
Refactoring of RegExp interface to better support calling several times in a row.
...
Review URL: http://codereview.chromium.org/1114001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 12:01:17 +00:00
mikhail.naganov@gmail.com
9582645a02
Add basic C++ implementation of CPU profiler.
...
Review URL: http://codereview.chromium.org/1079006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 09:46:53 +00:00
ager@chromium.org
103db91e12
Add parens to DateYMDFromTimeSlow to clearify.
...
BUG=649
Review URL: http://codereview.chromium.org/1132002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 08:00:52 +00:00
fschneider@chromium.org
2726a4d4f9
Add debug code assertions where we expect smi inputs.
...
Review URL: http://codereview.chromium.org/998007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 07:43:03 +00:00
peter.rybin@gmail.com
f822f101a0
Show file name/line number in stack trace
...
Review URL: http://codereview.chromium.org/1002010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 22:15:54 +00:00
fschneider@chromium.org
ec974ddb50
Fix bug when generating a fast smi loop.
...
We may encounter an invalid frame after generating code
for the loop body in case the loop body ends in an unconditional
return. Before setting the type information for the loop variable
we need to check for a valid frame.
Review URL: http://codereview.chromium.org/1106002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 14:32:02 +00:00
floitschV8@gmail.com
9e84308722
Rename grisu to fast-dtoa. Get rid of template.
...
Review URL: http://codereview.chromium.org/1032007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 13:19:59 +00:00
oleg@chromium.org
825a5d741f
Improve Math.round(). Fix the bug in r4146. Further improve performance by checking the exponent instead of comparing doubles. Add several tests for numbers near the limits of SMI and several tests from WebKit.
...
Review URL: http://codereview.chromium.org/1008004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 13:00:57 +00:00
kaznacheev@chromium.org
c8a2735762
Porting binary op ICs to x64.
...
Review URL: http://codereview.chromium.org/845002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 11:54:53 +00:00
fschneider@chromium.org
c5ce8e47ef
Update number info for count operations.
...
If the input of a ++ or -- operation is a smi, the
result is an Integer32. Otherwise it is a number.
Review URL: http://codereview.chromium.org/1075004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 10:01:53 +00:00
vitalyr@chromium.org
494ba3a4c8
Fix windows build again: one more memchr call.
...
Review URL: http://codereview.chromium.org/1109001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 09:38:30 +00:00
vitalyr@chromium.org
c3972d21fb
Fix windows build.
...
On windows memchr returns const void* instead of void*.
Review URL: http://codereview.chromium.org/1074003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 09:27:15 +00:00
fschneider@chromium.org
34faea85db
Add test cases for fast smi loops.
...
Review URL: http://codereview.chromium.org/1014007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 09:08:24 +00:00
vitalyr@chromium.org
b148282b56
String search performance improvements:
...
* Using memchr for first/only char lookup is faster than hand-coded
loop. It processes one machine word per iteration so it helps even
more on x64.
* Tweaked badness computation in simple search. We pay only for the
first char memchr scans, not for all of them.
Review URL: http://codereview.chromium.org/1100002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 09:01:08 +00:00
fschneider@chromium.org
e090f46a55
Fix type propagation rules for count operation.
...
Also treat const-variables as not side-effect free.
Review URL: http://codereview.chromium.org/982009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 16:39:29 +00:00
floitschV8@gmail.com
74b4ad0e69
Fix arm compilation. DiyFp multiplications are now in a separate procedure.
...
Review URL: http://codereview.chromium.org/971006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 15:57:26 +00:00
antonm@chromium.org
6405be71b9
Reenable ability to Dispose already Disposed Vector.
...
Review URL: http://codereview.chromium.org/1016006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 15:15:45 +00:00
erik.corry@gmail.com
dda96b61c6
Fix formatting around * and &.
...
Review URL: http://codereview.chromium.org/1000007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 14:53:16 +00:00
antonm@chromium.org
c1597031bf
Properly release zero-length Vectors.
...
Review URL: http://codereview.chromium.org/987004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 14:42:01 +00:00
sgjesse@chromium.org
1963ffba99
Don't generate inline constructors if this.__proto__ is assigned.
...
BUG=http://code.google.com/p/v8/issues/detail?id=646
TEST=test/mjsunit/regress/regress-646.js
Review URL: http://codereview.chromium.org/1023008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 13:23:53 +00:00
mikhail.naganov@gmail.com
d2188658ca
Re-apply r4159 now with working test on x64
...
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/979005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 13:15:42 +00:00
fschneider@chromium.org
0f988248b2
Prepare push to trunk. Now working on version 2.1.7.
...
Review URL: http://codereview.chromium.org/974005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 13:08:58 +00:00
fschneider@chromium.org
9f318feb93
Revert r4159 because of x64 test failures.
...
Review URL: http://codereview.chromium.org/1049003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 13:04:07 +00:00
fschneider@chromium.org
3a958c3b39
Prepare push to trunk. Now working on version 2.1.6.
...
Review URL: http://codereview.chromium.org/1050002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 12:46:17 +00:00
whesse@chromium.org
64278854ba
Fix excessive stack usage by compiler due to local in recursive scope.
...
Review URL: http://codereview.chromium.org/1019006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 12:27:32 +00:00
mikhail.naganov@gmail.com
ce9298029d
Implement circular queues for the C++ version of CPU profiler.
...
Circular queues serve as a transport for communicating between
VM, stack sampler and analyzer threads. Logging requirements
for VM and stack sampler are completely different, that's why
I introduced two different versions of CQs.
Review URL: http://codereview.chromium.org/1047002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 12:25:10 +00:00
erik.corry@gmail.com
889cbe55b8
Fix a bug in the regexp caching. Also add a few more places to
...
cache. We now cache most of the places where Opera cache and
one or two where they do not cache for some reason. Since
these optimizations aren't necessarily useful on real code we
may remove them if and when the Dromaeo website makes the
benchmarks harder to game.
Review URL: http://codereview.chromium.org/995005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 10:23:06 +00:00
fschneider@chromium.org
38d6470fca
Revert r4146. Add a special case in Math.round for a SMI result. Also change the imp...
...
TBR=ager@chromium.org ,
Review URL: http://codereview.chromium.org/1042006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 09:58:28 +00:00
fschneider@chromium.org
3ca9367341
Fix bug in propagation of type information into registers.
...
The number type information of results has to be also copied when
calling ToRegister with a fixed register as destination.
Also fix an unbound label and a missing CpuFeatures scope.
Review URL: http://codereview.chromium.org/987003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 09:49:03 +00:00
antonm@chromium.org
4496250e51
Restore http://code.google.com/p/v8/source/detail?r=4151 fixing a typo:
...
index d545c34..91cb151 100644
--- a/src/builtins.cc
+++ b/src/builtins.cc
@@ -738,7 +738,7 @@ BUILTIN(ArrayConcat) {
int result_len = 0;
for (int i = 0; i < n_arguments; i++) {
Object* arg = args[i];
- if (!arg->IsJSArray() || JSArray::cast(arg)->HasFastElements()) {
+ if (!arg->IsJSArray() || !JSArray::cast(arg)->HasFastElements()) {
return CallJsBuiltin("ArrayConcat", args);
}
This reverts 4153.
# Please enter the commit message for your changes. Lines starting
Review URL: http://codereview.chromium.org/1055003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 09:40:54 +00:00
antonm@chromium.org
c7e21cc31b
Revert "More generic version of Array.concat builtin."
...
Review URL: http://codereview.chromium.org/1058003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 09:13:39 +00:00
kasperl@chromium.org
feefa06b35
Remove handle scope that caused debug mode assertion failures
...
because a handle was returned out of the destroyed scope.
Review URL: http://codereview.chromium.org/1029003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 08:53:21 +00:00
antonm@chromium.org
c8e795e3af
More generic version of Array.concat builtin.
...
Review URL: http://codereview.chromium.org/1036002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 08:30:07 +00:00
erik.corry@gmail.com
e1c486c313
Keep more track of whether code is from the built
...
in .js files in V8. This change gets bleeding edge
a tiny bit closer to the partial snapshots branch.
Review URL: http://codereview.chromium.org/1052003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 08:14:59 +00:00
peter.rybin@gmail.com
56c90bc0cf
Non-ASCII sybmols made their way into JS comments
...
Review URL: http://codereview.chromium.org/984005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-16 23:15:10 +00:00
whesse@chromium.org
4751f36492
Use untagged int32 values in evaluation of side-effect free expressions.
...
Review URL: http://codereview.chromium.org/975001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-16 16:07:19 +00:00
fschneider@chromium.org
9202e05016
Fix bug in the count operation where we statically know the input is a smi.
...
Even if we know that the input to a count operation is a smi we still need to check if the result overflowed (and becomes a heap number).
Also fix the smi loop analysis to take two border cases correctly into account.
Review URL: http://codereview.chromium.org/1040002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-16 16:03:40 +00:00
oleg@chromium.org
78f19f1ae9
Add a special case in Math.round for a SMI result. Also change the implementation for non-SMI case.
...
Review URL: http://codereview.chromium.org/981002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-16 13:23:41 +00:00
vitalyr@chromium.org
6a10a837c0
Add heuristic for flattening strings before comparing them.
...
Also switched to using CompareChars instead of memcmp since it's
faster than gcc's builtin and on par with msvc's builtin.
Review URL: http://codereview.chromium.org/991002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-16 12:30:04 +00:00
lrn@chromium.org
b2b2eb5792
Take ARM big-endian floating point numbers into account in FastD2UI.
...
Review URL: http://codereview.chromium.org/996004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-16 12:20:52 +00:00
kmillikin@chromium.org
4669473a7b
Propagate reaching definitions to the instuctions of a block.
...
After computing RD_in for all flow graph nodes, push the reaching
definitions through the basic blocks to annotate all variable
references in the AST.
Review URL: http://codereview.chromium.org/889003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-16 10:54:02 +00:00
lrn@chromium.org
ae9b1088f2
Fix, again, assertion so that it also compiles on Mac.
...
Review URL: http://codereview.chromium.org/993004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-16 10:38:17 +00:00
lrn@chromium.org
d5f9fd8548
Fix bad use of OffsetFrom that fails on ARM (sizeof(Object) wasn't 1).
...
Review URL: http://codereview.chromium.org/1043001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-16 09:56:06 +00:00
lrn@chromium.org
11dca3ae12
Fix build problem on arm compiler.
...
Review URL: http://codereview.chromium.org/975005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-16 09:10:11 +00:00
peter.rybin@gmail.com
ad876956c0
LiveEdit: patch positions in function
...
Review URL: http://codereview.chromium.org/914003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 21:06:51 +00:00
vegorov@chromium.org
ed53268006
Port of string plus smi optimization from ia32 to x64 and ARM.
...
Review URL: http://codereview.chromium.org/668254
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 17:11:08 +00:00
oleg@chromium.org
a46b65c4b9
Review URL: http://codereview.chromium.org/968001
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 17:04:07 +00:00
lrn@chromium.org
d8aed420a9
Converted String.prototype.split with string to C++.
...
Review URL: http://codereview.chromium.org/875001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 15:27:11 +00:00
antonm@chromium.org
14547ef434
Just grow elements if they happen to be at the edge of new space.
...
Review URL: http://codereview.chromium.org/945002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 15:16:04 +00:00
ricow@chromium.org
cf3219bc4e
Added fast case for shift operations when the left parameter is a double and we know that the right parameter is a smi.
...
Review URL: http://codereview.chromium.org/955001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 14:24:37 +00:00
mikhail.naganov@gmail.com
12d252eb81
Start migrating profiles processing to C++.
...
Adding code for maintaining (address -> name) mapping and building
call trees.
Review URL: http://codereview.chromium.org/910002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 14:11:19 +00:00
whesse@chromium.org
7abbd29826
Add static analysis to AST expressions that records whether a negative zero will be treated identically to a positive zero in the expression's context. Use this flag to avoid some tests in inlined smi code.
...
Review URL: http://codereview.chromium.org/965001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 14:03:36 +00:00
antonm@chromium.org
c2dc316138
Add Array.concat builtin for the most common case.
...
Review URL: http://codereview.chromium.org/954001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 10:52:38 +00:00
lrn@chromium.org
27c737bb73
Optimized Array.prototype.{lastIndexOf,indexOf} by special casing comparison to undefined.
...
Review URL: http://codereview.chromium.org/851008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 10:14:59 +00:00
vegorov@chromium.org
127c11193b
Prepare push of version 2.1.4 to trunk.
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/961001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 10:04:34 +00:00
antonm@chromium.org
dca7574e6e
Some cosmetic issues.
...
Review URL: http://codereview.chromium.org/903004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 18:27:31 +00:00
antonm@chromium.org
c9b9c431d4
Remove now obsolete comment.
...
Now builtins only process fast case when there is no need to lift elements from
the prototypes.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/890004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 16:54:35 +00:00
fschneider@chromium.org
ff03f6b36f
Only invoke reaching definitions if there are >0 variables and >0 definitions.
...
Review URL: http://codereview.chromium.org/885004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 15:01:05 +00:00
kmillikin@chromium.org
10e5690d32
Simple bugfix in reaching definitions.
...
We only track definitions of stack-allocated variables. Trying to
look up other variables in the environment is a bug.
Review URL: http://codereview.chromium.org/843006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 14:06:04 +00:00
antonm@chromium.org
7f1eda50cc
Implement a custom call compiler for Array.pop.
...
Review URL: http://codereview.chromium.org/870007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 13:45:31 +00:00
fschneider@chromium.org
d0908674fa
Fix bug in assigned variables analysis.
...
Property stores were not visited correctly by the visitor.
I fixed this issue by visiting property stores by visiting
receiver and key directly (and not calling visit on the lhs property
ast node)
Review URL: http://codereview.chromium.org/903003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 13:12:08 +00:00
kmillikin@chromium.org
ac896bb5a0
Add a predicate IsPrimitive to AST Expression nodes.
...
IsPrimitive reflects that an expression's value is known statically to
be one of the ECMA-262-3 JS types other than Object (e.g., Undefined,
Null, Boolean, String, or Number).
The type conversions ToPrimitive, ToNumber, ToInteger, ToInt32,
ToUInt32, ToUint16, ToString, or ToObject cannot invoke user code for
primitive input values. ToObject throws a TypeError if its input is
Undefined or Null.
Review URL: http://codereview.chromium.org/912002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 13:10:42 +00:00
oleg@chromium.org
5f75b01bb1
Rewrite the function that converts timestamp to year, month and day in C++.
...
Review URL: http://codereview.chromium.org/811006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 13:01:32 +00:00
kmillikin@chromium.org
4e5d347644
Fix presubmit error.
...
Single argument constructors should be marked explicit.
TBR=fschneider@chromium.org
Review URL: http://codereview.chromium.org/876005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 10:39:31 +00:00
kmillikin@chromium.org
e026813732
Compute reaching definitions.
...
Use the classical worklist algorithm to compute reaching definitions.
All nodes are initially put on the worklist. Until the worklist is
empty, nodes are removed, their RD_in is recomputed, and if it changes
their successors are added to the worklist.
Review URL: http://codereview.chromium.org/853004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 10:35:45 +00:00
fschneider@chromium.org
d896e4f6f2
Fix treatment of const variables in assigned variable analysis.
...
Const variables are not considered as trivial sub-expressions since
we have the check for the hole value as a side-effect.
Review URL: http://codereview.chromium.org/849003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 10:20:31 +00:00
sgjesse@chromium.org
16bfc31317
Fix issues with compiling V8 with LLVM Clang
...
Added this-> in some places where accessing a method on a templated base class.
Added #include <strings.h> for bit_cast, moved it to utils.h and renamed it to BitCast.
Patch by Evan Martin <evan@chromium.org>, see http://codereview.chromium.org/894001 and http://codereview.chromium.org/888003
Review URL: http://codereview.chromium.org/888005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 10:20:01 +00:00
whesse@chromium.org
44d0112b71
Add SSE2 instructions to disassembler and movmskpd SSE2 instruction to assembler.
...
Review URL: http://codereview.chromium.org/865002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 08:36:01 +00:00
ager@chromium.org
d6e08a41f6
Probe number dictionaries in generated code on ia32.
...
With my previous change to limit memory for object literals, we get more slow-case elements and this makes up for the slowdown when loading from those slow-case elements.
The most complicated part here is the computation of the integer hash code. We might want to simplify the integer hash function.
Review URL: http://codereview.chromium.org/857003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 08:21:10 +00:00
antonm@chromium.org
de070ccfa6
First take on custom call generators.
...
Review URL: http://codereview.chromium.org/669061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 16:24:31 +00:00
kmillikin@chromium.org
cb1f817f77
Initialize reaching definitions state for all flow graph nodes.
...
Reaching definitions in (RD_in) is initially empty for all nodes. Gen
and kill sets are computed. AST node numbers are used for nodes to
refer to their definition number.
Also: two small changes to flow graph printing. Children of branch
nodes are visited in right-to-left order when performing depth first
search. Instructions are numbered locally within blocks so as to not
destroy AST node number before printing (it's useful to print the
definition).
Review URL: http://codereview.chromium.org/876001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 16:24:05 +00:00
floitschV8@gmail.com
8814064337
Fast double-to-ascii conversion.
...
Review URL: http://codereview.chromium.org/866002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 14:49:35 +00:00
antonm@chromium.org
347f099c80
Minor refactorings to use some recently added methods.
...
Review URL: http://codereview.chromium.org/760002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 13:56:49 +00:00
antonm@chromium.org
21af2c360a
Reland 4068 which wrapped Array methods into native builtins (reverted in 4075).
...
Review URL: http://codereview.chromium.org/857002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 13:13:21 +00:00
sgjesse@chromium.org
7def7afc23
Fix compile of MIPS port
...
TBR=alexandre.rames@gmail.com
Review URL: http://codereview.chromium.org/870002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 10:56:49 +00:00
fschneider@chromium.org
463ab046fa
Fix a bug in smi loop analysis.
...
Add a missing null check that can hit when the for-loop index is
not a variable.
Review URL: http://codereview.chromium.org/840002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 10:37:29 +00:00
ager@chromium.org
ef371f3f24
Do not waste space for the fast-case elements backing storage for
...
object-literals with few elements but large element indices.
We can decide at parse time whether the created object literal should
have fast-case of slow-case elements.
Remove unused runtime function.
Review URL: http://codereview.chromium.org/805004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 10:34:29 +00:00
fschneider@chromium.org
7d933936d3
Fix assigned variables analysis.
...
This change fixes a bug with the arguments object that occurred with
r4087 and r4088. The fix is not marking the arguments variable as trivial
since it can have side effects.
Review URL: http://codereview.chromium.org/851002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 10:28:40 +00:00
sgjesse@chromium.org
8f76082701
Fix presubmit error
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/867002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 09:49:47 +00:00
mikhail.naganov@gmail.com
c413105da7
Make the assumption on the minimum buffer size for GetLogLines explicit.
...
Review URL: http://codereview.chromium.org/799008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 09:48:01 +00:00
sgjesse@chromium.org
e5f27966dc
Add fuzzing support for inline runtime functions
...
The inline runtime functions are now included in the fuzzing of the natives. The chack for the expected number of arguments passed have been moved to the parser which will generate a syntax error if a runtime function (either C++ or inline) is called with a different number of arguments than expected.
Review URL: http://codereview.chromium.org/573056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 09:27:12 +00:00
sgjesse@chromium.org
b0c9738f77
Fix code cache lookup for keyed IC's
...
For keyed IC's the name is not necessarily a string.
BUG=http://crbug.com/37853
TEST=test/mjsunit/regress/regress-crbug-37853.js
Review URL: http://codereview.chromium.org/872001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 08:52:31 +00:00
serya@chromium.org
4fd99d23cc
Math.abs rewrited to not use Runtime.
...
Review URL: http://codereview.chromium.org/799006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 08:31:15 +00:00
floitschV8@gmail.com
088afd03a6
Revert grisu commits.
...
Review URL: http://codereview.chromium.org/804005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 21:26:32 +00:00
floitschV8@gmail.com
c5eea7fee2
Fast algorithm for double->string conversion.
...
Review URL: http://codereview.chromium.org/619005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 20:49:14 +00:00
whesse@chromium.org
a77411bc70
Revert changes 4088 and 4087 to fix build.
...
Review URL: http://codereview.chromium.org/805005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 20:41:11 +00:00
fschneider@chromium.org
8117a9879b
Fix x64 and arm build.
...
Review URL: http://codereview.chromium.org/816003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 17:30:35 +00:00
fschneider@chromium.org
0143d707a6
Add an assigned variables analysis.
...
This change adds a pass over the AST that computes the
set of assigned variables for locals and parameters for each expression.
The result of this analysis is used to for two purposes:
1. Recognize variables that are trivial subexpressions. A left sub-expression
of a binary operation is trivial if it is a local variable or a parameter
and it is not assigned in the right sub-expression. In the case of a
trivial left sub-expression we evaluate the right first.
Currently only binary operations and compare operations are considered
when finding trivial left sub-expressions.
2. Recogize certain simple for-loops with a constant trip count where the loop
variable is always within smi range. If the loop count variable is not
assigned in the body of the loop (except in the update expression the
for-loop). This allows omitting smi checks on operation using the loop
count variable.
Review URL: http://codereview.chromium.org/669155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 17:19:22 +00:00
kmillikin@chromium.org
dd8a7e1bc6
Add defensive checks to the flow graph builder.
...
Visitor stack overflow is used to signal an unsupported construct in
the flow graph. Check for it in more places. Make the utility
functions for appending to graphs handle more cases if they can be
handled correctly.
Remove the entry node in favor of a block with a NULL predecessor as
single entry. Represent the empty flow graph as a single empty block.
Add empty blocks lazily where needed to preserve edge-split form.
Review URL: http://codereview.chromium.org/804003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 17:02:25 +00:00
kmillikin@chromium.org
d64008952a
Fix presubmit failure.
...
TBR=fschneider@chromium.org
Review URL: http://codereview.chromium.org/802003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 14:43:43 +00:00
kmillikin@chromium.org
174466d4da
Cut back the syntactic constructs handled by the flow graph builder.
...
While the flow graph is experimental, it's easier to be able to ignore
some problematic syntactic constructs. Reduce the ones that can occur
in constructed flow graphs.
Review URL: http://codereview.chromium.org/790004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 14:40:31 +00:00
erik.corry@gmail.com
f6df326714
Add 1-element caches to RegExp.exec and String.replace. We
...
probably want to remove this again if and when Dromaeo is
fixed so this strategy doesn't pay off.
Review URL: http://codereview.chromium.org/817001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 12:21:00 +00:00
sandholm@chromium.org
9e2c15e4af
Moved one check outside of the loop and moved another one under an if statement
...
Review URL: http://codereview.chromium.org/821001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 12:00:22 +00:00
lrn@chromium.org
e9484a07a3
Optimize fromCharCode for smi argument(s) case.
...
Review URL: http://codereview.chromium.org/778005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 11:13:02 +00:00
ager@chromium.org
5153477a3e
Prepare push of version 2.1.3 to trunk.
...
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/802002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 09:40:18 +00:00
ager@chromium.org
5fd33c7527
Revert change to always call builtins for Array functions.
...
It causes regressions on test shell tests.
TBR=antonm@chromium.org
Review URL: http://codereview.chromium.org/819001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 08:45:00 +00:00
kmillikin@chromium.org
b4c8b98894
Change BitVector class to be a zone object.
...
Change the BitVector utility class to allow allocation via 'new' in the
Zone. Change the backing store to be always zone-allocated.
Review URL: http://codereview.chromium.org/730001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 08:08:32 +00:00
peter.rybin@gmail.com
60fa408414
Remove tabs
...
Review URL: http://codereview.chromium.org/747002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 22:24:46 +00:00
peter.rybin@gmail.com
9c9451eff3
Check that function being patched has no activations on any thread stack
...
Review URL: http://codereview.chromium.org/668246
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 21:45:24 +00:00
antonm@chromium.org
52ec954dd2
Always invoke C++ ArrayPush builtin.
...
Now this builtin checks if it should go into fast case or resort to JS ArrayPush builtin.
Review URL: http://codereview.chromium.org/660298
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 15:43:04 +00:00
kasperl@chromium.org
c909e5b75f
Add a bit more room for type string when reporting heap
...
stats to make sure PRIVATE_EXTERNAL_ASCII_STRING_TYPE fits.
Review URL: http://codereview.chromium.org/726002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 14:43:01 +00:00
sgjesse@chromium.org
504664365d
Refactor the code cache to handle large number of properties on the global object (take 2).
...
A separate object type for the code cache have been added. This object has two different code caches. The first one (default_cache) is a fixed array organized in the same way as the as the code cache was before. The second cache (global_access_cache) is for code stubs to access the global object. This cache is organized as a hash table taking the property name and code flags as the key.
The reason for separating the global access stubs into a hash table representation is that the number of these is not bounded in the same was as the other types.
This is a remake of r3952 (http://codereview.chromium.org/652119 ) which have the additional ability to look for the index of code stubs for access to the global object.
BUG=http://code.google.com/p/v8/issues/detail?id=613
Review URL: http://codereview.chromium.org/717001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 10:49:41 +00:00
kmillikin@chromium.org
0c2885f83d
Add IsStackAllocated helper for variables.
...
Add a simple boolean helper function for Variables and Slots.
Review URL: http://codereview.chromium.org/722001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 10:39:18 +00:00
kmillikin@chromium.org
3c0a0ba1e4
Have the flow graph builder collect definitions.
...
Before computing reaching definitions, the set of all definitions in a
function must be collected and they must be numbered. Have the flow
graph builder collect definitions for stack-allocated variables into a
list, and implicitly number them with their list index.
Review URL: http://codereview.chromium.org/668257
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 09:56:19 +00:00
fschneider@chromium.org
cc9512f661
Add copy constructor and assignment operator to the BitVector class.
...
Review URL: http://codereview.chromium.org/668259
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 09:51:37 +00:00
kasperl@chromium.org
97f7484303
Experimental change to idle notifications: Try to limit the
...
interactions between idle notifications for background tabs
and the context disposal GCs even further.
Review URL: http://codereview.chromium.org/698003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 09:41:58 +00:00
sgjesse@chromium.org
800b6df2a6
Correct handling of adding a string and a smal integer
...
The fast case of looking up the string convertion of the smi did not handle the case where left/reghe operands could be in eax/edx instead of edx/eax which is the default.
Also got rid of creating an internal frame for calling string and instead patched the argument on the stack and performed a tail call.
BUG=http://code.google.com/p/v8/issues/detail?id=636
TEST=test/mjsunit/regress/regress-636.js
Review URL: http://codereview.chromium.org/720001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 09:40:35 +00:00
ricow@chromium.org
2fa30a8e34
Added zone-inl.h to jsregexp.h since it relies on calling new ZoneList which again relies on calling the static new method on Zone (defined in zone-inl.h but declared in zone.h).
...
Review URL: http://codereview.chromium.org/719001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 09:15:28 +00:00
kmillikin@chromium.org
3817a7ba6e
Small simplification of #include dependencies.
...
Remove messages.h from v8.h and include it explicitly in only the few places
it is needed. Many files relied on getting handles-inl.h implicitly from
messages.h through v8.h, so include handles-inl.h explicitly in v8.h
instead.
Remove zone-inl.h from header files where it is not needed, can be replaced
by a forward declaration, or can be replaced by zone.h (specifically,
factory.h and heap.h). Include zone.h or zone-inl.h in header files where
it was implicitly included via heap.h or factory.h. Prefer zone.h over
zone-inl.h in header files where possible by including zone-inl.h in .cc
files.
Review URL: http://codereview.chromium.org/668248
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 06:38:33 +00:00
whesse@chromium.org
b1bac8ce4f
Fix typographical error in comment in r4056
...
Review URL: http://codereview.chromium.org/668258
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-08 16:01:40 +00:00
whesse@chromium.org
3dbefbedef
Add AST analysis that flags expressions that will have ToInt32 applied to them.
...
Simplify AST analysis of side-effect-free int32 expressions.
Review URL: http://codereview.chromium.org/668256
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-08 15:28:57 +00:00
ricow@chromium.org
b4e0375e96
Added sqrt and pow for arm and x64 - to fix build failures.
...
Review URL: http://codereview.chromium.org/669272
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-08 13:49:23 +00:00
ricow@chromium.org
b60eba5fc5
Inline Math.sqrt().
...
Also changed name of GeneratePow and the %_ call name to follow convention based on MathSin and MathCos. Moved GeneratePow down to the other methods.
Review URL: http://codereview.chromium.org/661179
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-08 13:23:54 +00:00
kmillikin@chromium.org
d2fbf9436e
Fix presubmit failure (line longer than 80 characters).
...
TBR=fschneider@chromium.org
Review URL: http://codereview.chromium.org/669271
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-08 13:04:09 +00:00
kmillikin@chromium.org
bce8d2ebae
Remove unneeded variable usage analysis.
...
A variable usage analysis pass was run on toplevel and lazily-compiled
code but never used. Remove this pass and the data structures it
builds.
The representation of variable usage for Variables has been changed
from a struct containing a (weighted) count of reads and writes to a
simple flag. VariableProxies are always used, as before. The unused
"object uses" is removed.
Review URL: http://codereview.chromium.org/669270
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-08 13:01:24 +00:00
kmillikin@chromium.org
8528d650d8
Initial implementation of an edge-labeled instruction flow graph.
...
The flow graph is built by walking the AST. Edges are labeled with
instructions (AST nodes). Normal nodes have a single predecessor edge and a
single (labeled) successor edge. Branch nodes are explicit, they have a
single predecessor edge and a pair of (unlabeled) successor edges. Merge
nodes are explicit, they have a pair of predecessor edges and a single
(unlabeled) successor edge.
There is a distinguished (normal) entry node and a distinguished (special)
exit node with arbitrarily many predecessor edges and no successor edges.
The graph is intended to support graph-based analysis and transformation.
Review URL: http://codereview.chromium.org/660449
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-08 12:53:11 +00:00
vegorov@chromium.org
6b47d26217
Port of changes from r3842 (symbol table probing for two character strings) to x64 and arm
...
Review URL: http://codereview.chromium.org/661469
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-08 11:58:33 +00:00
kasperl@chromium.org
95964bd95f
Let the callers of V8::ContextDisposedNoticication() know
...
how many pending context disposals there are.
Review URL: http://codereview.chromium.org/669266
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-08 11:19:20 +00:00
erik.corry@gmail.com
9fd33e74f5
Speed up no-capture case for RegExp.exec().
...
Review URL: http://codereview.chromium.org/669161
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-08 08:49:14 +00:00
peter.rybin@gmail.com
a934eb1523
Quick fix for r4045
...
Review URL: http://codereview.chromium.org/668203
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-06 01:21:34 +00:00
erik.corry@gmail.com
00a44ae51a
Make more use of the NumberInfo data.
...
Makes NumberInfo into a real class.
Fix bug where NumberInfo was lost in ToRegister.
Allow 17 bits in safe Smis instead of 16.
Review URL: http://codereview.chromium.org/668151
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 23:54:13 +00:00
peter.rybin@gmail.com
77d63cc29e
Basic implementation of liveedit feature
...
Review URL: http://codereview.chromium.org/652027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 22:08:58 +00:00
antonm@chromium.org
85632fca35
Explicitly release allocated memory as Vector doesn't do that in dtor.
...
Review URL: http://codereview.chromium.org/669164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 16:46:39 +00:00
antonm@chromium.org
1bc04768a9
An attempt to fix the tests.
...
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/669162
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 15:07:53 +00:00
sgjesse@chromium.org
df4471c8f3
Fix stack tweaking in array allocation
...
When Array(0) or new Array(0) is handled by the generated code it is handled
by the same code as Array() and new Array(). For this to work the stack is
tweaked to remove the argument of value 0. However the argc was still passed
as 1 if a call to the runtime system was made.
When the stack is tweaked argc is also changed to 0.
BUG=634
TEST=test/mjsunittest/mjsunit/regress/regress-634.js
Review URL: http://codereview.chromium.org/668155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 13:43:53 +00:00
kasperl@chromium.org
b83ca84d8f
Revert r4029.
...
Review URL: http://codereview.chromium.org/668153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 13:35:59 +00:00
vitalyr@chromium.org
48cc7ed3b0
Fixed filling of char array in StringToArray.
...
Review URL: http://codereview.chromium.org/669159
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 13:33:33 +00:00
vitalyr@chromium.org
9ce2f728d5
Removed dangerous Factory::NewUninitializedFixedArray.
...
This was used in runtime StringToArray function which I simplified
keeping its performance for ascii strings.
Review URL: http://codereview.chromium.org/669156
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 12:30:59 +00:00
antonm@chromium.org
8c2c7fde17
Fixing style of variable names.
...
Review URL: http://codereview.chromium.org/668149
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 11:19:37 +00:00
kasperl@chromium.org
503c7ee70e
Try to let the context disposal GC at idle time have less
...
impact on the normal idle notification scheme by making sure
we do not restart the idle GC sequence just because of a
forced GC due to context disposal.
Review URL: http://codereview.chromium.org/669150
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 08:58:59 +00:00
kasperl@chromium.org
95795db1f5
Try to allow the new context disposal GC heuristic to kick
...
in even when running with --expose-gc.
Review URL: http://codereview.chromium.org/668143
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 07:35:06 +00:00
antonm@chromium.org
61d2ebde63
Fix invalid fast return in splice when returned array is empty.
...
TBR=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/669101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 22:16:58 +00:00
antonm@chromium.org
56eb46e096
Fix a special case (zero length result array).
...
Review URL: http://codereview.chromium.org/669075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 21:29:33 +00:00
vitalyr@chromium.org
05a74e8131
Add runtime function for string to array conversion.
...
Review URL: http://codereview.chromium.org/669060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 14:03:08 +00:00
kasperl@chromium.org
8c086c50dd
Try to fix issue 632 by being more careful in the locking/unlocking
...
in the test-log/ProfMultipleThreads.
Review URL: http://codereview.chromium.org/669058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 13:25:23 +00:00
ricow@chromium.org
d3cf6cbf75
Added new ia32 assembler instructions to the diassembler from Math.pow inline implementation.
...
Review URL: http://codereview.chromium.org/668056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 12:51:49 +00:00
mikhail.naganov@gmail.com
6df83af604
[Linux] Patch LogSharedLibraryAddresses to work correctly on Android.
...
On 'usual' Linux systems in '/proc/self/maps' we encounter two entries
per library: one has 'rw-p' attrs and the other has 'r-xp'. While on
Android, I see 'rwxp' and 'r-xp' (both entries are marked executable.)
So I've added an explicit check for non-writability to leave only a
single record in the log file.
Review URL: http://codereview.chromium.org/661467
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 12:32:47 +00:00
mikhail.naganov@gmail.com
af3fc27613
Assign to "sample.state" before reading it.
...
I noticed a funny thing: in StackTracer::Trace "sample.state" is
checked, but it is only assigned after the check. I've put assignment
before the check.
Review URL: http://codereview.chromium.org/660452
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 12:32:03 +00:00
ager@chromium.org
fe3b875577
Add IsExecutionTerminating api method.
...
IsExecutionTerminating returns true if a termination exception is
currently being propagated. C++ code should not reenter V8 when
IsExecutionTerminating returns true.
Review URL: http://codereview.chromium.org/668052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 12:13:04 +00:00
bak@chromium.org
9f85caeb2d
- Fixed the compilation cache so Put works.
...
- Cleaned up the calls to HashTable::Allocate.
Review URL: http://codereview.chromium.org/669057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 11:27:28 +00:00
iposva@chromium.org
7e163d2552
- Rearrange fields in SharedFunctionInfo.
...
Review URL: http://codereview.chromium.org/669051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 09:55:04 +00:00
whesse@chromium.org
f4190f9876
Change heap sort of descriptor array to bottom-up.
...
Review URL: http://codereview.chromium.org/661470
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 09:27:45 +00:00
kasperl@chromium.org
5cee8eeb3d
Nasty workaround for bug 632.
...
Review URL: http://codereview.chromium.org/669045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 07:43:05 +00:00
vitalyr@chromium.org
6e32048eda
Fast case conversion for ascii strings.
...
Review URL: http://codereview.chromium.org/660455
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 16:40:29 +00:00
bak@chromium.org
1334adbd40
- Changed the initial size for HashTable.
...
- Pretenured large expanding hash tables.
Review URL: http://codereview.chromium.org/661468
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 16:22:17 +00:00
oleg@chromium.org
d49a5db0a4
Fix broken test in WebKit test suite and add the test in question to V8 tests.
...
Review URL: http://codereview.chromium.org/661466
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 14:19:04 +00:00
lrn@chromium.org
d51f2c96cb
Added implementation if Uint32::Value.
...
Review URL: http://codereview.chromium.org/661275
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 13:44:20 +00:00
sgjesse@chromium.org
fca7b2cefa
Refactor the scanner interface
...
No need to create sub strings for lazy compiles. The scanner will start from the start position provided.
Moved the creating of character streams into the scanner where possible. This uses a input buffer in the scanner class instead of a stack allocated one.
Added a UTF16 buffer for reading external ascii strings (by templating the external two byte string one) as all the source for the builtins are exposed as external ascii strings.
Review URL: http://codereview.chromium.org/661367
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 13:16:10 +00:00
fschneider@chromium.org
b0e9a9203f
Remove a duplicated move instruction for store IC calls on ia32.
...
Review URL: http://codereview.chromium.org/661461
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 11:43:45 +00:00
kasperl@chromium.org
c309a63369
Remove the deprecated context disposal GC heuristic.
...
Review URL: http://codereview.chromium.org/661458
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 11:41:22 +00:00
vitalyr@chromium.org
9f681fa9d6
Small API improvements:
...
* Added Get and Set taking uint32_t for faster and more convenient
access to elements.
* Added less verbose casting for handles. Now instead of
v8::Local<v8::String>::Cast(args[0])
one can write
args[0].As<v8::String>().
Review URL: http://codereview.chromium.org/660243
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 18:47:03 +00:00
oleg@chromium.org
99e67e0e77
Prevent "control reaches end of non-void function" warning from gcc on Mac.
...
Review URL: http://codereview.chromium.org/660379
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 14:44:01 +00:00
oleg@chromium.org
96ff21c703
Fix minor syntax error which broke the compilation.
...
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/660377
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 14:32:31 +00:00
oleg@chromium.org
5e0763efd5
Revert change to EquivalentTime in date.js. The checks that I've removed in the last changed were essential after all.
...
Review URL: http://codereview.chromium.org/660375
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 14:19:34 +00:00
whesse@chromium.org
7657955f3f
Add syntax checker for side-effect-free expressions to AstOptimizer in rewriter.cc. Add bit fields for syntax checker results to Expression in ast.h.
...
Review URL: http://codereview.chromium.org/660372
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 14:00:59 +00:00
oleg@chromium.org
b021997f81
Rewrite MakeDay function from JS to C++.
...
Review URL: http://codereview.chromium.org/661366
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 13:29:26 +00:00
antonm@chromium.org
bfe1f02c3f
Add cld before doing rep movs.
...
Review URL: http://codereview.chromium.org/661368
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 13:22:04 +00:00
antonm@chromium.org
38acad676a
Faster filling newly allocated arrays with the holes from the Array construction stub.
...
Review URL: http://codereview.chromium.org/661245
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 12:42:15 +00:00
bak@chromium.org
6bee49ddda
- Changed the growth policy for hash tables to reduce the wasted memory.
...
Now we fill hashtables 75% before expanding.
Review URL: http://codereview.chromium.org/660373
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 12:27:11 +00:00
sgjesse@chromium.org
d960bd2c4b
Re-introduce this as a trivial expression
...
The reverts r3939 as it turned out not be the root cause for the regression http://crbug.com/36604 .
Review URL: http://codereview.chromium.org/661365
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 11:58:10 +00:00
erik.corry@gmail.com
c2106c13fc
Allow snapshots built without -DANDROID to work on Android.
...
Fix bug in fast code generator on ARM (can't use ip as scratch
in RecordWrite).
Activate normal-sized compilation cache on Android.
This is a port of 3938 from the partial snapshots branch.
Review URL: http://codereview.chromium.org/652227
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 11:54:11 +00:00
fschneider@chromium.org
5183607d81
Implementation of a fixed-size bit vector.
...
This is a basic implementation bit vector containing an fixed
arbitrary number of bits.
Review URL: http://codereview.chromium.org/660321
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 10:43:46 +00:00
mikhail.naganov@gmail.com
16b34b8c6e
Parametrize C++ splay tree with allocator.
...
Thus, now there is a "generic" SplayTree and its Zone-bound
specialization ZoneSplayTree.
This is needed for my reimplementation of profiler tree generation in
C++. As generation is performed in a separate thread, Zone can't be
used, because it intentionally not thread-safe.
Review URL: http://codereview.chromium.org/660280
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 10:03:38 +00:00
peter.rybin@gmail.com
aec90d099e
Enable GC update for pointers in GenerateKeyedLoadICDebugBreak
...
Review URL: http://codereview.chromium.org/660257
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 17:26:46 +00:00
kaznacheev@chromium.org
7d58852374
Implementing inline caches for binary operations (ia32).
...
This is a subset of a CL reviewed earlier(http://codereview.chromium.org/551093 ).
The register usage optimisation part has been reviewed and submitted separately.
Two fast cases supported: HeapNumber operands and String operands for ADD.
Review URL: http://codereview.chromium.org/553117
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 16:24:05 +00:00
antonm@chromium.org
d4cb1ba3c5
Faster moving FixedArray elements around.
...
Review URL: http://codereview.chromium.org/660245
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 15:33:30 +00:00
mikhail.naganov@gmail.com
b7f0608c9a
Logging-related changes.
...
- when logging 'open-tag' / 'close-tag' events, don't depend on
FLAG_log (as it may be not enabled, e.g. in Chromium);
- PauseProfiler / ResumeProfiler were supposing that they
use 'is_logging_' var exclusively, thus preventing any
other logging that may be turned on for diagnostic purposes.
Review URL: http://codereview.chromium.org/661246
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 10:41:34 +00:00
kasperl@chromium.org
a60beefd1b
Tweak the new context disposal GC heuristic to cleanly separate
...
it from the old heuristic (disabled if the new notications are
used) and make sure to not force a GC if one has already happened
after V8 received the last context disposal notification.
Review URL: http://codereview.chromium.org/660267
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 08:49:33 +00:00
whesse@chromium.org
09e3bac689
Move definitions of named registers as constant structures to assembler-arm.h file.
...
Review URL: http://codereview.chromium.org/660256
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 08:34:09 +00:00
sgjesse@chromium.org
dee0b9d636
Update MIPS port to support recent changes
...
This lands http://codereview.chromium.org/660244 .
Patch by Alexandre Rames from Sigma Designs Inc.
Review URL: http://codereview.chromium.org/661268
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 08:32:54 +00:00
kasperl@chromium.org
9f2f6f4022
Count GlobalHandles::PostGarbageCollectionProcessing() as being
...
in external code so it's visible when running with --trace-gc.
Landed on behalf of James Robinson (jamesr@chromium.org ).
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 07:04:42 +00:00
vitalyr@chromium.org
dd7b55eb9f
Implemented one-char cache lookup in generated code.
...
This speeds up string,charAt(n) and string[n].
Review URL: http://codereview.chromium.org/660184
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 20:14:20 +00:00
antonm@chromium.org
0c77912aaf
Return length passed instead of receiver to allow chained assignments like
...
foo = a.length = 7
BUG=crbug.com/36854
Review URL: http://codereview.chromium.org/660174
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 16:12:39 +00:00
ager@chromium.org
b299c61976
Add missing error message for calling functions on incompatible receivers.
...
Review URL: http://codereview.chromium.org/660178
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 15:46:57 +00:00
antonm@chromium.org
3051ba1a5b
Faster filling of arrays of holes.
...
Review URL: http://codereview.chromium.org/661105
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 15:19:13 +00:00
bak@chromium.org
4766a592ce
- Pushed source code for functions into old space.
...
- Renamed TryFlattenIfNotFlat to TryFlatten.
Review URL: http://codereview.chromium.org/661181
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 14:37:33 +00:00
fschneider@chromium.org
1d330492af
Make another small virtual frame function inlined.
...
Move a constructor to the platform-independent -inl.h file.
Review URL: http://codereview.chromium.org/660175
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 14:02:29 +00:00
ricow@chromium.org
46440e6f77
Moved initialization of xmm3 making sure it is initialized on all paths in GeneratePow - solves the sputnik failure on mac.
...
Review URL: http://codereview.chromium.org/661177
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 12:28:25 +00:00
bak@chromium.org
0e0594dcbc
Removed space to please lint.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 12:00:10 +00:00
kasperl@chromium.org
4abae7a728
Add an explicit API entry to notify V8 that one or more
...
contexts have been disposed.
Review URL: http://codereview.chromium.org/661173
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 11:51:33 +00:00
bak@chromium.org
0adf83b10d
- Moved the computation of old space limits to after the mandatory scavenge.
...
This reduces the number of mark sweep operations.
Review URL: http://codereview.chromium.org/661175
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 11:48:18 +00:00
ricow@chromium.org
def4980625
Changed GeneratePow ensure xmm1 is loaded with y before making the test for NaN
...
Review URL: http://codereview.chromium.org/660172
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 11:09:06 +00:00
ricow@chromium.org
496868722f
Added fast support for Math.pow. This simply calculates the result using the
...
same method as the old powi version in runtime.cc and also checks if
the exponent is 0.5 or -0.5 in which case we calculate the square root or
reciprocal value of the square root.
Review URL: http://codereview.chromium.org/660072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 10:24:58 +00:00
fschneider@chromium.org
893637a057
Inlining a few virtual frame functions.
...
Introducing a virtual-frame-inl.h file containing some platform-independent
virtual frame function which are small enough to be inlined.
Removed unnecessary #include of virtual-frame.h from register-allocator-inl.h
and added the necessary explicit includes in a number of files.
Review URL: http://codereview.chromium.org/660104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 09:32:48 +00:00
kasperl@chromium.org
57f47e704f
Add information about time spent in external callback to
...
traces produces with --trace-gc.
Review URL: http://codereview.chromium.org/661170
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 08:27:20 +00:00
ager@chromium.org
d2061c07c8
Fix presubmit error.
...
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/661090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 18:26:36 +00:00
ager@chromium.org
4a9d4b7bd5
Fix the mac debug build. Apparently g++ on Mac cannot figure out that there
...
is a return in each branch of an if-else.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/661088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 18:19:12 +00:00
whesse@chromium.org
a3a3a1f0be
Change KeyedStoreIC interface to take value, key, and receiver in registers.
...
Review URL: http://codereview.chromium.org/608031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 18:04:25 +00:00
oleg@chromium.org
a6940ef0a8
Optimize three Number2Integer functions in runtime.cc: remove the check that was already done in JavaScript, add simpler code in case we are getting a SMI
...
result.
Code review: http://codereview.chromium.org/660084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 16:46:37 +00:00
sgjesse@chromium.org
05ae9effa3
Revert r3952
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/660086
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 15:43:27 +00:00
sgjesse@chromium.org
8398287070
Refactor the code cache to handle large number of properties on the global object.
...
A separate object type for the code cache have been added. This object has two different code caches. The first one (default_cache) is a fixed array organized in the same way as the as the code cache was before. The second cache (global_access_cache) is for code stubs to access the global object. This cache is organized as a hash table taking the property name and code flags as the key.
The reason for separating the global access stubs into a hash table representation is that the number of these is not bounded in the same was as the other types.
BUG=613
Review URL: http://codereview.chromium.org/652119
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 14:24:44 +00:00
serya@chromium.org
164daeda7a
Adding 'static const' for arg numbers used with CallCFunction.
...
Review URL: http://codereview.chromium.org/660078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 13:06:05 +00:00
vitalyr@chromium.org
945673574e
Improve string runtime compare performance for flat strings.
...
Review URL: http://codereview.chromium.org/650058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 12:49:23 +00:00
lrn@chromium.org
024faf1105
Fix test for overflow in memory allocation Failure payload.
...
It bailed out too early, and could give a DEBUG assertion failure due
to right shift being artihmetic. Changed values to unsigned to be safe.
Review URL: http://codereview.chromium.org/661076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 12:28:35 +00:00
serya@chromium.org
2c872c26fd
AllignFrame/CallCFuntion moved from regexp-macro-assembler-ia32 to macro-assembler-ia32 (like in x64 version).
...
Review URL: http://codereview.chromium.org/657080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-25 12:18:55 +00:00